Sergey (Sentinel)
С нами с 11 августа 2017; Место в рейтинге пользователей: #171Шпаргалка на все случаи жизни
Полезные ссылки, которые Вам пригодятся в некоторых ситуациях.
Обновление App
Удобная фильтрация в mSearch2 на мобильной версии (внешний вид)
Доброго всем!
дам очень нужную инструкцию для изменения внешнего вида фильтров на мобильной версии (в десктопной ничего не измениться) в mSearch2 совместно с minishop2
На выходе нас ожидает меню куда спрячутся все фильтра, а сбоку, поверх всего будет закреплена кнопка управляющая этим меню (открыть, закрыть). Работает как в bootstrap 3 так и в bootstrap 4. Внешний вид фильтров настраиваете на свой вкус и цвет.
Впринцыпе данный пример можно использовать где угодно, возможно спрячете меню блога, ну там уже на свое усмотрение. Работает через jquery
дам очень нужную инструкцию для изменения внешнего вида фильтров на мобильной версии (в десктопной ничего не измениться) в mSearch2 совместно с minishop2
На выходе нас ожидает меню куда спрячутся все фильтра, а сбоку, поверх всего будет закреплена кнопка управляющая этим меню (открыть, закрыть). Работает как в bootstrap 3 так и в bootstrap 4. Внешний вид фильтров настраиваете на свой вкус и цвет.
Впринцыпе данный пример можно использовать где угодно, возможно спрячете меню блога, ну там уже на свое усмотрение. Работает через jquery
Автоматическая смена версии стилей при очистке кэша в MODX
Решил поделиться своим решением версионирования файлов стилей. Зачем нужно версионирование, я, наверное не буду объяснять. Вообще смена версий не такой частый процесс и зачастую он нужен не только для того, чтобы браузеры подхватывали измерения в стилях, но и для отслеживания версий сайта. Вариантов как это реализовать масса. Я состряпал наиболее подходящее для меня и решил поделиться им.
К слову, пока писал этот пост, в телеграм канале как раз подняли эту тему. :-)
К слову, пока писал этот пост, в телеграм канале как раз подняли эту тему. :-)
[mSearch2] Версия 1.13 с поддержкой плагинов ms2
Представляю вам новую версию самого популярного дополнения в modstore.pro, которая улучшает работу фильтра с дополнениями для скидок.
Как известно, mFilter2 работает напрямую с базой данных, чтобы выбирать все данные для построения фильтров максимально быстро. И если эти данные чем-то меняются перед выводом, например дополнением msDiscount, то в фильтре цены будут одни значения, а при выводе товаров — другие.
Раньше мы просто расширяли фильтр и добавляли поддержку плагинов при выборке, но в новой версии это сделано из коробки.
Как известно, mFilter2 работает напрямую с базой данных, чтобы выбирать все данные для построения фильтров максимально быстро. И если эти данные чем-то меняются перед выводом, например дополнением msDiscount, то в фильтре цены будут одни значения, а при выводе товаров — другие.
Раньше мы просто расширяли фильтр и добавляли поддержку плагинов при выборке, но в новой версии это сделано из коробки.
Подпираем костылём EXIF
Школьная задачка.
Дано: есть вертикальная фотка в горизонтальном файле размером 2016х1512 и метаданными EXIF, куда её вращать.
Поведение: phpthumb фотку послушно поворачивает, но вот обрезку делает по исходному горизонтальному формату.
Найти: смысл жизни в форме правильно обрезанной фотки.
В исходниках phpthumb и премудростях $this->source_width, $this->source_height я не разобрался, поэтому решил задачу двухколесным другом — поворачиваю исходную фотку согласно EXIF перед тем как она попадет в phpthumb.
Дано: есть вертикальная фотка в горизонтальном файле размером 2016х1512 и метаданными EXIF, куда её вращать.
Поведение: phpthumb фотку послушно поворачивает, но вот обрезку делает по исходному горизонтальному формату.
Найти: смысл жизни в форме правильно обрезанной фотки.
В исходниках phpthumb и премудростях $this->source_width, $this->source_height я не разобрался, поэтому решил задачу двухколесным другом — поворачиваю исходную фотку согласно EXIF перед тем как она попадет в phpthumb.
Округление цен
Была проблема что выводятся цены с десятками и сотнями.
Обычное округление не помогло т.к цена 5 458 руб, превращалась в 5 руб.
Поэтому написал сниппет.
Сниппет (название сниппета «round») для округления цен следующий:
—
При заходе не страницу выводит все отлично, но при нажатии на фильтр в каталоге товаров, все цены уходят в нули,
сам вызов стоимости товара [[!+price:round]] руб.
Обычное округление не помогло т.к цена 5 458 руб, превращалась в 5 руб.
Поэтому написал сниппет.
Сниппет (название сниппета «round») для округления цен следующий:
—
<?php
//Убираем пробелы после первой цифры чтобы округлить иначе из 5 458 руб, будет 5 руб.
$int_t = round(str_replace(' ', '', $input));
if(strlen($int_t) == 0) return;
//Округляем и возвращаем пробел перед первой цифрой.
$int_t = floatval(str_replace(array(' ',','), array('','.'), $int_t));
return number_format($int_t,(floor($int_t) == $int_t? 0: 2),'.',' ');
— ВОПРОС:При заходе не страницу выводит все отлично, но при нажатии на фильтр в каталоге товаров, все цены уходят в нули,
сам вызов стоимости товара [[!+price:round]] руб.
Вывод модификаций msOptionsPrice2 в окне заказа minishop2, при добавлении товара.
Всем привет, столкнулся с задачей сделать выбор модификаций компонента msOptionsPrice2, при добавлении товара в заказ минишопа, в админке.
Как организвать турбо-страницы для блога на Tickets?
Есть интерес сделать для блога вывод турбо-страниц для Яндекса. Наверняка вы слышали об этом. Блог сделан на Tickets. Поисковики много чего по этому поводу выдают, но одна статья плагиат на другую. Кто-то делал вывод турбо-страниц из Тикетов? Можете рассказать, а лучше с примерами кода, как это все организовать от ресурса до чанка. Заранее благодарен.
Ускоряем массовое обновление ресурсов в 3 раза
Массовая выгрузка ресурсов, не такая уж простая задача, как может показаться на первый взгляд. Много подводных камней, касающихся улучшения производительности скрипта. Особенно неприятно, когда тормозит скорость работы из-за функционала ядра MODX.
Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.
Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.
Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.
Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.
Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!