[siteExtra] Версия 1.4.0 — шаблонизация Fenom
В новой версии сборки siteExtra шаблон и все чанки переписаны на Fenom.

При установке дополнения системная настройка pdotools_fenom_parser будет включена, чтобы Fenom был доступен в шаблоне и на страницах.
Благодаря Fenom настройка форм обратной связи на сайте удалось несколько облегчить. Чанк contact_form теперь может кастомизироваться за счёт параметров. Вы можете делать на его основе несколько совершенно разных форм:
Например, чтобы сделать форму для заказа обратного звонка, можно вызвать чанк contact_form с такими параметрами:
В остальные параметры будут значения по умолчанию.
В чанке gallery можно найти пример обработки значения MIGX-ТВ на Fenom (без использования сниппета getImageList).

При установке дополнения системная настройка pdotools_fenom_parser будет включена, чтобы Fenom был доступен в шаблоне и на страницах.
Благодаря Fenom настройка форм обратной связи на сайте удалось несколько облегчить. Чанк contact_form теперь может кастомизироваться за счёт параметров. Вы можете делать на его основе несколько совершенно разных форм:
- form — чанк с HTML-разметкой формы
- tpl — чанк с текстом письма
- subject — тема письма
- validate — валидация полей
- success — HTML-разметка сообщения об успешной отправке формы
- error — текст ошибки отправки формы
Например, чтобы сделать форму для заказа обратного звонка, можно вызвать чанк contact_form с такими параметрами:
{$_modx->getChunk('contact_form', [
'form' => 'form.callback',
'subject' => 'Заказ обратного звонка',
'validate' => 'phone:required'
])}В остальные параметры будут значения по умолчанию.
В чанке gallery можно найти пример обработки значения MIGX-ТВ на Fenom (без использования сниппета getImageList).
Комментарии: 52
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Кстати, ссылка на siteExtra уже не актуальна, верный url: modstore.pro/packages/sites-themes/siteextra
А стоит ожидать версию с фалами?
P.S. Иногда твой пак очень помогает, спасибо)
Возможно это не относится конкретно к этой сборке, но экспериментальным путем было выявлено, что на PHP 5,6 тормозит, на PHP 7 и выше все хорошо, все «летает».
Кажется у меня опять что-то не так установилось(( Несколько компонентов не установились, как и в прошлый раз, на старой версии.
Насколько я помню, были какие-то проблемы при попытке установить MIGX. Попробуй сначала устанавливать MIGX, а потом siteExtra. Если при установке что-то зависло, можно обновить и попробовать установить siteExtra ещё раз — ничего дублироваться не будет, просто всё доустанавливается.
А именно блок комментариев?
vk.com/dev/Comments
Страница перестает выводиться, как-будто не формируется, однако блок комментариев загружается…
siteExtra — это не готовый сайт, а просто помощник программиста. Без усилий сайт не сделать, за это программисту и платят.
ДмитрийСборка отличная, но Fenom не хочется учить, возможно ли его отключить?
Еще заметил глюк, при переносе с хостинга на хостинг (в рамках одного хостинга) и смены адреса core в отчете об ошибках сыпется следующие
И так по каждому дополнению которое вшито в сборку, происходит это из за обновления списков установленных дополнений. Если удалить дополнение и поставить заново из репозитария, то ошибка пропадает. Может есть комплексное решение этой болячки?
Ошибок ни в modx не в серверном файле нет
В чанке form.contact_form указан неправильный тип инпут полю type=«phone» такого в синтаксисе нет, есть type=«tel»
.
Вот так правильно:
Кстати, обратные слеши тоже не нужны!
Личный вопрос от меня:
В чанке tpl.contact_form есть такой код {$message | nl2br}, что означает nl2br?
joxi.ru/nAyXp7jHXdJ5d2
nl2br — New line to br — переносы строк превращаются в тег <br>
В чанке form.contact_form пустой action="" на него ругается валидатор:
раньше я так заполнял action="[[~[[*id]]]]" а вот как сейчас, на феноме, надо в документации порыться.
— В тебе письма приходит «Сообщение с сайта http://*****.ru/» раньше это решалось такой строкой
согласись, не очень красиво joxi.ru/82Q7jyzs1an7Dr
В целом я вижу условия, я их понимаю, но не понимаю, что означает
Но тут мы проверяем id, потом проверяем parent и нам надо как-то понять, что ни одно из условий не выполнилось. Для этого используется так называемый «флаг» — переменная $default. Если условие выполнено, я флаг выключаю (ставлю false) — тогда дефолтный чанк не будет выведен.
не сработает т.к. переменная default будет иметь булевое значение false.
Из доки по php:
p.s. Одновременно ответили :-)
И по умолчанию можно убрать расширение у html документов?
После этого можно будет отправить PR. Это ускорит обновление компонента.
А как по вашему начинающему разработчику (ведь именно для них сделана эта сборка) понимать эту идеологию, если вы уводите его в сторону от традиционного подхода? Они еще не понимают и не читают «традиционный язык MODx» и не понимают взаимосвязей, а вы им Fenom для развлечения – «Благодаря Fenom настройка форм обратной связи на сайте удалось несколько облегчить». Не велика ли плата за это?
Я понимаю, что вам нравится Fenom и все замысловатые решения перекликаются с другими Дополнениями, но такой подход мне кажется не оправданным для такого простого сайта.
Для сайта-визитки всего этого не нужно, задача решается простыми «стандартными» решениями, без необходимости наворачивать такой огород.
Здравым объяснением такому подходу может быть только одно – забота об админе, чтобы тот не «заблудился» в 2-5 шаблонах.
А может я Вас не понял. Если можно, ответьте только на один вопрос, зачем вы «Все» поместили в один шаблон? Ответ: «- Второй мне не понадобился», не катит :)
Благодарю Вас за интересный опыт и возможность почитать ваш код.
Страницы создает, а пакеты не устанавливает
Список ошибок во время установки к сожалению не сохранил.
Хостинг — timeweb и reg.ru
пробовал php 5.6,7.1,7.2
После установки пакетов вручную попробовал переустановить siteExtra и получил такие ошибки:
/*
* MODX Console Output
*
* @date 2018-05-18 19:02:42
*/
Пробуем установить пакет с подписью: siteextra-1.4.6-rc
Пакет найден… сейчас идёт подготовка к его установке.
Загрузка рабочего пространства пакета…
Рабочее пространство загружено, сейчас устанавливаем пакет…
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => head
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => menu
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => child_list
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => header
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => content
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => content_default
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => content_specialist
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => aside
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => footer
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => contact_form
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => form.contact_form
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => tpl.contact_form
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => specialists
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => gallery
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => block.gallery
)
Skipping vehicle object of class modChunk (data object exists and cannot be upgraded); criteria: Array
(
[name] => scripts
)
Skipping vehicle object of class modSnippet (data object exists and cannot be upgraded); criteria: Array
(
[name] => clearPhone
)
Skipping vehicle object of class modSnippet (data object exists and cannot be upgraded); criteria: Array
(
[name] => rtrim
)
Skipping vehicle object of class modPlugin (data object exists and cannot be upgraded); criteria: Array
(
[name] => addManagerCss
)
Skipping vehicle object of class modPluginEvent (data object exists and cannot be upgraded); criteria: Array
(
[pluginid] => 1
[event] => OnManagerPageInit
)
Skipping vehicle object of class modPlugin (data object exists and cannot be upgraded); criteria: Array
(
[name] => siteRedirect
)
Skipping vehicle object of class modPluginEvent (data object exists and cannot be upgraded); criteria: Array
(
[pluginid] => 2
[event] => OnHandleRequest
)
Skipping vehicle object of class modTemplate (data object exists and cannot be upgraded); criteria: Array
(
[templatename] => siteExtra
)
Attempting to preserve files at /путь/assets/components/siteextra into archive /путь/core/packages/siteextra-1.4.6-rc/modCategory/c983a246ddd203de34c0f0615d86f21e.0.preserved.zip
Attempting to preserve files at /путь/core/components/siteextra into archive /путь/core/packages/siteextra-1.4.6-rc/modCategory/c983a246ddd203de34c0f0615d86f21e.1.preserved.zip
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
PHP notice: Undefined index: install_addons
PHP warning: in_array() expects parameter 2 to be array, null given
Успешно установлен пакет siteextra-1.4.6-rc
/* EOF */
Обновил, но все равно полно ошибок во время установки и опять установились только ресурсы и шаблоны/чанки.
Вот мой вопрос тут modx.pro/help/15735/ развернуто, прошу внеси ясность.
ЗЫ. block.gallery =))
Установил с нуля.
Написано, что контактные данные перенесены в ClientConfig
Однако там есть только 5 параметров
admin_groups
clear_cache
context_aware
google_fonts_api_key
vertical_tabs
Может я не там ищу или это всё-таки глюк?
Благодарю.