Константин
С нами с 30 мая 2017; Место в рейтинге пользователей: #272Изменяем форму заказа minishop2
msProductOptions отображаются незаполненные поля опции товара minishop2
MODX Revolution 2.5.7-pl
Вывожу карточку товара minishop2, при этом отображаются пустые опции.
Это началось после обновления до minishop2 версия 2.4.12-pl
Раньше все было нормально, пустые опции не выводились.
Вывожу так:
[[msProductOptions?
&tpl=`rnProductOptions`
&ignoreOptions=`opt1, opt2, ...`
]]
tpl rnProductOptions:
Вывожу карточку товара minishop2, при этом отображаются пустые опции.
Это началось после обновления до minishop2 версия 2.4.12-pl
Раньше все было нормально, пустые опции не выводились.
Вывожу так:
[[msProductOptions?
&tpl=`rnProductOptions`
&ignoreOptions=`opt1, opt2, ...`
]]
tpl rnProductOptions:
{foreach $options as $option}
<tr>
<td>
{$option.caption}:
</td>
<td>
{if $option.value is array}
{$option.value | join : ', '}
{else}
{$option.value}
{/if}
</td>
</tr>
{/foreach}
Помогите, пожалуйста, кто знает как исправить ситуацию. Gallery как ТВ
Всем привет!
Помню уже давно возникал вопрос, как вывести превью фотографий для TV Gallery.
В Интернете есть готовое решение, но нет готового пакета (вроде бы).
Поэтому я решила исправить данный пробел.
тут лежит мой fork https://github.com/wax100/Gallery
а тут — собранный пакет, но версия там 1.5.3 https://yadi.sk/d/kkRsf37r3SCnGS
Может стоит в настройках вручную указать последнюю версию 1.7.0?
Ставить лучше после удаления Gallery (не проверяла как встанет на уже установленную).
В общем, пробуйте и пишите комменты
Инструкция.
Создать ТВ и выбрать там galleryalbumview
Пользоваться)
PS отправила автору пулреквест, надеюсь все верно
Помню уже давно возникал вопрос, как вывести превью фотографий для TV Gallery.
В Интернете есть готовое решение, но нет готового пакета (вроде бы).
Поэтому я решила исправить данный пробел.
тут лежит мой fork https://github.com/wax100/Gallery
а тут — собранный пакет, но версия там 1.5.3 https://yadi.sk/d/kkRsf37r3SCnGS
Может стоит в настройках вручную указать последнюю версию 1.7.0?
Ставить лучше после удаления Gallery (не проверяла как встанет на уже установленную).
В общем, пробуйте и пишите комменты
Инструкция.
Создать ТВ и выбрать там galleryalbumview
Пользоваться)
PS отправила автору пулреквест, надеюсь все верно
Вывод коллекций в коллекциях
Всем привет!
Не так давно встала задача, чтобы в админке ресурс с типом Collections мог выводить дочерние ресурсы с таким же типом Collections. Поискал в сети наткнулся на статью https://modx.pro/help/10929/, где описывалась похожая задача, но решения никто не подсказал.
Мое решение не претендует на совершенство и при обновлении компонента скорее всего слетит, но поставленную задачу решает сполна.
И так решение:
В файле core/components/collections/processors/mgr/resource/getlist.class.php ищем строку 325
Вот такое короткое решение, которое сэкономило кучу времени.
Спасибо за внимание!
Не так давно встала задача, чтобы в админке ресурс с типом Collections мог выводить дочерние ресурсы с таким же типом Collections. Поискал в сети наткнулся на статью https://modx.pro/help/10929/, где описывалась похожая задача, но решения никто не подсказал.
Мое решение не претендует на совершенство и при обновлении компонента скорее всего слетит, но поставленную задачу решает сполна.
И так решение:
В файле core/components/collections/processors/mgr/resource/getlist.class.php ищем строку 325
'class_key:!=' => 'CollectionContainer',
и комментируем.Вот такое короткое решение, которое сэкономило кучу времени.
Спасибо за внимание!
Tickets сортировка по "форумному принципу"
Всех с наступающем ребятки! Совсем недавно была довольно интересная задачка, нужно было отсортировать последние тикеты по форумному принципу, т.е. вверх поднимается последний опубликованный тикет, либо тикет, в котором последний раз оставляли комментарии. Не нашел в сообществе упоминания чтобы кто-то публиковал как это сделать, по этому решил опубликовать.
Принцип довольно прост, к обычной таблице тикетов подключается таблица комментариев из которой выбирается дата последнего коммента и формируется переменная comment_date_sort. Если тикет не имеет комментариев, то в comment_date_sort идет дата публикации тикета.
За наводку спасибо Илье Уткину (выдрал часть его запроса с другого проекта, над которым он работал), под катом только код.
Принцип довольно прост, к обычной таблице тикетов подключается таблица комментариев из которой выбирается дата последнего коммента и формируется переменная comment_date_sort. Если тикет не имеет комментариев, то в comment_date_sort идет дата публикации тикета.
За наводку спасибо Илье Уткину (выдрал часть его запроса с другого проекта, над которым он работал), под катом только код.
Доп. поля комментариев в админке на редактирование
В функционале Tickets есть JSON поле properties
Которое позволяет получать и выводить дополнительные поля в комментарии.
Но вот в админ-панели они не выводятся, соответственно менеджеру не увидеть и не отредактировать эти поля.
Вопрос.
Как можно вывести эти поля в админ-панели? Замечу, что речь идет о комментариях, а не о тикетах.
UPD
Оставлю на будущее, вдруг понадобится.
1) Создать плагин для регистрации полей (как в документации)
2) /assets/components/tickets/js/mgr/comment/comment.window.js
К getFields добавить поля (сколько надо, по примеру)
Добавить получение поля
Которое позволяет получать и выводить дополнительные поля в комментарии.
Но вот в админ-панели они не выводятся, соответственно менеджеру не увидеть и не отредактировать эти поля.
Вопрос.
Как можно вывести эти поля в админ-панели? Замечу, что речь идет о комментариях, а не о тикетах.
UPD
Оставлю на будущее, вдруг понадобится.
1) Создать плагин для регистрации полей (как в документации)
2) /assets/components/tickets/js/mgr/comment/comment.window.js
К getFields добавить поля (сколько надо, по примеру)
{
xtype: 'textarea',
fieldLabel: 'Плюсы',
name: 'goods',
anchor: '99% -210'
}
3) /core/components/tickets/processors/mgr/comment/get.class.phpДобавить получение поля
$comment['goods'] = $comment['properties']['goods'];
Сбросить кеш браузера Удаление старых версий пакетов
Многие пользователи знают, что MODX хранит кучу старых версий дополнений, чтобы вы могли откатиться на них в любое время.
Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.
Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.
Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.
Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.
Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Просмотры страниц на Tickets в виджете админки
Попросили меня в предыдущей статье привести свой вариант виджета используя просмотры Tickets, но не вписался в комментарий и написал отдельный топик.
Подумал, что лучше всё-таки использовать pdoResources, чтобы выводило не только тикеты, а любую страницу сайта.
Вот моё готовое решение (нужны установленные pdoTools, Tickets):
Подумал, что лучше всё-таки использовать pdoResources, чтобы выводило не только тикеты, а любую страницу сайта.
Вот моё готовое решение (нужны установленные pdoTools, Tickets):
Семантически правильныe Breadcrumbs на pdoCrumbs
Верстая очередной проект для замороченных на SEO клиентов, столкнулся с тем, что pdoCrumbs конечно хорош в своей программной логике, но приведенные в документации примеры не совсем верно построены с точки зрения SEO и архитектуры HTML.
Под катом сам код, мои заметки и несколько полезных комментариев.
Под катом сам код, мои заметки и несколько полезных комментариев.
Добавление своих полей в форму заказа [обновлено]
При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее