Василий Столейков
С нами с 19 декабря 2012; Место в рейтинге пользователей: #25Как обновить все url
Раньше на сайте не использовалось чпу. После включения, все url отображаются на русском. Также в типах содержимого удалил .html, но url все равно такие /reebok-дерзкий-бренд.html
Если ресурс обновить, то все нормально становится.
Ресурсов на сайте несколько тысяч, в ручную не вариант.
Пробовал так community.modx-cms.ru/blog/tips_and_tricks/10322.html — ничего не вышло.
Собственно, как обновить все url? Может сниппет есть какой?
Если ресурс обновить, то все нормально становится.
Ресурсов на сайте несколько тысяч, в ручную не вариант.
Пробовал так community.modx-cms.ru/blog/tips_and_tricks/10322.html — ничего не вышло.
Собственно, как обновить все url? Может сниппет есть какой?
Сжатие HTML
Читал одну статью и задумался, а почему на modx нет такой утилиты?
Почему он не выплевывает результат в сжатом виде для юзера?
Кто нибудь задавался таким вопросом или озадачивал себя такой задачей?
[mSearch2] 1.2.0-rc Самостоятельная генерация фильтров
На днях в поддержке mSearch2 был задан вопрос:
То есть, речь идёт о бесконечном количестве свойств у товара, добавляемых в одно текстовое поле, и построении для них фильтров.
Вроде бы, продвинутые возможности расширения класса mFilter2 должны бы с этим справиться? Как оказалось — нет.
Мне необходимо сделать на сайте фильтры по очень большому количеству параметров. Причем, наборы этих параметров отличаются в зависимости от категории.
Планируется что информация о товарах будет постоянно автоматом импортироваться через API этого поставщика на сайт который я делаю.
С другой стороны, волосы встают дыбом при мысли о ручной настройке такого количества дополнительных полей miniShop2 через механизм плагинов или TV.
Поэтому, пришла такая идея:
Все названия доп.параметров записывать в поле Теги, которое уже реализовано в miniShop2. Например, товару можно записать два таких тега: «Максимальное разрешение видеозаписи|2304x1296» и «Тип видеорегистратора|Стандартный».
Теперь осталось только придумать как сгруппировать эти тэги по первому полю (до разделителя "|") и создать из каждой группы отдельный фильтр.
То есть, речь идёт о бесконечном количестве свойств у товара, добавляемых в одно текстовое поле, и построении для них фильтров.
Вроде бы, продвинутые возможности расширения класса mFilter2 должны бы с этим справиться? Как оказалось — нет.
Использование тегов MODX внутри @INLINE-чанков pdoTools
Многие знают, что в pdoTools в качестве шаблона вывода можно указывать @INLINE-код, чтобы не создавать лишних сущностей.
Некоторые знают, что в таких конструкциях нельзя вызывать сниппеты, не работают фильтры ввода-вывода. А в документации про это даже картинка саркастическая есть.
Хочу раскрыть небольшую тайну, как можно это ограничение иногда обойти… Подробности под катом :-Р
[[!pdoResources?
&tpl=`@INLINE <li>[[+pagetitle]]</li>`
]]
Некоторые знают, что в таких конструкциях нельзя вызывать сниппеты, не работают фильтры ввода-вывода. А в документации про это даже картинка саркастическая есть.
Хочу раскрыть небольшую тайну, как можно это ограничение иногда обойти… Подробности под катом :-Р
Автоматическая генерация оглавления страницы
На днях появился вопрос об автоматическом создании оглавления статьи, а позже где-то проскочил комментарий, мол неплохо бы такое добавить на docs.modx.pro — там же все документы хорошо структурированы.
И действительно, а почему бы не добавить? Выделил полчасика и набросал сниппет makeContents, который генерирует вот такое оглавление:
И действительно, а почему бы не добавить? Выделил полчасика и набросал сниппет makeContents, который генерирует вот такое оглавление:
Вывод последнего комментария к тикету
Выводим последний коммент с тикету.
У меня выводится последний коммент «верхнего» уровня, т.е. только коммент а не коммент к комменту…Господи что я пишу
Если нужно выводить именно последний комент, меняем parent => 0 на 1
Топаем в сниппет getTickets, ищем 182 строку
У меня выводится последний коммент «верхнего» уровня, т.е. только коммент а не коммент к комменту…
Если нужно выводить именно последний комент, меняем parent => 0 на 1
Топаем в сниппет getTickets, ищем 182 строку
// Special fields for quick placeholders
После нее вставляем:$c = $modx->newQuery('TicketComment');
$c->where(array('thread' => $row['thread'], 'parent' => 0));
$c->sortby('id','DESC');
$ticket_comments = $modx->getIterator('TicketComment',$c);
foreach($ticket_comments as $last_ticket_comment){
$row['last_comment'] = $last_ticket_comment->text;
break;
}
В tpl.Tickets.list.row вставляем плейсхолдер [[+last_comment]]
[Tickets] Сообщения
Разбираясь с компонентом Tickets в процессе работы над книгой отзывов, особенно в части комментариев, крепла уверенность, что в Tickets есть почти все необходимое для создания системы личных сообщений. Нужно лишь чуть подкрутить. Поэтому не долго думая, решил попробовать. Получилось так
[Tickets] Комментарии со смайликами
Вот дошли до второй части описания книги отзывов. Здесь я расскажу, как добавить колобков к комментариям.
В первой части я написал, что ajax — самая простая часть. На самом деле — добавить смайлики к комментариям так же просто. Всего те же простых 3 шага.
В первой части я написал, что ajax — самая простая часть. На самом деле — добавить смайлики к комментариям так же просто. Всего те же простых 3 шага.
[Tickets] Ajax комментарии
В продолжении темы про книгу отзывов.
Как и обещал, выкладываю описание решения. Только я решил разбить его на отдельные пункты, потому что каждая из описанных возможностей может быть использована независимо от других.
Первым пунктом была указана возможность ajax подгрузки комментариев. Она самая простая. С нее и начнем.
Как и обещал, выкладываю описание решения. Только я решил разбить его на отдельные пункты, потому что каждая из описанных возможностей может быть использована независимо от других.
Первым пунктом была указана возможность ajax подгрузки комментариев. Она самая простая. С нее и начнем.
Динамическое обновление основной корзины
У MS2 есть хорошая вещь как возможность расширения класса msCartHandler. Все обновленные данные берутся $miniShop2->cart->status() и отсюда следует что нужно в этот массив данных дописать нужные нам данные, а именно список товаров которые попадут в [[+goods]]
И так начнем «колдовать»!
И так начнем «колдовать»!