Переместить связанные продукты в пользовательский div в пользовательском шаблоне phtml


Я создал пользовательский шаблон phtml под названием конфигуратор.phtml на странице просмотра продукта, например:

    <referenceContainer name="page.wrapper">
        <block class="Magento\Catalog\Block\Product\View" name="configurator" template="product/view/configurator/configurator.phtml" before="-">
        </block>
    </referenceContainer>

Шаблон выглядит следующим образом:

<div id="configurator" class="active">
    <div class="summary">
        <div class="text">
            <h1><?php echo __('Configurator') ?></h1>
            <p><?php echo __("Do the meals come close to what you want, but is there something in the box why it isn't perfect? Here you can edit the meals inside your box, to make the perfect box for you!") ?></p>
        </div>
        <i class="material-icons close-configurator">close</i>
    </div>
    <div class="selector">
        <div class="top-menu">
            <div class="menu-item active"><?php echo __('Meals') ?></div>
            <div class="menu-item"><?php echo __('Ingredients') ?></div>
            <div class="menu-item"><?php echo __('Extra') ?></div>
        </div>
        <div class="content">
            <div class="meal-selector">
                <div class="meal-selector-products">
                    <!-- here be related products -->
                </div>
            </div>
        </div>
    </div>
</div>

Внутри .meal-selector-products Я хочу отобразить соответствующие продукты. Как я могу переместить связанные продукты в пользовательский раздел? Я просто не могу понять, как это сделать...

Author: Maarten Wolfsen, 2017-03-13

2 answers

Переместите элемент в XML-файл макета:

<move element="catalog.product.related" destination="configurator"/>
<referenceContainer name="page.wrapper">
    <block class="Magento\Catalog\Block\Product\View" name="configurator" template="product/view/configurator/configurator.phtml" before="-">
    </block>
</referenceContainer>

В вашем phtml редактируйте так:

<div id="configurator" class="active">
    <div class="summary">
        <div class="text">
            <h1><?php echo __('Configurator') ?></h1>
            <p><?php echo __("Do the meals come close to what you want, but is there something in the box why it isn't perfect? Here you can edit the meals inside your box, to make the perfect box for you!") ?></p>
        </div>
        <i class="material-icons close-configurator">close</i>
    </div>
    <div class="selector">
        <div class="top-menu">
            <div class="menu-item active"><?php echo __('Meals') ?></div>
            <div class="menu-item"><?php echo __('Ingredients') ?></div>
            <div class="menu-item"><?php echo __('Extra') ?></div>
        </div>
        <div class="content">
            <div class="meal-selector">
                <div class="meal-selector-products">
                    <?php echo $block->getChildHtml('catalog.product.related') ?>
                </div>
            </div>
        </div>
    </div>
</div>

Затем повторно разверните статические файлы и полностью очистите кэш.

 3
Author: steros, 2017-03-17 12:06:08
<move element="catalog.product.related" destination="block-name-where-you-want-to-place-it" />
 0
Author: Jackson, 2017-03-17 08:39:43