Игорь Терентьев
С нами с 29 ноября 2013; Место в рейтинге пользователей: #83Sendex и AjaxForm - подписка на рассылку ч/з ajax
Sendex, как учебный компонент, особо не развивается, но он довольно удобен и приятен в обращении изнутри сайта. В связи с чем регулярно его использую. Но вот «снаружи», на фронте, он не очень удобен. Очередная просьба от клиента «чтобы окошко появлялось, а страничка не перезагружалась», побудила переписать для себя сниппет так, чтобы потом пользовать его через ajaxform. Получилось три чанка, один сниппет и немного джаваскрипта.
Автоматическая оптимизация изображений
Предлагаю вашему вниманию решение для оптимизации изображений при загрузке на сайт.
Раньше использовал данный способ просто как плагин, решил отдать в массы в виде компонента.
Что делает данный компонент?
Оптимизация изображения для сайта — это уменьшение объема изображения без видимой потери качества.
При загрузке файла через файловый менеджер или тв-поле в ресурсе файла изображения (jpg/png), он автоматически его оптимизирует.
Раньше использовал данный способ просто как плагин, решил отдать в массы в виде компонента.
Что делает данный компонент?
Оптимизация изображения для сайта — это уменьшение объема изображения без видимой потери качества.
При загрузке файла через файловый менеджер или тв-поле в ресурсе файла изображения (jpg/png), он автоматически его оптимизирует.
Использование модификаторов Fenom в PHP
Заметка коротенькая, но может быть полезной.
Все знают, что мы можем добавлять собственные модификаторы Fenom на событие pdoToolsOnFenomInit. А как быть, если мы хотим потом использовать этот же модификатор не в чанках и шаблонах, а в своих PHP скриптах?
А очень просто:
Все знают, что мы можем добавлять собственные модификаторы Fenom на событие pdoToolsOnFenomInit. А как быть, если мы хотим потом использовать этот же модификатор не в чанках и шаблонах, а в своих PHP скриптах?
А очень просто:
$pdoTools = $modx->getService('pdoTools');
$string = 'Some very very long string';
if ($truncate = $pdoTools->getFenom()->getModifier('truncate')) {
$string = $truncate($string, 10);
}
return $string;
Здесь мы получаем модификатор truncate и обрезаем строку до 10 символов, если она больше. msOptionsPrice2 и составной товар
Возникла необходимость при помощи msOptionsPrice2 реализовать составной товар. Оказалось, что компонент не умеет прибавлять к начальной цене товара несколько цен из модификаций одной опции.
Например, есть опция Наполнители, у нее около 20 значений. На фронте, при выборе каждого из значений, цена товара должна увеличиваться на N рублей. Проблема заключается в том, что имена тегам чекбоксов мы даем в виде массива:
<input type="checkbox" name="cb[]">
Компонент, в свою очередь, с таким работать не умеет. Предлагаю решение в четыре простых шага![ExtJS] Расширяем нативную гриду юзеров
После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное
Сразу опишем задачу, которую реализуем в рамках статьи:
- Убрать слева каждой записи ненужный чекбокс,
- Добавить столбцы: Фото, Дата рождения, Страна, Город,
- Добавить возможность отфильтровать пользователей по стране,
- Заменить некрасивое поле поиска на симпатичное и компактное,
- Подсветить заблокированных красным цветом.
settingsWidget - настройки в панели управления
Это маленькое дополнение предназначено для показа выбранных настроек на панели управления MODX.
Добавить виджет на панель: Панели — Default — Редактировать панель — Добавить виджет — Быстрые настройки.
В системной настройке settingswidget_keys указать через запятую список ключей настроек. Например, так:
Дополнение целиком и полностью бесплатно и доступно в Modstore: settingsWidget.
Добавить виджет на панель: Панели — Default — Редактировать панель — Добавить виджет — Быстрые настройки.
В системной настройке settingswidget_keys указать через запятую список ключей настроек. Например, так:
site_name,site_status,emailsender,error_page
Эти перечисленные настройки и будут отображаться в виждете.Дополнение целиком и полностью бесплатно и доступно в Modstore: settingsWidget.
Выборка в MIGX через where
Здравствуйте. MIGX, есть записи в бд такого типа
Нужно достать, например, только записи, где из всех этих id есть значение 13.
пишем
UPD. Всем спасибо. Нашел решение.
"category":["13","20"]
. 13, 20 это id ресурсов и их может быть неограниченное количество, то есть следующая запись может иметь такой вид "category":["13","20","25","45","1587"]
.Нужно достать, например, только записи, где из всех этих id есть значение 13.
пишем
&where=`{"category:LIKE":"%13%"}`
— не работает. То есть оно выводится даже если значение 13 отсутствует в БД вот так "category":["20","25","45","1587"]
Не важно что туда написать все равно выводиться. Кто-то может подсказать как правильно в мигиксе выборку по шаблону запроса через LIKE сделать или может есть другое решение?UPD. Всем спасибо. Нашел решение.
&where=`{ "category:find":"13" }`
Множетственная ReCaptcha2 на 1 стр + Ajaxform
[localizator] Мультиязычность, СЕО, автоперевод...
Вывод Меток на Яндекс Картах по адресу
Автоматическое добавление на карту любых точек по адресу (Филиалы, дилеры, офисы по стране).
Для одного из проектов понадобилось удобно разместить на Яндекс-карте офисы всех дилеров компании по стране. Желательно конечно автоматизировать процесс, чтобы все далее добавленные офисы автоматически добавлялись на карту, без копания в коде и прописывания координат каждой новой точки.
Удалось набросать отличное, полностью автоматизированное решение, которое добавляет офис на карту, оперируя лишь адресом офиса.
Ситуация довольно распространенная, потому думаю будет не лишним поделиться опытом.
Для одного из проектов понадобилось удобно разместить на Яндекс-карте офисы всех дилеров компании по стране. Желательно конечно автоматизировать процесс, чтобы все далее добавленные офисы автоматически добавлялись на карту, без копания в коде и прописывания координат каждой новой точки.
Удалось набросать отличное, полностью автоматизированное решение, которое добавляет офис на карту, оперируя лишь адресом офиса.
Ситуация довольно распространенная, потому думаю будет не лишним поделиться опытом.