অনপেজ চেকআউটটিতে লগইন করতে একটি ব্লক যুক্ত করা হচ্ছে


9

চেকআউট প্রক্রিয়া চলাকালীন আমি একটি অতিরিক্ত লগইন বিকল্প যুক্ত করার চেষ্টা করি। এই মুহুর্তে, আপনার ব্যবহারকারীর নাম / পাসওয়ার্ডের উপায় রয়েছে। আমি OAuth প্রক্রিয়াটির মাধ্যমে লগইন করতে একটি বোতামের চিত্র যুক্ত করতে চাই (আমার ক্ষেত্রে গিথুব)।

আমি একটি উপায় খুঁজে পেয়েছি তবে এটি সর্বোত্তম উপায় নয়। চেকআউট / অনপেজ / লগইন.এফটিএমএল টেম্পলেট ফাইলটিতে রয়েছে, একটি ব্লক সন্তানের নামকরণের জন্য একটি কল form.additional.info

আমি এটিতে নিজের ব্লকটি inোকানোর চেষ্টা করেছি কিন্তু এটি কার্যকর হয়নি।

<checkout_onepage_index>
        <reference name="form.additional.info">
            <block type="core/template" name="login_github_button" as="login.github.button">
                <action method="setTemplate" ifconfig="github/config/enabled">
                    <template>github/customer/login.phtml</template>
                </action>
            </block>
        </reference>
</checkout_onepage_index>

এটি ক্যাপচা মডিউল দ্বারা সম্পন্ন করার মতো আমি অন্যভাবে পেয়েছি:

<checkout_onepage_index>
    <reference name="checkout.onepage.login">
        <block type="core/text_list" name="form.additional.info">
            <block type="core/template" name="login_github_button" as="login.github.button">
                <action method="setTemplate" ifconfig="github/config/enabled">
                    <template>github/customer/login.phtml</template>
                </action>
            </block>
        </block>
    </reference>
</checkout_onepage_index>

এই ক্ষেত্রে, এটি কাজ করে তবে ক্যাপচা প্রদর্শিত হবে না। আমি কীভাবে বেশ কয়েকটি ব্লক ব্লকে in form.additional.infoোকাতে পারি?

আপনার সাহায্যের জন্য ধন্যবাদ

সম্পাদনা :

রেফারেন্স form.additional.infoপদ্ধতিটি ব্যবহার করার সময় লগইন ক্ষেত্রগুলির অধীনে বোতামটি প্রদর্শিত না হওয়ার কয়েকটি কারণ আমি খুঁজে পেয়েছি । এটি পরিবর্তে চেকআউট বিলিং ভিউতে প্রদর্শিত হয়।

  1. ব্লকটি form.additional.infoক্যাপচা মডিউল দ্বারা ব্লকের জন্য তৈরি করা হয় checkout.onepage.loginতবে এটি ব্লকের জন্যও তৈরি করা হয়checkout.onepage.billing
  2. Mage_Core_Model_Layout :: _ জেনারেটব্লক () এ ব্লকটি তৈরি করার সময় এটি ব্লকের মূল ব্লক অবজেক্টটি অনুসন্ধান করে login_github_button। এর পরিবর্তে এক খুঁজে বের করার checkout.onepage.login, এটা সর্বশেষ তৈরি করা এক খুঁজে বের: checkout.onepage.billing। ব্লকটি একটিতে লগের পরিবর্তে এই শেষটির সাথে সংযুক্ত। তারপরে আমি লগইন ভিউয়ের পরিবর্তে বিলিং ঠিকানা ভিউতে আমার লগইন বোতামটি পাই!
  3. আমি যদি লেআউটটিতে মন্তব্য করি তবে ক্যাপচা.এমএমএল checkout.onepage.billingআমার প্রথম সমাধানটির কাজটি সম্পর্কে অংশটি ফাইল করবে ।

এটি এখনও ঠিক নেই তবে আমি কারণগুলি খুঁজে পেতে শুরু করি।

উত্তর:


3

ঠিক আছে, আমি দেখতে পাচ্ছি একমাত্র সমাধান হ'ল ব্লকটি বিন্যাসের মডিউলটি তৈরি করা, ক্যাপচার কোড যুক্ত করুন এবং আমার কাস্টমাইজড কোডটি রেফারেন্স হিসাবে যুক্ত করুন। এই ক্ষেত্রে এটি গ্রহণ করা হয়।

দুর্ভাগ্যবশত, এটি এখনও মধ্যে একটি ব্লক সন্নিবেশ করতে কঠিন হবে form.additional.infoব্লক।

আমি কার্যকর করা সমাধান এখানে:

