Magento2 тема мини корзина KO выпуск шаблонов - PullRequest
0 голосов
/ 13 октября 2018

У меня проблемы с шаблонной темой Magento2 KO.

Я пытался создать раскрывающийся список мини-корзины в реальном времени в моем заголовке и имел проблему с отображением данных.Я пытался использовать шаблон KO, но по некоторым причинам мой код не работает, поэтому я добавил количество элементов корзины, используя поведение PHTML.

Но проблема с поведением PHTML заключается в том, что мы не можем преодолеть кэш Magento FPC при рендеринге страницы.

Любая помощь в инициации и замене мини-корзины KO очень полезна.

У меня есть код, общедоступный на github здесь: https://github.com/OrviSoft-Inc/magento2-bootstrap-theme

Исправление или замена, которую я ищу, находится здесь: https://github.com/OrviSoft-Inc/magento2-bootstrap-theme/blob/master/app/design/frontend/MyTheme/default/Magento_Theme/templates/cart.phtml

Шаблон моей корзины, упомянутый выше, выглядит следующим образом

<?php
$helper = $this->helper('\Magento\Checkout\Helper\Cart'); 
?>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<div class="right-header" data-mage-init='{"babyTalker": {}}'><a href="/" class="icon-home"><i class="fas fa-home"></i></a><span class="icon-search searchShow"></span><a href="/customer/account/" class="icon-user"></a><a href="/checkout/cart/" class="icon-basket"><span><?php  echo $helper->getItemsCount(); ?></span></a></div>
<div class="mini-search-form" id="add_data" style="display:none;">
    <form action="/catalogsearch/result" method="get">
        <input type="text" name="q" Placeholder="Search"/>
        <button class="btn btn-primary mini-search" type="submit">Search</button>
    </form>
</div>
<script>
require(['jquery'], function ($) {
    $(document).ready(function () {
        $('.searchShow').click(function(){
            $('#add_data').toggle('slow');
        });     
    });
});
</script>

Mini Cart location where this error is coming

1 Ответ

0 голосов
/ 29 декабря 2018

Потратив некоторое время, я обнаружил, что использование шаблона KO с помощью основной темы и окончательное исправление было со следующим кодом.

    <div class="block block-minicart empty"
         data-role="dropdownDialog"
         data-mage-init='{"dropdownDialog":{
            "appendTo":"[data-block=minicart]",
            "triggerTarget":".showcart",
            "timeout": "2000",
            "closeOnMouseLeave": false,
            "closeOnEscape": true,
            "triggerClass":"active",
            "parentClass":"active",
            "buttons":[]}}'>
        <div id="minicart-content-wrapper" data-bind="scope: 'minicart_content'">
            <!-- ko template: getTemplate() --><!-- /ko -->
        </div>
        <?= $block->getChildHtml('minicart.addons') ?>
    </div>

Обратите внимание на data-mage-init раздел.И <!-- ko template: getTemplate() --><!-- /ko --> раздел

И чем полезна загрузка соответствующих js, как показано ниже.

<script type="text/x-magento-init">
    {
        "[data-block='minicart']": {
            "Magento_Ui/js/core/app": <?= /* @escapeNotVerified */ $block->getJsLayout() ?>
        },
        "*": {
            "Magento_Ui/js/block-loader": "<?= /* @escapeNotVerified */ $block->getViewFileUrl('images/loader-1.gif') ?>"
        }
    }
</script>
...