Как мне добавить собственный код JSON в Magento 2? - PullRequest
0 голосов
/ 26 мая 2020

Компания, с которой я работаю, использует Magento 2 в качестве своей CMS.

Они хотели бы добавить разметку schema.org на разные страницы своего сайта.

В идеале я бы хотел добавить, используя JSON. Я бы создал необходимый код JSON, а затем добавил бы его на их сайт где-нибудь в разделе заголовка страницы.

Можно ли добавить собственный код на разные страницы в Magento 2? Если да, то как это делается?

1 Ответ

1 голос
/ 26 мая 2020

Для этого вам нужно добавить собственный файл шаблона phtml в заголовок для всех страниц и проверить там каждый тип страниц. Таким образом, вы можете добавить свой собственный лог c для разных страниц. Выполните следующие шаги:

Шаг 1: Создайте здесь свой собственный файл шаблона app/design/frontend/{Package}/{theme}/Magento_Theme/templates/html/custom_codes.phtml

<?php
    $getLayoutHandle = $this->getRequest()->getFullActionName(); // it returns all kind of pages handlers. just check and use by the following ways.
?>
<?php if($getLayoutHandle == 'cms_index_index'): ?>
    <!-- home page scripts here -->
<?php endif; ?>
<?php if($getLayoutHandle == 'catalog_category_view'): ?>
    <!-- product listing page scripts here -->
<?php endif; ?>
<?php if($getLayoutHandle == 'catalog_product_view'): ?>
    <!-- product details page scripts here -->
<?php endif; ?>

Шаг 2: Добавьте в указанный выше файл в заголовок, используя значение по умолчанию. xml. app/design/frontend/{Package}/{theme}/Magento_Theme/layout/default.xml

<?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">
    <body>
        <referenceBlock name="head.additional">
            <block class="Magento\Framework\View\Element\Template" name="custom_codes" template="Magento_Theme::html/custom_codes.phtml"/>
        </referenceBlock>
    </body>
</page>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...