Как мы можем переопределить эту позицию в пользовательской опции, чтобы показать ее в другом файле phtml.
добавил этот код, в checkout_cart_index.xml
котором переопределить только form.phtml
не переопределить default.phtml
файл.
<?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">
<!-- <update handle="checkout_cart_item_renderers"/> -->
<body>
<referenceContainer name="content">
<referenceBlock name="checkout.cart.form">
<action method="setTemplate">
<argument name="template" xsi:type="string">Bespoke_Bespoke::cart/form.phtml</argument>
</action>
</referenceBlock>
<referenceBlock name="checkout.cart.item.renderers.override">
<action method="setTemplate">
<argument name="template" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</argument>
</action>
</referenceBlock>
</referenceContainer>
</body>
я получаю сообщение об ошибке, касающееся checkout.cart.item.renderers
уже ребенка с псевдонимом 'simple'. Я изменил этот файлcheckout_cart_item_renderer.xml
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<!-- <update handle="checkout_item_price_renderers"/> -->
<body>
<referenceBlock name="checkout.cart.form">
<action method="setOverriddenTemplates">
<argument xsi:type="array">
<!-- list override templates -->
<item name="default" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</item>
<item name="simple" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</item>
<item name="virtual" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</item>
</argument>
</action>
</referenceBlock>
</body>
</page>
переопределить файл, который мы использовали etc/di.xml
<config xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Checkout\Block\Cart\AbstractCart" type="AGS\Bespoke\Block\Checkout\Cart\AbstractCart"/><preference for="Magento\Catalog\Block\Product\View\Option" type="AGS\Bespoke\Block\Product\View\Option"/>
<preference for=" Magento\Checkout\Block\Cart" type="AGS\Bespoke\Block\Checkout\Cart"/>
<preference for="\Magento\Checkout\Block\Cart\Item\Renderer" type="AGS\Bespoke\Block\Checkout\Cart\Item\Renderer"/>
<virtualType name="AGS\Bespoke\Model\ResourceModel\Bespoke\Bespoke\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments><argument name="mainTable" xsi:type="string">ags_bespoke</argument><argument name="resourceModel" xsi:type="string">AGS\Bespoke\Model\ResourceModel\Bespoke</argument>
</arguments></virtualType><type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
<arguments><argument name="collections" xsi:type="array">
<item name="bespoke_record_bespoke_list_data_source" xsi:type="string">AGS\Bespoke\Model\ResourceModel\Bespoke\Bespoke\Collection</item>
magento2
php
javascript
agskarthik
источник
источник
Ответы:
Поместите код в любую другую страницу phtml в коллекции продуктов
опция customme будет отображаться в выпадающем списке, select, multiselect и т. д.
источник