MODx: убираем слэш (косую / черту) в конце img

Разрабатывая сайты, мне хочется наполнять интернет качественным продуктом, качественным до такой степени, что ошибка в один пиксель для меня фатальная.

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

Работаю я на MODx (читается «модэкс») — это система управления содержимым с открытым исходным кодом и открытой лицензией. Полюбил я его за гибкость, контролем вывода HTML-кода, разделением логики работы CMS и дизайна, и если вам необходимо нарисовать семь перпендикулярных красных линий из которых две будут синими, а остальные прозрачные, то MODx это может.

Заканчивая очередной проект, который полностью разработал «с нуля» для своего постоянного клиента, столкнулся не то, чтоб с проблемой и даже не с ошибкой в коде. Можно было оставить конечно и так, ошибкой это не считается.

При выводе через TV поле (TV в MODx – это переменные для шаблонов) изображений <img> проверяя код на ошибки валидатором столкнулся с косой чертой, слэшем в конце тэга <img src="image/ foto.jpg" />. Ошибкой это не считается, просто информация от валидатора мне не давала покоя: Info: Trailing slash on void elements has no effect and interacts badly with unquoted attribute values - Завершающая косая черта на элементах void не имеет никакого эффекта и плохо взаимодействует со значениями атрибутов без кавычек.

Я начал искать решение этого вопроса. Натыкался на различные сниппеты, скрипты, плагины с которыми я не хотел связываться, зная, что решение должно быть простым и легким.

Через пару дней мучений я вспомнил про модификаторы. Модификаторы в MODx — это фильтры, которые позволяют выводить на страницах информацию с применением тех или иных условий. И проблема как удалить косую черту в конце img решилась за 2 минуты.

Есть прекрасный модификатор, который позволяет менять что угодно на что угодно. Вот я и поменял часть тега img со слешем. А выглядит это вот так: при выводе изображения просто дописываем в него, что нем необходимо на что поменять [[+tv. img:replace=` />==>`]] удаляя при этом слэш в конце тега img.

Сайт проходит валидацию кода без предупреждений.
Сайт проходит валидацию кода без предупреждений.
1
Начать дискуссию