Magento2: продукты Crosssell на странице успеха заказа - PullRequest
0 голосов
/ 30 мая 2019

Мне нужны ссылки или код для отображения продуктов Crosssell на странице успеха заказа.

Я поместил блоки перекрестных продаж внутри кода '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>

        <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" template="Magento_Catalog::product/list/items.phtml" cacheable="false">
            <arguments>
                <argument name="type" xsi:type="string">crosssell</argument>
            </arguments>
            <block class="Magento\Catalog\Block\Product\ProductList\Item\Container" name="crosssell.product.addto" as="addto">
                <block class="Magento\Catalog\Block\Product\ProductList\Item\AddTo\Compare"
                       name="crosssell.product.addto.compare" as="compare"
                       template="Magento_Catalog::product/list/addto/compare.phtml"/>
            </block>
        </block>

    </body>
</page>

1 Ответ

0 голосов
/ 31 мая 2019

Вам необходимо вызвать Crosssell блок внутри content referenceContainer отображается следующим образом:

<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"/>
        <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" template="Magento_Catalog::product/list/items.phtml" cacheable="false">
            <arguments>
                <argument name="type" xsi:type="string">crosssell</argument>
            </arguments>
            <block class="Magento\Catalog\Block\Product\ProductList\Item\Container" name="crosssell.product.addto" as="addto">
                <block class="Magento\Catalog\Block\Product\ProductList\Item\AddTo\Compare"
               name="crosssell.product.addto.compare" as="compare"
               template="Magento_Catalog::product/list/addto/compare.phtml"/>
            </block>
        </block>
    </referenceContainer>
</body>

Надеюсь, это поможет вам!

...