কাস্টম মডিউল সমস্যা সহ সিএমএস এবং বিভাগের ব্যবহারের জন্য কাস্টম লেআউট যুক্ত করা


14

আমার স্টোরে আমার এমন একটি বিভাগ রয়েছে যাতে স্ট্যান্ডার্ড ম্যাজেন্টো লেআউটে সম্পূর্ণ আলাদা লেআউট দরকার। সুতরাং আমি 1 ক্যালোম.এফটিএমএল এর একটি নতুন অনুলিপি তৈরি করেছি এবং এর নামকরণ করেছি এবং পরীক্ষায় একটি ছোট পরিবর্তন করেছি।

এখন সমস্যাটি হ'ল কাস্টম বিন্যাসটি প্রদর্শিত হচ্ছে না। আমি একটি মডিউল তৈরি করেছি (যা এটি প্রশাসনিক> কনফিগার> অ্যাডভান্সড ওভারভিউতে দেখা যায় সে হিসাবে কাজ করছে)।

আমার ফাইল এবং সামগ্রীগুলি নিম্নরূপ:

অ্যাপ্লিকেশন / ইত্যাদি / মডিউল / Test_Page.xml

    <?xml version="1.0"?>
<config>
    <modules>
        <Test_Page>
            <active>true</active>
            <codePool>community</codePool>
            <version>0.1.0</version>
            <depends>
                <Mage_Page />
            </depends>
        </Test_Page>
    </modules>
</config>

অ্যাপ্লিকেশন / কোড / স্থানীয় / পরীক্ষা / পৃষ্ঠা জন্য / etc / config.xml

    <?xml version="1.0"?>
<config>
    <modules>
        <Test_Page>
            <version>0.1.0</version>
        </Test_Page>
    </modules>
    <global>
        <page>
            <layouts>
                <homepage module="page" translate="label">
                    <label>Homepage</label>
                    <template>page/home.phtml</template>
                    <layout_handle>homepage</layout_handle>
                </homepage>

                <!-- add more layouts here -->
            </layouts>
        </page>
    </global>
    <frontend>
        <layout>
            <updates>
                <Test_Page>
                    <file>test_page.xml</file>
                </Test_Page>
            </updates>
        </layout>
    </frontend>
</config>

অ্যাপ্লিকেশন / ডিজাইন / ফ্রন্টএন্ড / পরীক্ষা / ডিফল্ট / লেআউট / test_page.xml

    <?xml version="1.0"?> 
<layout>
    <homepage translate="label">
        <label>Home Page</label>
        <reference name="root">
            <action method="setTemplate"><template>page/home.phtml</template></action>
            <action method="setIsHandle"><applied>1</applied></action>
        </reference>
    </homepage> 
</layout>

