Статьи

Статьи обо всем, касающемся Web разработки.


18 Окт 2017

Ввод телефона в input по маске

Простенький скрипт, позволяющий вставлять в input только цифры и только на те позиции в value, где изначально прописаны знаки подчеркивания _

Читать


21 Сен 2017

Доступ к "сырым" значениям полей документа типа "Символическая ссылка" в MODX Revolution

Как получить id ресурса, на который ссылается ресурс с типом "Символическая ссылка"? Казалось бы, ничего сложного, ссылка хранится в поле "content" этого ресурса. Это так, но если вы попытаетесь вывести в шаблоне страницы с типом "Символическая ссылка" тег [[*content]], вы будете наблюдать не хранящийся там id документа-"донора", а содержимое поля content этого самого донора. Как же вытащить то, что прописано в поле content ресурса с типом "Символическая ссылка" в админке?…

Читать


01 Сен 2017

Мультизагрузка изображений в админке MODX Revolution при помощи MIGX

В этом туториале мы узнаем, как мы можем использовать динамический медиа-источник с собственной автоматически созданной папкой для каждого ресурса. Для одновременной загрузки нескольких файлов мы будем использовать диалог multiupload MODX. Все загруженные файлы будут автоматически добавлены в качестве элементов в сетку MIGX. Удаление элементов приведет к удалению файла изображения.

Шаг 1. Создаем динамический медиа-источник.

В админке переходим в раздел Медиа - Источники файлов.

Создаем…

Читать


05 Июл 2017

Перемешивание элементов в DOM контейнере в случайном порядке

Код позволяет перемешать элементы в каком-то контейнере. Зачем это надо? Например, картинки для слайдера выводятся из трех разных источников (например, 5 картинок с автомобилями, 5 с монетами, 5 с фруктами). Вывести их вразнобой средствами бекэнда проблематично, оставить на фронте сгруппированными - некрасиво. Хорошее решение - после загрузки страницы перемешать их.

    
    (function($){

    $.fn.shuffle = function() {

        var allElems = this.get(),
            getRandom…
Читать


22 Май 2017

Счетчик посещений страницы для MODX Revolution (модернизация HitsPage)

Возникла задача собирать статистику по сайту гостиницы (агрегатор гостиниц, но не суть). Количество посещений страниц (уникальных посещений), подсчет количества кликов по ссылкам "забронировать номер" (некий аналог целей из Яндекс метрики), кликов по телефонному номеру объекта. В ссылках, ведущих на страницу бронирования, присутствует GET праметр id, содержащий id ресурса, ссылки с номерами телефонов имеют класс "call" и параметр data-url, содержащий ссылку на документ, к которому этот телефон…

Читать


14 Май 2017

301 редирект с заглавных букв на прописные

Недавно пришлось искать способ настроить 301 редирект с заглавных букв на прописные. То есть при запросе https://SaytoShop.RU редиректить пользователя на https://saytoshop.ru

Из нескольких вариантов на хостинге spaceweb помог вот этот (вставляем в .htaccess):


# Rewrite uppercase letter URL to lowercase
# Skip next two rules if lowercasing in progress (Remove this rule if case-conversion plug-in below is removed)
RewriteCond %{ENV:qLow} ^yes$ [NC]
RewriteRule . - [S=2]
#…
Читать


03 Май 2017

Добавляем alt изображениям, у которых его нет (Revo)

alt является обязательным атрибутом тега img, поэтому его отсутствие негативно сказывается на валидности вашего HTML. При необходимости соответствовать требованиям валидатора, приходится как-то решать проблему отсутствия атрибута alt, например, в коде, который вставляет в контент манагер. Выкладываю небольшой плагин, добавляющий тегам IMG аттрибут alt (если последний отсутствует).

Создаем плагин, называем его как-нибудь, на закладке "Системные события" ставим галку напротив OnWebPagePrerender…

Читать


18 Апр 2017

Блок "Ранее просмотренные товары" на MODX

"Ранее просмотренные товары", "Вы недавно смотрели" и т.д. - мало какой современный интернет-магазин обходится без этих блоков.

Обычно подобные блоки входят в состав дистрибутива интернет-магазина (Shopkeeper, minishop). Если же возникает потребность вывесли такой блок на обычном сайте (например, каталог без магазинной части, сайт со статьями и т.д.) - необходимо реализовать этот функционал самостоятельно, чем сейчас и займемся.

Логика довольно проста: при посещении страницы,…

Читать


10 Апр 2017

Ditto пагинация с разрывами

Старичок Ditto все еще применяется на многих сайтах. У него есть много минусов, но он проще в освоении, чем более кошерный DocLister.

Один из минусов Ditto - ненастраиваемый вывод пагинации. В том смысле, что Ditto покажет все страницы из пагинации, и ему все равно, сколько этих страниц, 5 или 500. А нам совсем не все равно, потому что простыня из 500 ссылок на страницы пагинации - это не совсем то, что нам хотелось бы увидеть.

Есть несколько вариантов борьбы с этой проблемой.…

Читать


31 Мар 2017

Обновление MODX Revolution

Обновление MODX Revolution - очень важная и нужная процедура. Необходимо регулярно обновлять MODX хотя бы из соображений безопасности - с каждым новым релизом приходят исправления найденных проблем в безопасности, поэтому чем свежее ваша версия MODX - тем спокойнее у вас на душе. Тем более что с недавнего времени (точно не скажу, но по-моему, начиная с релиза 2.5.4) обновить MODX Revolution можно за пару минут и буквально пару кликов (при условии, что вы не вносили никаких правок в код ядра. Но…

Читать


Сообщение отправлено

Закрыть