Готовые решения

Подпираем костылём EXIF

Школьная задачка.
Дано: есть вертикальная фотка в горизонтальном файле размером 2016х1512 и метаданными EXIF, куда её вращать.
Поведение: phpthumb фотку послушно поворачивает, но вот обрезку делает по исходному горизонтальному формату.
Найти: смысл жизни в форме правильно обрезанной фотки.

В исходниках phpthumb и премудростях $this->source_width, $this->source_height я не разобрался, поэтому решил задачу двухколесным другом — поворачиваю исходную фотку согласно EXIF перед тем как она попадет в phpthumb.

tolanych
29 января 2019, 21:25
modx.pro
5
1 993
+5

Список наиболее покупаемых товаров minishop2

Вчера пришло письмо от работодателя, с просьбой придумать способ, который позволит менеджеру сайта видеть перечень всех приобретенных товаров, а также видеть, сколько раз каждый товар был куплен.
Решением этого стал сниппет mostPopular.php, которым делюсь с вами, хотя уверен, что большинство сделает лучше, но тем не менее — вдруг кому пригодится.
Скачать можно с гитхаб, там всего два файла — сниппет и чанк к нему.
github.com/Alex-Mel/mostBoughtProducts
Александр Мельник
28 января 2019, 09:48
modx.pro
6
1 614
+7

Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "eval:

Недавно решил обновится до с 2.5.2 до 2.7.0 версии, PHP Version 5.4.45, обновилось все удачно, полез в админку и бац мне вылезло:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "eval:<li id="limenu-site" class="top"> <a hre..." on line 141 "});{/literal} ">Завершить все сеансы<span class="description">Завершить все сеансы работы пользователей и произвести принудительный выход из системы всех пользователей.</span>" - Unexpected " MODx.msg.confirm({ title: _('flush_sessions') ,text: _('flush_sessions_confirm') ,url: MODx.config.connector_url ,params: { action: 'security/flush' } ,listeners: { 'success': {fn:function() { location.href = './'; },scope:this} } });", expected one of: LITERALSTART , LITERALEND , LITERAL <-- thrown in .../core/model/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 141
Ну я пошел гуглить в чем проблема и наткнулся на эту тему, там проблему не решили, но в заголовке стоит «Решено».
vectorserver
23 января 2019, 09:39
modx.pro
1
4 012
0

Как вернуть старую кнопку "Уничтожить ресурсы" в MODX

Полезно для тех кого не устраивает менеджер для удаления ресурсов, начиная с версии 2.7:
Оказалось довольно просто: создаем плагин returnKilButton
И два события OnManagerPageBeforeRender и OnResourceToolbarLoad

Андрей Степаненко
10 января 2019, 09:37
modx.pro
1
1 925
+6

Простой(или нет) способ обновить кеш страницы у клиента.

Столкнулся с такой ситуацией: клиент захотел сделать рескин сайта, я всё переверстал, но штука в том, что все картинки закешированы в браузерах у тех, кто уже был на сайте, и если с файлами стилей или яваскриптом я могу сделать style.css?ver=2 с сылкой на стильник, то все картинки во всех шаблонах и чанках так не обновишь.
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
<?php
if ($modx->event->name == 'OnWebPagePrerender') {
    $output = &$modx->resource->_output;
    $output = str_replace('.png',".png?ver=" . $modx->getOption('assets_version'),$output);
    $output = str_replace('.jpg',".jpg?ver=" . $modx->getOption('assets_version'),$output);   
}
Антон
06 января 2019, 03:10
modx.pro
11
2 658
+11

Характиристики 1С + msOptionsPrice2 и др. (CommerceML)

Компании растут, всем требуется больше возможностей от 1С и от сайта. 1С наверно никогда не сможет стать полноценным сайтом, все ровно фронтенд могу настроить только хорошие фронтендщики, кем 1С программисты не являются.

В общем статья для тех кто хотя бы раз синхронизировал 1С и Modx;
Андрей Степаненко
05 января 2019, 20:26
modx.pro
6
2 323
+9

Автоматический вывод всех свойств категории в mFilter2

Небольшой сниппет обёртка для mFilter2 который автоматически выводит все свойства с возможностью исключать определенные.

Как пользоваться:


  1. Создаем сниппет, называем его, например: mFilter3
  2. Создаем категорию (папку, чтобы не было путаницы), называем его, например: Не участвует в фильтрации, запоминаем его ID
  3. Помещаем все свойства которые не должны участвовать в фильтрации в данную категорию
Баха Волков
14 декабря 2018, 15:13
modx.pro
14
1 775
+9

Программно изменяем значение у пользователей, с условиями

Решил поделиться одним готовым решением. Лично мне, нужно нескольким тысячам юзеров в разных группах, раздать разные значения потраченных денег на покупки (эдакий перенос со старого сайта). Но если кто не понял, то давайте просто представим, что нам нужно изменить некоторые данные у пользователей, которые находятся в определенной группе. Казалось бы все просто. Нам нужно указать id определенной группы, вытащить из неё всех пользователей и изменить им нужные нам данные. Для многих программистов давно работающих с MODX, это дело 5-ти минут. У меня же это заняло около двух часов. В итоге решил, разу уж написал решение, нужно как обычно поделиться, мало ли кому-нибудь, когда-нибудь это понадобится. Ну или вон, Николай спарсит на модкс-клаб (шутка). =)
iWatchYouFromAfar
10 декабря 2018, 22:01
modx.pro
8
1 812
+8

Пару модификаторов для MODX

Модификатор телефонного номера

К примеру нам нужно вывести телефонный номер в формате: +7 (900) 2000 600 и так чтобы он нажимался как ссылка для запуска на устройствах

Но так как плейсхолдер всего один [[++phone]]

Создаем сниппет phone c содержимым
Андрей Степаненко
07 декабря 2018, 09:42
modx.pro
18
3 748
+13

[miniShop2] Как тестировать письма без оформления заказа


Иногда приходится тестировать внешний вид писем, отсылаемых при оформлении заказа. Чтобы не оформлять постоянно заказ для просмотра внешнего вида, написал сниппет. Подробности под катом.
Павел Гвоздь
25 ноября 2018, 15:48
modx.pro
36
3 963
+13