НО: это не самое лучшее решение с позиции итоговой скорости, поэтому лучше реализовать ту же логику при помощи идущего в комплекте с pdoTools шаблонизатора Fenom.
Что же до удаления дефолтного алерта, то реализуется примерно так:
— копируем этот код в произвольный файл
— в вызове сниппета AjaxForm указываем при помощи настройки &frontend_js путь до свежесозданного файла
— в самом файле удаляем вот эту строку
(аналогичным способом можно также удалить другие типы алертов, избавляясь от строчек, начинающиеся с AjaxForm.Message)
1) копируете содержимое и создаете кастомный файл скриптов Tickets
(чтобы не затерлось при обновлении)
2) в системных настройках Tickets указываете путь до свежесозданного файла
3) после 194 строки прописываете закрытие модального окна.
Что-то вроде:
НО: это не самое лучшее решение с позиции итоговой скорости, поэтому лучше реализовать ту же логику при помощи идущего в комплекте с pdoTools шаблонизатора Fenom.
С другой стороны, если вы хотите высветить алерт из какой-то произвольной библиотеки, то инициализировать его внутри вышеописанного кода не составит проблем. Если же вы хотите высветить свою стилизацию/текст при помощи идущего в комплекте с AjaxForm jGrowl, то его вызов тоже довольно легко воспринимается наитивно..)
Что же до удаления дефолтного алерта, то реализуется примерно так:
— копируем этот код в произвольный файл
— в вызове сниппета AjaxForm указываем при помощи настройки &frontend_js путь до свежесозданного файла
— в самом файле удаляем вот эту строку
(аналогичным способом можно также удалить другие типы алертов, избавляясь от строчек, начинающиеся с AjaxForm.Message)
Если честно, не уверен, что проблемы с сессией связаны именно с вышеописанным случаем (проверил в связке ms2Gallery + ckeditor — ошибка не воспроизвелась), но могу предложить вставлять прямую ссылку на картинку, а не плейсхолдер:
закладка «галерея» -> выбираете нужное изображение (кликаете) -> нажимаете на превьюшку -> копируете адрес открывшегося окна
Ну и глянуть лог ошибок/консоль при воспроизведении ошибки — может что покажет.
Но не стоит забывать, что это не отменит втроенный алерт из коробки. Т.е. желательно также добавить в вызов сниппета параметр &frontend_js, указывающий на кастомный скрипт обработки формы без вывода итогового алерта.
2. Валидация на уровне php выполняется сниппетом Formlt. (подробнее)
3. Это реализуется при помощи плейсхолдеров и дефолтных скриптов AjaxForm.
Соответственно, в вызов pdoPage прописываются и параметры, относящиеся к пагинации, и параметры, относящиеся к сниппету, который возвращает результаты.
Иначе говоря, вам нужны шаблоны tplPageFirstEmpty, tplPageFirst, tplPageLastEmpty и tplPageLast.
+ если вы хотите присвоить им «пустое» значение, то необходимо прописывать это через @INLINE (т.е. в обход чанкам).
Пример:
Особое внимание обратить на параметры шаблонов.
— нужен не level3, а level2.
+ в случай, если у вас в контейнере будет 3 или менее ресурса — последний пункт не будет проходить т.к. у него в классах будет висеть «last».
Скорее всего, idx всех ресурсов больше 3.
2. Предположим, у вас есть 2 раздела — «Список событий за текущий день» (id 1) и «Архив» (id 2). Тогда содержимое созданного php-файла будет примерно следующим:
Цитата:
Если вопрос с меню косметического плана — то можно решить задачу при помощи jquery.
В противном случае разве что вызывать при помощи pdoResources первый уровень меню, а внутри при помощи него же — второй (с выставленным &limit). Или попробовать расписать составной джоин потомков к первому вызову.
UPD: …или же вообще сверстать все руками, без запросов к бд. А активный пункт присваивать уже при помощи Jquery.
Вообще, тут скорость во многом упирается в глубину поиска и количество дочерних документов, а дальше по приоритету — хостинг и вложенные сниппеты/модификаторы.
Для сравнения, на своем сайте на modhost'e (минимальный тариф) некешируемый вызов двухуровнего меню (суммарно ~18 ресурсов) выполняется за 0.06 секунд (кешируемый за 0.01).
Грубо говоря, есть структура:
И нужно вывести список всех видео, с получением некоторых полей от родителя?
В таком случае код будет примерно такой:
В самом же чанке у нас есть плейсхолдер [[+parent]] и при помощи сниппета pdoField мы можем вытащить из родителя любые требуемые данные.
— решение не слишком хорошее с позиции кол-ва запросов, но задачу решит.
Как альтернатива — можно воспользоваться leftJoin'ом и Select'ом (документация) и подцепить в вызов требуемые поля от родителя.
(подробнее)
1) копируете содержимое и создаете кастомный файл скриптов Tickets
(чтобы не затерлось при обновлении)
2) в системных настройках Tickets указываете путь до свежесозданного файла
3) после 194 строки прописываете закрытие модального окна.