ম্যাজেন্টো 2: নিবন্ধীকরণ ফর্মের ঠিকানা ক্ষেত্রটি কীভাবে প্রদর্শিত করবেন?


14

আমি গ্রাহক নিবন্ধকরণ ফর্মের ঠিকানা ক্ষেত্রগুলি (ডিফল্ট বিলিং ঠিকানা সংরক্ষণ করতে) প্রদর্শন করতে চাই। আমি জানি ম্যাজেন্টো ১-এ কী করতে হবে তবে আমি ম্যাজেন্টো ২-এর সাথে আঘাত পেয়েছি 2 আগে কেউ কি এই কাজ করেছে ..?

ম্যাজেন্টো 1 এর মতো কোনও এক্সএমএল ফাইল আপডেট,

<customer_account_create>
    <reference name="customer_form_register">
        <action method="setData"><key>show_address_fields</key><value>1</value></action>
    </reference>
</customer_account_create>

আপনাকে আপনার পর্যবেক্ষকের মাধ্যমে ঠিকানা ডেটা বাছাই করতে হবে এবং নিজেই বিলিং ঠিকানা রেকর্ড তৈরি করতে হবে। কেন প্রস্তুত এক্সটেনশন ব্যবহার করবেন না? উদাহরণস্বরূপ, itoris.com/...
নিকো

@ ইলাভরাছন, আপনি কি সমাধান খুঁজে পেয়েছেন? যদি হ্যাঁ তবে এখানে পোস্ট করুন। এটি অন্যের জন্য উপকারী হতে পারে।
বোজ্জাইয়া

উত্তর:


21

উদাহরণ প্রদর্শন ঠিকানা ব্যবহার করে ক্ষেত্র customer_account_create.xml :

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="customer_form_register">
            <arguments>
                <argument name="show_address_fields" xsi:type="boolean">true</argument>
            </arguments>
        </referenceBlock>
    </body>
</page>

আপনি কি জানেন যে কীভাবে এটি সাম্প্রতিক প্রকাশে ম্যাজেন্টোতে প্রকাশিত হবে (v2.3.4)? আমি অতীতে আপনার পরামর্শের অনুরূপ পদ্ধতি ব্যবহার করেছি এবং তারা সর্বদা 2.3.3 প্রকাশ না হওয়া পর্যন্ত কাজ করেছে।
কার্ল স্টিফেন্স

4

আপনার কাস্টম থিমটিতে এই ফাইলটি তৈরি করুন:

app/design/frontend/YOUR_PACKAGE/YOUR_THEME/Magento_Customer/layout/customer_account_create.xml

সুতরাং, আপনাকে সেই নমুনার মতো সত্যের মতো সেটশো অ্যাড্রেসফিল্ডস নামে অ্যাকশন পদ্ধতিটি সেট করতে হবে :

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="customer_form_register">
            <action method="setShowAddressFields">
                <argument name="show.address.fields" xsi:type="boolean">true</argument>
            </action>
        </referenceBlock>
    </body>
</page>

1

হাই হাই প্রথমে ম্যাজেন্টো রুট ফোল্ডারটি সন্ধান করুন তারপরে বিক্রেতা \ ম্যাজেন্টো \ মডিউল-গ্রাহক \ দর্শন on সীমান্ত \ বিন্যাস গ্রাহক_একউন্ট_ক্রিয়েট.এক্সএমএল তারপর 13 নং লাইনে যান এবং এই কোডটি পরীক্ষা করে 17 নং লাইনে বিলো বিভাগটি রাখুন

<referenceContainer name="content">
            <block class="Magento\Customer\Block\Form\Register" name="customer_form_register" template="form/register.phtml">
                <container name="form.additional.info" as="form_additional_info"/>
                <container name="customer.form.register.fields.before" as="form_fields_before" label="Form Fields Before" htmlTag="div" htmlClass="customer-form-before"/>
                <action method="setShowAddressFields">
                    <argument name="show.address.fields" xsi:type="boolean">true</argument>
                </action>
            </block>
            <block class="Magento\Cookie\Block\RequireCookie" name="require-cookie" template="Magento_Cookie::require_cookie.phtml">
                <arguments>
                    <argument name="triggers" xsi:type="array">
                        <item name="registerSubmitButton" xsi:type="string">.action.submit</item>
                    </argument>
                </arguments>
            </block>
        </referenceContainer>

শুধুমাত্র এই বিভাগটি ব্যবহার করুন

<action method="setShowAddressFields">
                        <argument name="show.address.fields" xsi:type="boolean">true</argument>
                    </action>

1

কখনও বিক্রেতার ফাইল সম্পাদনা করবেন না !!

এটি আপনার থিমে অনুলিপি করুন এবং সেখানে যান, আমি সেটিংটির (ব্যাকএন্ড) সন্ধানে যাচ্ছি কেন আপনি অন্যটিকে কেন এমন কোড করবেন?

কেউ যদি এটির সন্ধান করে তবে আমাকে জানান

greets


0

কেবল আপনার অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / প্যাকেজ / থিম / ম্যাজেন্টো_ কাস্টমার / লেআউট এবং গ্রাহক_একউন্ট_ক্রিয়েট.এক্সএমএল খুলুন।

লাইন নাম্বার 16 এ যান বা নীচের কোডটি সন্ধান করুন।

<container name="customer.form.register.fields.before" as="form_fields_before" label="Form Fields Before" htmlTag="div" htmlClass="customer-form-before"/>

নীচের কোডের পরে কেবল কোডের নীচে রাখুন।

<action method="setShowAddressFields">
                    <argument name="show.address.fields" xsi:type="boolean">true</argumen>
          </action>

এর পরে আপনি নিবন্ধক পৃষ্ঠায় রাষ্ট্রীয় ড্রপডাউন দেখতে পাবেন।


0

এটি সম্পাদনের জন্য দুটি উপায় রয়েছে,

  1. টেমপ্লেট ফাইল থেকে

  2. এক্সএমএল থেকে

উপরে xmlএকাধিকবার ব্যাখ্যা করা হয়েছে, তাই আমি টেমপ্লেট ফাইলের উপায়ে করতে যাচ্ছি।

আপনার থিমের ভিতরে টেমপ্লেট ফাইলটি খুলুন [মূল ফাইলগুলি সম্পাদনা করবেন না], অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / [বিক্রেতার নাম] / [থিম_নাম] / ম্যাজেন্টো_কাস্টমোর / টেমপ্লেটস / ফর্ম / রেজিস্টার.এফটিএমএল

এই কোডটি রয়েছে এমন লাইনটি সন্ধান করুন,

getShowAddressFields()

এটি হয় হতে পারে,

<?php if($this->getShowAddressFields()): ?>

অথবা

<?php if ($block->getShowAddressFields()): ?>

আপনার ম্যাজেন্টো সংস্করণ উপর নির্ভর করে।

এই কোডটি সেই লাইনের আগে রাখুন,

<?php $this->setShowAddressFields(true); ?>

সুতরাং, চূড়ান্ত আউটপুট এর মতো দেখতে হবে,

<?php $this->setShowAddressFields(true); ?>
<?php if($this->getShowAddressFields()): ?>

অথবা

<?php $this->setShowAddressFields(true); ?>
<?php if ($block->getShowAddressFields()): ?>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.