
Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #2029 минут назад
Я за чтение документации и освоение основ. Вопрос с использованием модификаторов в инлайновых чанках очень популярный и, наверное, нагуглить ответ на ...
Вывод ТВ Multiselect 5
2 часа назад
В Modx есть очереди, можно было не делать отдельную таблицу, а использовать их. Но это имеет смысл только если на создание уходит больше 30 секунд, чт...
Создание товаров через ЛК из контекста web 6
Вчера в 14:38
Большое спасибо, заработало. Но возник вопрос с alias, при создании записи генерируется alias, но он не появляется в поле псевдоним в админке. И еще в...
Как сделать загрузку изображения с фронтенда в tv поле 2
08 марта 2025, 08:06
Пока нет такого функционала, но постараюсь в ближайшее время добавить
Cabinet 13
07 марта 2025, 23:17
Про код. Про «научиться писать код понятный и логичный». Не в тему поста выше, ситуация вчера/сегодня и смех и грех.
Вчера пришел запрос от Заказчика...
Плюсы и минусы Vue и gtsAPI 23
07 марта 2025, 22:34
Уроки по синхронизации с Битрикс24 имеют весьма опосредованное отношение к Modx. Да и основная сложность при работе с Битрикс24 это структура хранения...
Виджеты в админке или как добавить свою кнопку 6
07 марта 2025, 21:49
Абсолютные пути будут поправлены со следующей версией, готовлю обновление в плане управления темой, не только переключалка тем будет…
[EclipseUI] Обновление до версии 1.1.3 Кнопка переключения тем. 8
07 марта 2025, 04:59
Я делал ровно такое через тегирование, компонентом tvSuperSelect.
На другом сайте клиники пытался сделать через taxonomy, но там что-то пошло не та...
Сайт мнгопрофильного медицинского центра на minishop2 2
06 марта 2025, 13:02
Теперь всё понятно.
Спасибо за разъяснение.
[SendIt 2.2.0] Авторизация по любому полю. Генерация username. 10
Не за что.
А на счет настройки сервера: не уверен, но судя по всему в настройках fastcgi надо еще править, а не нгинкс. То есть нгинкс уже согласен больше пропускать, но конечный обработчик не согласен.
$modx->getManager()->createObjectContainer('modManagerLog'); В крайнем случае просто через phpMyAdmin удалите и создайте новую таблицу.
А то, как у вас сейчас сделано, просто не позволит мне выполнить что-то типа такого:
Мне в таком случае опять-таки придется использовать костыль с обфлэшем.
Ничто вам не мешает писать print include $this->_scriptFilename;
Куча принтов в сниппетах — это всегда было плохо. Пусть мне кучу минусов к коменту напихают несогласные. Сниппет — это логика. Она не должна ничего принтить. Принт — это вопрос шаблонизации, а это уже дело шаблонов и чанков. Но чанки опять-таки должны вызываться кодом-обработчиком.
Сергей, вы здесь в корне не правы, сорри. Поясню. Просто проследите ход выполнения метода MODx::runSnippet(). Самое важное: $output= $snippet->process($params); Уточняю: в данном случае выполняется присвоение. Вывод print/echo просто так присвоить нельзя. Для этого в modScript (расширяемый классом modSnippet) используется костыль ob_start()/ob_get_contents()/ob_end_clean(), и используется он как раз потому что многие именно MODX-разработчики вместо return пишут print/echo в своих сниппетах. Таким образом им просто облегчили жизнь. Но все-таки правильно именно возврат значения делать через return;
Еще аргумент: есть негласное правило у программистов: любая функция должна выполнять return, даже если она ничего не возвращает. Это как минимум для читабельности кода. Так вот, сейчас в modScript выполняется include кеш-файла сниппета, а вот еще каких-то пару лет назад код сниппета преобразовывался в функции и сниппет вызывался именно как функция. А еще раз повторюсь: функции должны выполнять возврат, а не принт.