আমি যে ক্ষতি করেছি তাতে আমি কিছুই দেখতে পাচ্ছি না, এটি একটি মডিউল হিসাবে পড়া হচ্ছে তবে কাস্টম বিন্যাসটি প্রদর্শিত হচ্ছে না :(

উত্তর:


21

বিন্যাসের ড্রপডাউনে এটি উপস্থিত হওয়ার জন্য আপনাকে একটি কাস্টম মডিউল তৈরি করতে হবে (আপনি একটি কোর ফাইলে কিছু যোগ করতে পারেন তবে দয়া করে এটি করবেন না)। আসুন এক্সটেনশনের নাম ইজাইলাইফ_ লেআউট। এর জন্য আপনাকে নিম্নলিখিত ফাইলগুলি তৈরি করতে হবে: app/etc/modules/Easylife_Layout.xml- ডিকোলেশন ফাইল

<?xml version="1.0"?>
<config>
    <modules>
        <Easylife_Layout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Page />
            </depends>
        </Easylife_Layout>
    </modules>
</config>

app/code/local/Easylife/Layout/etc/config.xml - কনফিগারেশন ফাইল

<?xml version="1.0"?> 
<config>
    <modules>
        <Easylife_Layout>
            <version>0.0.1</version>
        </Easylife_Layout>
    </modules>
    <global>
        <page>
            <layouts> 
                <lookbook module="page" translate="label">
                    <label>Lookbook</label>
                    <template>page/1column-lookbook.phtml</template>
                    <layout_handle>lookbook</layout_handle>
                </lookbook> 
            </layouts>
        </page>
    </global>
    <frontend>
        <layout>
            <updates>
                <easylife_layout>
                    <file>easylife_layout.xml</file>
                </easylife_layout>
            </updates>
        </layout>
    </frontend>
</config>

app/design/frontend/{interface}/{theme}/layout/easylife_layout.xml - লেআউট ফাইল

<?xml version="1.0"?> 
<layout>
    <lookbook translate="label">
        <label>Lookbook</label>
        <reference name="root">
            <action method="setTemplate"><template>page/1column-lookbook.phtml</template></action>
            <action method="setIsHandle"><applied>1</applied></action>
        </reference>
    </lookbook> 
</layout>

লেআউট ফাইলগুলিতে আপনার কাস্টম বিন্যাসটি উল্লেখ করতে সক্ষম হতে চাইলে সর্বশেষটি প্রয়োজনীয়। কিছুটা এইরকম:

<update hande="lookbook" />

ক্যাশে সাফ করুন এবং ... এটিই। যদি তোমার জন্য এটি কাজ করে, তাহলে আমাকে জানাও.


লগ ইন এবং আউট আমার জন্য এই
কৌশলটি করেছিল

6

দুটি সম্ভাবনা রয়েছে:

  1. আপনি আপনার বিভাগে একটি কাস্টম বিন্যাস যুক্ত করুন এবং এটি করুন:

    <layout>
        <reference name="root">
            <action method="setTemplate"><template>page/1column-lookbook.phtml</template></action>
        </reference>
    </layout>
  2. আপনি একটি পৃষ্ঠার লেআউট যেমন বাস্তবায়ন এবং এটি যোগ config.xmlমধ্যে global/page/layouts/কিন্তু আমি জানি না, কিভাবে ঠিক এটা করতে।

আপনার যদি কেবল একবার এটির প্রয়োজন হয় তবে আপনি প্রথম সমাধানটি সহ থাকতে পারেন। কিন্তু সতর্কতা অবলম্বন করা আবশ্যক. আছে <action method="setIsHandle"><applied>1</applied></action>মধ্যে page.xmlকখনো কখনো এই সেটিংটি টেমপ্লেটের পরিবর্তন করতে বাধা দেয়।

প্রথম সমাধানটি করার জন্য: আপনার বিভাগটি নির্বাচন করুন, নোডের Custom Designভিতরে সমস্ত কিছু টেক্সারিয়াতে রেখে দিন <layout />এবং রাখুন Custom Layout Update:

<reference name="root">
    <action method="setBackgroundGraphic">
        <background>two-pieces</background>
    </action>
    <action method="setTemplate">
    <template>page/2columns-right-highStep.phtml</template>
    </action>
    <action method="setIsHandle">
        <applied>1</applied>
    </action>
</reference>

প্রথমটির জন্য আমি যেখানে লেআউট রেফারেন্সটি আটকে রাখতে পারি? আমি লেআউট.এক্সএমএল-তে খুব অনুরূপ কোড চেষ্টা করেছি তবে এটি কোন স্তরটি রাখবে সে সম্পর্কে আমার কোনও ধারণা ছিল না, <ক্যাটাগাল_ক্যাটরি_ভিউ>> ব্যবহার করে ডিফল্ট হিসাবে সমস্ত বিভাগের পৃষ্ঠাগুলির জন্য আমার রেফারেন্স রয়েছে তাই আমি ধরে নিয়েছি যে অন্য বিকল্প যুক্ত করার জন্য আমার অনুরূপ কিছু প্রয়োজন
ক্রিস মরিস

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