Magento 2 Как установить поставщика конфигурации для всех страниц?


Я создал один модуль. у которых есть вспомогательная функция, которая возвращает модуль, включена или нет? Теперь я хочу проверить, включен ли этот модуль или нет в javascript для всех страниц на интерфейсе, для этого я хочу установить значение функции для поставщика конфигурации, например "window.checkoutconfig.customvalue". Теперь мне нужно, например, "window.catalog.customvalue" или любое глобальное значение javascript, к которому можно получить доступ с каждой страницы, как я могу это сделать?

Еще один примером глобальной конфигурации является "BASE_URL", когда вы пишете BASE_URL в консоли, он дает URL-адрес, я хочу такую же функциональность, просто нужно добавить такую переменную в конфигурацию.

Я знаю, как установить поставщика конфигурации при оформлении заказа с помощью "chckoutconfig", но я хочу установить значение этой функции в общем поставщике конфигурации, чтобы я мог получить это значение в каждом файле js или консоли.

Если у кого-нибудь есть идея по этому поводу?

Author: Utsav Gupta, 2018-12-28

1 answers

В Magento 2 есть блок "head.additional", в котором вы можете задать свои переменные глобально.

Добавьте приведенный ниже код в

app\code\Name\Module\view\frontend\templates\globalvar/globalvariable.phtml

?php
$globalConfig = [];
$globalConfig['FirstVariable'] = 'My first value';
$globalConfig['SecondVariable'] = 'My second value';
?>
<script>
    window.globalConfigData = <?php echo json_encode($globalConfig); ?>;
</script>

Затем добавьте приведенный ниже код в XML

app\code\Name\Module\view\frontend\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="globalconfigvariable" template="Name_Module::globalvar/globalvariable.phtml"/>
        </referenceBlock>
    </body>
</page>
 2
Author: Utsav Gupta, 2019-01-03 10:02:58