Как показать шаблон пользовательского модуля в Magento 2.1.8 - не работает

Это пользовательский модуль для Magento 2.1.8, идея которого заключается в том, чтобы управлять фреймами со встроенными видео YouTube из панели администратора. В основном разрешить - полноэкранный режим, управление, автозапуск и т.д..

Я хочу, чтобы этот шаблон загружался на всех возможных страницах моего веб-сайта.

И после всех этих:

magento setup:upgrade
magento setup:di:compile
magento setup:static-content:deploy
magento cache:clean
magento cache:flush
magento indexer:reindex

У меня есть layouts/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>
        <referenceContainer name="after.body.start">
            <block class="Magento\Framework\View\Element\Template" template="Mycompany_YouTube::youtube_configuration.phtml" name="mycompany.youtube.configuration" after="-" />
        </referenceContainer>
    </body>
</page>

templates/youtube_configuration.phtml

<?php

$config = [
        'youtube_config' => [
                "_force" => $this->helper('Mycompany\\Youtube\\Helper\\Data')->getConfig('youtube/general/_force'),
                "rel" => $this->helper('Mycompany\\Youtube\\Helper\\Data')->getConfig('youtube/general/rel'),
                "fs" => $this->helper('Mycompany\\Youtube\\Helper\\Data')->getConfig('youtube/general/fs'),
                "loop" => $this->helper('Mycompany\\Youtube\\Helper\\Data')->getConfig('youtube/general/loop'),
                "autoplay" => $this->helper('Mycompany\\Youtube\\Helper\\Data')->getConfig('youtube/general/autoplay'),
                "controls" => $this->helper('Mycompany\\Youtube\\Helper\\Data')->getConfig('youtube/general/controls'),
        ]
];

?>

<div id="Mycompany_YouTube" data-mage-init="<?= json_encode($config) ?>">
 <script type="text/javascript">
    console.log("Mycompany_YouTube Loaded!");
    define(["jquery"], function($) {
        "use strict";
        return function(config) {
            var params = config.youtube_config;

            if (params._force) {
                delete params._force;
                $('iframe[src*="youtube.com/embed"]').each(function(k,v) {
                   "mycompany";
                    var url = document.createElement('a');url.href = v.src;
                    url.search = $.param(params);
                    $(v).prop('src', url.href)
                });
            }
        }
    });
 </script>
</div>

Шаблон не грузится...

Примечания: Использование Magento 2.1.8 (нет выбора, это единственный вариант, который я могу использовать на данный момент, не спрашивайте, почему)

Также я в режиме разработчика

Также у меня есть проблемы ТОЛЬКО с Внешним интерфейсом Magento. Панель администратора готова и работает.

Также имейте в виду, что я создаю это с помощью следующего дерева:

/
|---/app
| |---/code
| | |---/Mycompany
| | | |---/YouTube
| | | | |---registration.php
| | | | |---/etc
| | | | | |---module.xml
| | | | | |---/adminhtml
| | | | | | |---config.xml
| | | | | | |---system.xml
| | | | |---/Helper
| | | | | |---Data.php
| | | | |---/view
| | | | | |---/frontend
| | | | | | |---requirejs-config.js
| | | | | | |---/layout
| | | | | | | |---default.xml
| | | | | | |---/templates
| | | | | | | |---youtube_configuration.phtml

Минимальный результат, который мне нужен, это то, что я могу видеть код из шаблона в Инспекторе, когда обновляю страницу.


person Milan Vugrinchev    schedule 14.05.2019    source источник


Ответы (1)


Проблема заключалась в том, что у меня не было composer.json, содержащего автозагрузчик PSR-4.

person Milan Vugrinchev    schedule 16.05.2019