OpenCart 3 Файлы из архива ocmod не загружаются - PullRequest
0 голосов
/ 25 марта 2020

Столкнулся с проблемой, не могу понять, что я делаю не так. OpenCart 3.0.3.2. Я немного расширил функционал магазина. Я сделал всю работу в исходных файлах, и все работает, как я хотел. Я хотел познакомиться с ocmod и подумал сделать всю работу, используя модификатор. На данный момент я оставил все рабочие файлы на своих местах и ​​удалил только 1 файл по пути admin / controller / extension / module / test. php. Если вы вернете его на место, то имя моего, так сказать, модуля появится в Extensions-> modules.

Что я сделал:

Создан zip-архив test.ocmod. Архив содержит файл install. xml и папку загрузки.

В папке upload / admin / controller / extension / module / находится тестовый файл. php, который я удалил. Для теста я хочу вернуть его на место с помощью «Установщика».

В файле install. xml вот что:

<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <name>Test</name>
    <code>test</code>
    <version>1.0</version>
    <link>test.test</link>
    <author>Test</author>
    <file path="catalog/view/theme/default/template/common/header.twig">
        <operation>
            <search><![CDATA[
            {{ language }}
            ]]></search>
            <add position="after"><![CDATA[
            {{ test }}
            ]]></add>
        </operation>
    </file>  
</modification>

Установка отлично. запись появляется в истории установки. В модификаторе и в настройках разработчика я обновляю все, что есть.

А вот и сама проблема:

В списке изменений ничего нет. В Extensions-> modules - нет ничего. На пути к системе / хранилищу / модификации, кроме системных папок и файла индекса. html, тоже ничего нет.

ocmod.log

2020-03-24 14:05:40 - MOD: Modification Default

FILE: system/engine/action.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 69

FILE: system/engine/loader.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 77
LINE: 151
LINE: 168

FILE: system/library/config.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 59

FILE: system/library/language.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 67
LINE: 73

FILE: system/library/template/template.php
REGEX: ~(require|include)(_once)?\(([^)]+)~
LINE: 18

FILE: system/library/template/twig.php
CODE: $loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE);
LINE: 19
----------------------------------------------------------------

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

Если вы поместите файл модификатора в системную папку, изменения вступят в силу. Но я хотел бы иметь дело с загрузкой архива через установщик.

Я не знаю, что попробовать. Я читал, что есть проблема с неправильно настроенным FTP, в Opencart 2 я видел эту вкладку, но в OpenCart 3 я ее не вижу. Подскажите, пожалуйста, что я делаю не так, или в чем может быть проблема?

1 Ответ

0 голосов
/ 25 марта 2020

Сначала вы можете прочитать документацию OCMOD: https://webocreation.com/blog/ocmod-documentation/ Далее, не оставляйте свободное место в поиске. должно быть: <search><![CDATA[{{ language }}]]></search>. Файл для установки через установщик должен быть yourmodule.ocmod.zip , внутри этого файла должны быть install. xml и upload folder. В папку upload вы можете поместить каталоги admin и catalog с файлами вашего модуля. После установки вашего модуля не забудьте изменения refr sh и очистите кеш в админ-панели шестеренки в правом верхнем углу. Вот и все ...

...