0.00
101 читатель, 83 топика

rel=canonical стандартно и для страниц с параметрами

Автоматическое добавление тега с канониклом только для страниц с параметрами, либо если задан явно.

Создается ТВ с пустым значением по умолчанию. Для использования каноникла по прямому назначению в ТВ указывается ID нужного документа.
Сниппет вызывается в теге head.

Можно задать параметры, для которых тег с канониклом не должен выводиться (соотв. параметр должен быть первым в урле; если
Читать дальше →

Костыли для шаблонов уведомлений JotX

Пишу сюда, чтобы не потерять потом решение своей проблемы.
А проблема вот в чём. Есть в JotX некоторые косяки при отправке уведомлений о новых комментариях (автору, модератору, либо подписчикам). А именно:
1. При добавлении комментария пользователем (не гостем), в шаблоне не обрабатываются плейсхолдеры [+comment.custom.name+] и [+comment.custom.email+].
Я решил это следующим образом:
Читать дальше →

Дружим WebP и EvolutionCMS

формат webp

WebP — формат изображений для веба, который активно пиарит компания Google. Есть он и есть, казалось бы, много каких форматов есть, если бы не одно но: при проверке через новый гугл-спид за отсутствие онных изображений сильно снижаются оценки. И если вам не приходилось выслушивать от клиентов или сеошников то, что показатели гугл-спида низкие и это срочно нужно поправить, то знайте: вы
Читать дальше →

Просмотр форматов Word, Excel, PDF на сайте

Предисловие:
Обратился ко мне заказчик, хочу говорит,
вставлять на странице контент прям из «ворда» и «пдф» прям с картинками и всеми «форматированиями».
Как бы tinymce в modx поддерживает вставки из Word, но:
1. Не поддерживается вставка картинок (из-за ModX, и я считаю, что это правильно)
2. Не всегда точное форматирование текста
3. Куча «мусорных» тегов на выходе
Да, и ещё…
Читать дальше →

multiTV horizontal width

На одном из проектов есть элементы multiTV с display horizontal

$settings['display'] = 'horizontal';
$settings['fields'] = array(
    'code' => array(
        'caption' => 'Код',
        'type' => 'text',
	'width' => 100
    ),
    'title' => array(
        'caption' => 'Название',
        'type' => 'text'
    ),
    'price' => array(
        'caption' => 'Цена',
        'type'

Читать дальше →

ShkPlusMinus - сниппет для добавления плюс/минус в корзине Shopkeeper

Зачастую возникает проблема — дизайнер в полной корзине нарисовал плюсик и минусик для изменения количества — и shopkeeper так сделать стандартными методами просто не дает (у него свой «хелпер» для изменения количества).
Именно для решения этой небольшой, но распространенной проблемы, можно использовать текущий сниппет ShkPlusMinus.
Вызываем его на странице корзины, он сам добавит плюс, минус
Читать дальше →

CodeMirrorTV - для тех, кому нужен CodeMirror в TV

Периодически возникает вопрос как добавить редактор кода CodeMirror к определенному полю TV. Теперь на него есть ответ — плагин CodeMirrorTV. Устанавливаете, перечисляете в конфиге id TV c типом textarea через запятую и все :)
Результаты тестирования и pr приветствуются.

п.с. также имеется частичная поддержка для multiTV, но есть два нюанса:
1. пока нет поддержки автоматического создания
Читать дальше →

Плагин для тестирования веб-пользователей

Добавляет кнопку на странице веб-пользователя в админке, с помощью которой можно его авторизовать (или наоборот). Удобно для тестирования всяких личных кабинетов и защищенных страниц.



Скачивать здесь:
Читать дальше →

Показ сообщения для менеджера интернет магазина

При изменении статуса заказа происходят определенные действия (отправка СМС, письма), выполняемые плагинами повешенными на события, если выводить результат выполнения через $e->output, то он теряется где-то внизу и менеджер его не всегда может заметить.

Данный плагин выводит всплывающее сообщение используя стандартные методы админки без использования дополнительных скриптов.

Читать дальше →

Сохраняем UTM в сессию для FormLister

При переходе по ссылкам на сайте utm метки теряются. Возникла вобщем-то не сложная задача: сохранять utm в сессию. Оказалось, что для FormLister уже существует готовое решение, спасибо Pathologic за то, что поделился им.

Создаем плагин такого вида:


Читать дальше →