<checkout_onepage_index>
    <reference name="checkout.onepage.login">
        <block type="core/text_list" name="form.additional.info">
            <block type="captcha/captcha" name="captcha">
                <reference name="head">
                    <action method="addJs"><file>mage/captcha.js</file></action>
                </reference>
                <action method="setFormId"><formId>user_login</formId></action>
                <action method="setImgWidth"><width>230</width></action>
                <action method="setImgHeight"><width>50</width></action>
            </block>
        </block>

        <reference name="form.additional.info">
            <block type="core/template" name="login_github_button" as="login.github.button">
                <action method="setTemplate" ifconfig="github/config/enabled">
                    <template>github/customer/login.phtml</template>
                </action>
            </block>
        </reference>
    </reference>
</checkout_onepage_index> 

আপনি যেমন বলেছিলেন, এটি অন্য কোনও মডিউলগুলিও এই ব্লকটি ব্যবহার করা থেকে বিরত করবে এবং আপগ্রেডেও সমস্যা তৈরি করবে। <reference name="form.additional.info">এবং <depends>সমাধান উপরে অনেক পরিষ্কার এবং আরও বেশি রক্ষণীয় হয়।
mybluevan

@ মাইব্লুভান আমি ডাউনভোটটি বুঝতে পারি না (যদি আপনি এটি করেন)। স্ট্যাকওভারফ্লো. com / privileges / vote-down এই ক্ষেত্রে একটি ডাউনভোট প্রাপ্য, আমার উত্তরটি এখানে বিকল্প বিকল্প দেখানোর জন্য দেওয়া হয়েছে। এটি আমার জানা সেরা নয় তবে এটি ক্যাপচা এবং কাস্টমাইজড মডিউল বিন্যাস করতে দেয়। এটি অন্যান্য মডিউল দ্বারা ব্যবহার প্রতিরোধ করবে তা বলে আমি পরিষ্কার ছিল না। আমি বলতে চাইছিলাম যে আপনি যদি এই ব্লকে কোনও শিশুকে যুক্ত করতে চান তবে এটি এখনও সমস্যা হতে থাকবে। আমি এখনও একটি পরিষ্কার উপায় তদন্ত করছি। ফ্যাবিয়ান এর কাজ মোটেও কাজ করে না, আমি আপনাকে একই অবস্থায় এটি পরীক্ষা করার জন্য আমন্ত্রণ
জানাচ্ছি

1

ক্যাপচা.এক্সএমএল ব্লক তৈরি করে, তাই এটি ব্যবহারযোগ্য হওয়া উচিত। আপনি কি যোগ করেছেন?

<depends>
    <Mage_Captcha />
</depends>

নিশ্চিত হওয়ার জন্য, আপনার ব্লকটি ইতিমধ্যে উপস্থিত রয়েছে, যখন আপনি এটিতে কোনও শিশুকে যুক্ত করার চেষ্টা করেন?


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

ফ্যাবিয়ান যা পরামর্শ দেওয়ার চেষ্টা করছে তা হ'ল প্রথম ব্লকটি ব্যবহার করা <reference name="form.additional.info">এবং তারপরে এটি যুক্ত করা <depends>। যদি আপনি এটির <reference name="checkout.onepage.login">সাথে দ্বিতীয় ব্লকটি ব্যবহার করেন তবে <depends>এটি উল্লিখিত হিসাবে ক্যাপচা ব্লকটি ওভাররাইট করবে।
mybluevan

@ মাইব্লুভান আপনাকে ধন্যবাদ আমি কোনও নবাগত নই। আমি যদি লিখি, এটি কার্যকর হয় না, এর অর্থ ফ্যাবিয়ানের পরামর্শ অনুসারে আমি পরীক্ষা করেছি। প্রথমে ম্যাগেন্টো কোর মডিউলগুলি লোড করা হয় তারপরে সম্প্রদায় এবং তারপরে স্থানীয়। ডিফল্ট লেআউট এক্সএমএল ফাইলগুলির জন্য একই ক্রম। আমার মডিউলটি সম্প্রদায়টিতে রয়েছে, এটি শেষ পর্যন্ত লোড হয়। dependsএই ক্ষেত্রে ট্যাগটি প্রয়োজনীয় নয়। এবং আমরা সকলেই আমার দ্বিতীয় ব্লকের ওভাররাইট করা উপায় সম্পর্কে একমত। এটি কাজ না করার কারণটি খুঁজে পেয়েছি তবে আমি এখনও পরিষ্কার সমাধান খুঁজে পাই না। প্রশ্নে আমার সম্পাদনা দেখুন।
সিলভাইন রায়é
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.