avatar
+4.45
6.628

123

shtrih
shtrih
Видимо, что-то пошло не так. Шаблон экшна ищется неправильно, если есть 2 плагина, у которых наследуются одни и те же экшны (aInherits или aDelegates, не важно).
У меня вместо actions/admin/action.admin.settings/contenttypes_fieldadd.tpl ищется actions/admin/action.admin.settings-contenttypes-fieldadd.tpl, файла такого конечно нет, поэтому выбрасывается исключение. Именно этот шаблон переопределяется в первом плагине.
Добавил вывод стека вызовов в SetTemplateAction:
protected function SetTemplateAction($sTemplate) {
        if (substr($sTemplate, -4) != '.tpl') {
            $sTemplate = $sTemplate . '.tpl';
        }
        $sActionTemplatePath = $sTemplate;
    // § выводим трейс
        if (strpos($sActionTemplatePath, 'fieldadd')) {
            var_dump((new Exception())->getTraceAsString(), $sActionTemplatePath);
        }

Стектрейс в нормальной ситуации:

string(672) "#0 /var/www/altocms/common/classes/actions/ActionAdmin.class.php(4256): Action->SetTemplateAction('settings/conten...')
#1 /var/www/altocms/common/plugins/contentfieldsx/classes/actions/ActionAdmin.class.php(6): ActionAdmin->EventAddField()
#2 /var/www/altocms/engine/classes/abstract/Action.class.php(202): PluginContentfieldsx_ActionAdmin->EventAddField()
#3 /var/www/altocms/engine/classes/core/Router.class.php(605): Action->ExecEvent()
#4 /var/www/altocms/engine/classes/core/Router.class.php(188): Router->ExecAction()
#5 /var/www/altocms/engine/classes/core/Application.class.php(100): Router->Exec()
#6 /var/www/altocms/index.php(20): Application->Exec()
#7 {main}"
string(34) "settings/contenttypes_fieldadd.tpl"

Стек в моем случае:

string(434) "#0 /var/www/altocms/engine/classes/abstract/Action.class.php(418): Action->SetTemplateAction('settings-conten...')
#1 /var/www/altocms/engine/classes/core/Router.class.php(201): Action->GetTemplate()
#2 /var/www/altocms/engine/classes/core/Router.class.php(189): Router->Shutdown(false)
#3 /var/www/altocms/engine/classes/core/Application.class.php(100): Router->Exec()
#4 /var/www/altocms/index.php(20): Application->Exec()
#5 {main}"
string(34) "settings-contenttypes-fieldadd.tpl"
shtrih
shtrih
Спасибо, не знал, что можно добавлять в $aInherits свои экшны, действовал согласно комментариям к самим полям $aDelegates и $aInherits, которые даны в шаблоне плагина. А там написано
// Объявление делегирований (нужны для того, чтобы назначить свои экшны и шаблоны)
public $aDelegates=array(

// Объявление переопределений (модули, мапперы и сущности)
protected $aInherits=array(
shtrih
shtrih
http://«Домен»/admin/settings-menumanager/edit/userbar/
shtrih
shtrih
Для лс для этого был плагин «автокат»
shtrih
shtrih
Обрати внимание на эту библиотеку: github.com/altocms/altocms/tree/master/engine/libs/less.php
Сам я её не использовал, да и вообще, не правил стандартные темы, так что ничего от себя сказать не могу.
shtrih
shtrih
«Брендирование» в данный момент не адаптирован к версии 1.1.х.
shtrih
shtrih
Спасибо.
shtrih
shtrih
С помощью гита можно сделать «патч» вот так:
git remote update
git archive -o update.zip HEAD $(git diff --name-only 1.1.3...1.1.4)

Где 1.1.3...1.1.4 — теги, изменённые файлы между которыми нужно добавить в архив.
Хотя, наверное да, было бы лучше, если бы Вадим это делал.
shtrih
shtrih
Ссылка на настройки estheme инжектится в боковое меню «Настройки» в админке
shtrih
shtrih
Если пользоваться системой контроля версий git, то там это из коробки
shtrih
shtrih
Ну есть список закрытых issues, есть список pull request-ов с момента релиза 1.1.0.
shtrih
shtrih
Спасибо
А как переопределить языковые переменные скина? Планируется ли?
Надо активировать плагин «Рейтинг» или «Простая рейтинговая система», тогда в меню топиков появится пункт «Топ»
По поводу местоположения шаблонов. Честно говоря, ума не приложу, зачем может понадобиться изменять их стандартное местоположение. Кроме того, это отрубит возможность обновить темы.

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

Может быть, сто́ит, хотя бы переименовать ленту в «ленту» в текущей версии, чтобы не удивлялись?
Кратко опишу суть, как я представляю.
1. Переопределяем шаблон `editor.markitup.tpl` с целью повлиять на настройки редактора. Удаляем из настроек редактора ненужные кнопки.
2. Переопределяем методы сохранения и предпросмотра комментария, внутри которых переопределяем настройки jevix так, чтобы он пропускал только нужные нам html-теги.
3. Profit.
Ну, это осуществимо, если делать отдельным плагином.
Так делать плохо, потому что при следующем обновлении системы это будет стёрто новым шаблоном.
Только не в /common/config/config.php, а в /app/config/config.local.php добавить эту строчку