Нехватает информации о папке /app и подпапках

templates/

Что будет, если положить туда шаблон, совпадающий по имени с существующим в папке /common/templates? Или это только для языковых файлов? Можно ли через эту папку переопределять одноимённые шаблоны в темах/плагинах, не создавая отдельный плагин и не прописывая каждый шаблон в делегатах?
В подпапке `language` есть ридми «You can place your own language files in this folder». Непонятно что будет, если в языковом файле указать строку с ключом, который уже есть стандартной теме. Он заменится? Могу ли я через такой файл переопределять тексты плагинов? Как?

config/

Можно ли переопределять стандартные конфиги `jevix.php`, `menu.php`, `widgets.php`, дописывая суффикс `local` по аналогии с `config.local.php`? В теме шаблонов есть своя папка settings/config. Как переопределять конфиги оттуда?

plugins/

В этой папке находится файл `plugins.dat`, в которую записываются активированные плагины. Можно ли сюда добавлять свои плагины? Я добавляю их в папку `common/plugins/`. Правильно ли это?

8 комментариев

0
быстрее было бы самому это проверить (: По времени ушло бы столько же, сколько ушло на написание этого поста.

Могу точно сказать, что одинаковые языковые ключи из папки app будут перезатирать системные.
0
Не согласен. Предлагаете каждому админу изучать исходники?
+2
Для начала я посоветую эти статьи:
Структура папок и статические файлы
Конфигурация сайта на Alto CMS — некоторые нюансы и особенности

Это не прямые ответы на вопросы, но они помогут лучше понять структуру и принцип конфигурирования движка.

Теперь отвечаю непосредственно на вопросы.

1) app/templates/

По умолчанию оттуда берутся только языковые глобальные файлы и конфиги скинов. Т.е. вы можете положить языковой файл app/templates/language/en.php и его значения буду перекрывать те значения, что лежат в common/templates/language/ru.php. Причем, вовсе не обязательно все значения переписывать в /app/..., достаточно только требуемые.

Текстовки плагинов тут не переопределяют, об этом см. ниже.

Можно также переопределить конфиги конкретного шаблона, например так:
app/templates/skin/experience-simple/settings/config/config.php

В этом примере переопределяется конфиг скина experience-simple.

А вот насчет путей к шаблонам — это ведь настраивается. В конфиге сайта есть такое:
$config['path']['skins']['dir'] = '___path.templates.dir___/skin/'; // путь к папке для скинов
Это как раз то, откуда будут загружаться шаблоны. По умолчанию они загружаются из common/templates/skin. Соответственно, если в app/templates/skin положить свой шаблон, то он будет игнорироваться. Но если есть желание, чтобы они брались оттуда, то это можно указать в конфиге, например, так:
$config['path']['skins']['dir'] = '___path.dir.app___/templates/skin/'; // путь к папке для скинов
Дополнительно замечу, что в конфиге определяется очень много путей (причем, большинство из них определяются в зависимости от ранее определнных путей). И это дает очень большую гибкость для переопределния структуры папок (напр., часть папок можно разместить выше рут-каталога сайта).

2) app/config

Именование config.local.php — это исторически так сложилось (в ЛС этот файл лежит в общей конфиг-папке). Файлы `jevix.php`, `menu.php`, `widgets.php` нужно класть в app/config именно с такими именами, без дополнительных суффиксов.

3) app/plugins/

В первую очередь эта папка для хранения plugins.dat. Плюс там же по умолчанию ищутся языковые файлы плагинов. Так можно переопределить текстовки плагина similartopics:
app/plugins/similartopics/templates/language/ru.php

Но сами плагины размещаются в `common/plugins/`, все верно.
0
По поводу местоположения шаблонов. Честно говоря, ума не приложу, зачем может понадобиться изменять их стандартное местоположение. Кроме того, это отрубит возможность обновить темы.

Вопрос был немного о другом: можно ли заменять стандартные шаблоны текущей темы с помощью этой папки. Счётчик, например, прописать в футере. И оставить возможность обновить систему. Сейчас для этого надо либо запилить отдельный плагин и переопределить шаблон футера в нём, либо скопировать всю тему целиком в отдельную папку и отредактировать шаблон уже в ней (но тогда возможность обновления темы теряется).
В любом случае, я понял, что ответ «нет».
0
В любом случае, я понял, что ответ «нет».
Пока нет. В задумках такая фича есть
0
А как переопределить языковые переменные скина? Планируется ли?
0
0
Спасибо
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.