ম্যাজেন্টো 2: চেকআউটে রাস্তার ক্ষেত্রগুলিতে স্থানধারক পাঠ্য কীভাবে যুক্ত করবেন?


10

ব্যাক-এন্ডে আমি রাস্তার ঠিকানাটিতে 3 টি লাইন রেখেছি।

আমি প্রতিটি ক্ষেত্রে একটি পৃথক স্থানধারক রাখতে চাই:

  • রাস্তা
  • বিল্ডিং / অ্যাপার্টমেন্ট
  • ফোন

এইভাবে ব্যবহারকারী আরও কাঠামোগত উপায়ে ডেটা প্রবেশ করতে পারেন।

একটি অনুরূপ প্রশ্ন এখানে পাওয়া যাবে:

ম্যাজেন্টো 2 - লেআউট এক্সএমএল / ইউআই যুক্তি সহ চেকআউট ফর্মগুলিতে রাস্তার ঠিকানা কীভাবে প্রভাবিত করবেন affect

তবে উত্তরগুলি রাস্তার ঠিকানা ক্ষেত্রগুলিতে স্থানধারীদের অন্তর্ভুক্ত করার জন্য কোনও সমাধান সরবরাহ করে না

আমি যা অর্জন করতে চাই তা প্রতিটি রাস্তার ঠিকানা ক্ষেত্রের জন্য পৃথক স্থানধারক সেট করে ।

আমার কোড:

অ্যাপ্লিকেশন / কোড / জেএসপি / স্থানধারক / ইত্যাদি / মডিউল.এক্সএমএল:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
  <module name="Jsp_Placeholder" setup_version="2.0.0" />
</config>

অ্যাপ্লিকেশন / কোড / জেএসপি / প্লেসহোল্ডার / রেজিস্ট্রেশন.এফপি:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
  \Magento\Framework\Component\ComponentRegistrar::MODULE,
  'Jsp_Placeholder',
  __DIR__
);

অ্যাপ্লিকেশন / কোড / জেএসপি / স্থানধারক / ইত্যাদি / di.xML:

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  <type name="Magento\Checkout\Block\Checkout\AttributeMerger">
    <plugin name="shippingAddress" type="Jsp\Placeholder\Plugin\Checkout\Block\Checkout\AttributeMerger\Plugin"/>
  </type>
</config>

অ্যাপ্লিকেশন / কোড / জেএসপি / প্লেসহোল্ডার / প্লাগইন / চেকআউট / ব্লক / চেকআউট / অ্যাট্রিবিউটমার্জার / প্লাগইন.এফপি:

<?php
namespace Jsp\Placeholder\Plugin\Checkout\Block\Checkout\AttributeMerger;
class Plugin {
  public function afterMerge(\Magento\Checkout\Block\Checkout\AttributeMerger $subject, $result)
  {
    if (array_key_exists('street', $result)) {
      $result['street']['children'][0]['placeholder'] = __('Calle y número exterior');
      $result['street']['children'][1]['placeholder'] = __('Interior / Edificio / Depto.');
      $result['street']['children'][2]['placeholder'] = __('Colonia');
    }
    return $result;
  }
}

এই মডিউলটি যুক্ত করার পরে আপনি এই পদক্ষেপগুলি করেছেন: 1. মডিউল সক্ষম করুন: সুডো বিন / ম্যাজেন্টো মডিউল: জেএসপি_প্লেসোল্ডার সক্ষম করুন 2. আপগ্রেড সেটআপ: সুডো বিন / ম্যাজেন্টো সেটআপ: আপগ্রেড 3. সংকলন সেটআপ: সুডো বিন / ম্যাজেন্টো সেটআপ: ডি: সংকলন করুন আপনি এই সব কি?
আশীষ জাগানানী

এই কোডটি ম্যাজেন্টো ২
আশীষ জাগানানী

উত্তর:


14

আপনার যে কোনও কাস্টম মডিউলে এই ফাইলটি যুক্ত করুন:

অ্যাপ্লিকেশন / কোড / বিক্রেতা / moduleName জন্য / etc / module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
  <module name="Vendor_ModuleName" setup_version="2.0.0" />
</config>

অ্যাপ্লিকেশন / কোড / বিক্রেতা / moduleName / registration.php

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
  \Magento\Framework\Component\ComponentRegistrar::MODULE,
  'Vendor_ModuleName',
  __DIR__
);

অ্যাপ্লিকেশন / কোড / বিক্রেতা / moduleName জন্য / etc / di.xml

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  <type name="Magento\Checkout\Block\Checkout\AttributeMerger">
    <plugin name="shippingAddress" type="Vendor\ModuleName\Plugin\Checkout\Block\Checkout\AttributeMerger\Plugin"/>
  </type>
</config>

বিক্রেতার \ moduleName \ প্লাগইন \ চেকআউট \ ব্লক \ চেকআউট \ AttributeMerger \ Plugin.php

<?php
namespace Vendor\ModuleName\Plugin\Checkout\Block\Checkout\AttributeMerger;

class Plugin
{
  public function afterMerge(\Magento\Checkout\Block\Checkout\AttributeMerger $subject, $result)
  {
    if (array_key_exists('street', $result)) {
      $result['street']['children'][0]['placeholder'] = __('Flat No/House No/Building No');
      $result['street']['children'][1]['placeholder'] = __('Street Address');
      $result['street']['children'][2]['placeholder'] = __('Landmark');
    }

    return $result;
  }
}

আমি di.xmlফাইলটি কোথায় যুক্ত করব ? আমার কোনও কাস্টম মডিউল নেই
লুইস গার্সিয়া

আমার আপডেট উত্তর চেক করুন।
আশীষ জাগানানী

ধন্যবাদ, আমি আপনার নির্দেশাবলী অনুসরণ করে মডিউলটি তৈরি করেছি তবে স্থানধারকরা এখনও প্রদর্শিত হবে না। মডিউলটি সক্ষম, আমি ক্যাশে পরিষ্কার করি, এবং সেটআপ চালাই: আপগ্রেড করি। ভুল হতে পারে কি কোন ধারণা আছে?
লুইস গার্সিয়া

আপনি কী চেষ্টা করেছেন তা আপনার প্রশ্নের মধ্যে মডিউলের সমস্ত ফাইলের সঠিক কোডটি লিখুন।
আশীষ জগনানি

আমি চেষ্টা করেছি কোডটি দিয়ে আমার প্রশ্নটি কেবল আপডেট করেছি
লুইস গার্সিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.