Очередное небольшое решение из мира верстки и CSS. Любой верстальщик регулярно сталкивается с маркированными списками и маркерами для этих списков, которыми можно красиво стилизовать эти списки, особенно если это пункты меню. Списки выглядят круто и вроде больше ничего не надо дорабатывать, пока не появляется многострочный пункт, когда переносящийся текст начинает выглядеть некрасиво.
Любой разработчик на MODX сталкивается с необходимостью добавления даты в код сайта. Как правило, это фата копирайта в футере или текущая дата в каком-то блоке информации. Дату можно обновлять в ручную, но это не эффективно и времязатратно. Можно выводить через сниппет, но это минимум плюс один запрос к базе данных, количество которых хочется держать по минимуму.
В рамках работы по оптимизации одного проекта наконец дошли руки до внедрения Last-Modified на сайте с Modx Evolution. Внедрение правильной обработки данного заголовка не только будет сообщать о дате последнего изменения документа. Правильная реализация Last-Modified должна так же снизить нагрузку на сервер и положительно отразиться на индексировании сайта поисковыми системами, что напрямую следует из рекомендаций Яндекса. Возможно данное нововведение положительно отразится и на позициях сайта.
Продолжая тему интерактивных элементов на странице сайта, хотелось бы коснуться такой вещи, как появление элемента при прокрутке (скроллинге). Не важно, что это будет за элемент, форма для подписки, рекламный баннер или кнопка вверх, в любом случае механизм появления/сокрытия будет одним и тем же. Так как же сделать появление элемента при прокрутке страницы вниз?
На протяжении многих лет для поиска по сайтам с установленной Modx пользовался доработанной под себя версией сниппета HyperFlexSearchForm. Шло время, поиск исправно работал, и всех все устраивало, пока на одном из посещаемых проектов не был установлен и настроен счетчик Google Analytics. Практически сразу аналитика показала, что поиск является явным узким местом сайта. Через месяц, после накопления статистики, стало видно, что порядка 80% пользователей уходят с поиска не получив нужной им информации. И тогда возник вопрос, как сделать полноценный поиск по сайту на Modx?
Несколько раз упоминал про оптимизацию JS и CSS, и даже написал статью, в которой рассказал, как эти методы применяются мною на практике. Несколько раз натыкался на материалы, где упоминались программы оптимизаторы, в том числе от Google, которые вебмастера внедряют в сайты для автоматизации этого процесса, но руки до них не доходили. Недавно у одного из разработчиков Modx промелькнуло, что он использует какой-то комплексный минифаер (minify), который был сразу загружен, изучен и внедрен.
Как известно, в ModX есть прекрасный механизм позволяющий прикрепить практически любые собственный данные к документу, с последующим выводом этих данных. Данный механизм называется Template Variables (Переменные Шаблона). Однако у данного механизма есть небольшое ограничение, это невозможность задать одной переменной несколько значений.
Решил поделить совсем простым решением для обеих версий Modx, которое использую практически на каждом проекте. Проблема в том, что регулярно возникает необходимость вывода различных блоков информации в тех или иных местах макета, а создавать отдельный шаблон для этого не хочется, так как работать с большим количеством шаблонов более времязатратно.