Magento 2 এ লেআউট থেকে ব্লক সরান


36

ম্যাজেন্টো 1 এ আমি আমার লেআউট ব্লকে এটি যোগ করে একটি বিন্যাস ফাইল দ্বারা যুক্ত একটি ব্লক সরিয়ে ফেলতে পারি

<remove ="block_id_here" />

আমি কীভাবে ম্যাজেন্টো 2-তে একই কাজ করতে পারি?
ব্যবহারিক অনুশীলন হিসাবে, ধরা যাক আমার নিজস্ব মডিউল রয়েছে যা থেকে আমি অ্যাডমিন ড্যাশবোর্ড পৃষ্ঠা থেকে ড্যাশবোর্ড ব্লকটি সরাতে চাই।
এটি app/code/Magento/Backend/view/adminhtml/layout/adminhtml_dashboard_index.xmlব্যবহার করে ব্লকটি যুক্ত করা হয়েছে :

<referenceContainer name="content">
    <block class="Magento\Backend\Block\Dashboard" name="dashboard"/>
</referenceContainer>

আমি ধরে নিয়েছি view/adminhtml/layout/adminhtml_dashboard_index.xmlআমার মডিউলটিতে ফাইলটি তৈরি করা দরকার তবে এটিতে আমার কী দরকার?

উত্তর:


70

Magento2 এর আরও সাম্প্রতিক সংস্করণগুলিতে, সরানোর পদ্ধতিটি এখন:

<referenceBlock name="block_name" remove="true"/>

উদাহরণ:

<?xml version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="block_name" remove="true"/>
    </body>
</page>

আপনি যদি কোনও উপাদান অপসারণের চেয়ে আরও কিছু করার চেষ্টা করছেন সে ক্ষেত্রে এটি জানা গুরুত্বপূর্ণ। পরিবর্তে নামের স্থানটিকে লেআউটে পরিবর্তন করা page_configurationআপনাকে আপনার যা যা করার প্রয়োজন তা করতে পারে না।


এটি আমার পক্ষে কাজ করেছে। তবে অদ্ভুত বিষয়টি হ'ল, উদাহরণটি devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/… এ উল্লিখিত উদাহরণটি আসলে- <remove />ট্যাগটি ব্যবহার করে । ডকুমেন্টেশনে ত্রুটি?
জিয়েল বার্কার্স

@ জিলবার্কার সম্ভবত ডকুমেন্টেশনের একটি ত্রুটি - তাদের github.com/magento/devdocs
অ্যালান স্টর্ম

আমি কীভাবে এটি পিটিএইচএমএল ফাইল করতে পারি
ওয়াকার আলী

8

ম্যাজেন্টো 2 এর অতি সাম্প্রতিক ডেভ শাখায়, ভিউ / অ্যাডমিনিটিএমএল / লেআউট / অ্যাডমিনটিচটিএমএল_ড্যাশবোর্ড_ইন্ডেক্স.এক্সএমএল তৈরির চেষ্টা করুন

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-dashboard" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<body>
    <referenceBlock name="dashboard" remove="true"/>

উত্স https://github.com


0

সুতরাং আসুন আমরা আপনাকে সাফল্য পৃষ্ঠা থেকে শিরোনাম ব্লকটি সরাতে চান তা বলুন। প্রথমে আপনাকে এমন xML সন্ধান করতে হবে যা আমাদের ক্ষেত্রে এটি নির্দিষ্ট পৃষ্ঠার জন্য দায়ীvendor/magento/module-checkout/view/frontend/layout/checkout_onepage_success.xml

এবং এই ফাইলে আপনার নিম্নলিখিত লিখিত সামগ্রী থাকবে:

<?xml version="1.0"?>
<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <title>Success Page</title>
    </head>
    <body>
        <referenceBlock name="page.main.title">
            <block class="Magento\Checkout\Block\Onepage\Success" name="checkout.success.print.button" template="Magento_Checkout::button.phtml"/>
            <action method="setPageTitle">
                <argument translate="true" name="title" xsi:type="string">Thank you for your purchase!</argument>
            </action>
        </referenceBlock>
        <referenceContainer name="content">
            <block class="Magento\Checkout\Block\Onepage\Success" name="checkout.success" template="Magento_Checkout::success.phtml" cacheable="false">
                <container name="order.success.additional.info" label="Order Success Additional Info"/>
            </block>
            <block class="Magento\Checkout\Block\Registration" name="checkout.registration" template="Magento_Checkout::registration.phtml" cacheable="false"/>
        </referenceContainer>
    </body>
</page>

আপনাকে এখন আপনার থিমটিতে এই এক্সএমএলটি প্রসারিত করতে হবে app/design/frontend/.../.../Magento_Checkout/layout/checkout_onepage_success.xml এবং এর ভিতরে আপনাকে যে ব্লকটি সরাতে হবে page.main.titleএবং এর remove="true"মতো যুক্ত করতে হবে তা উল্লেখ করুন :

<?xml version="1.0"?>
<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
    </head>
    <body>
        <referenceBlock name="page.main.title" remove="true" />
    </body>
</page>

আপনি যদি সমস্ত সেমি পৃষ্ঠা থেকে একটি নির্দিষ্ট ব্লক সরিয়ে ফেলতে চান তবে আপনার vendor/magento/module-theme/view/frontend/layout/default.xml থিম ফোল্ডারে ডিফল্ট এক্সএমএলটি প্রসারিত করে এটি অর্জন করতে পারেন app/design/frontend/.../.../Magento_Theme/layout/default.xml:

<?xml version="1.0"?>
<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="page.main.title" remove="true" />
    </body>
</page>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.