epic

epic

С нами с 16 марта 2024; Место в рейтинге пользователей: #9558

Fenom Id ресурса в параметрах сниппета

Понимаю, что вопрос простой, но тчо-то не могу найти на него ответ. Если в шаблоне я запускаю сниппет при помощи fenom, как мне указать айди ресурса?

{$_modx->runSnippet('!msProducts',[
                        'parents' =>  '{$_modx->resource.id}',
                        'tpl' => 'shopItemDefTpl',
                        'includeThumbs' => '500x500'
                    ])}
Вот так не работает. Я так понимаю, что он подгружает айди уже после того, как запускает сниппет.

Спасибо
mail
13 июня 2017, 20:06
modx.pro
1
3 887
0

Тест вложенности ресурса в контейнер [с блекджеком и плюхами]

Проверить, есть ли контейнер в списке родителей ресурса, можно разными способами:

  • Можно сделать это используя карту ресурсов, которую MODX создаёт для каждого контекста после обновления кеша. Для этого необходимо воспользоваться методом $modx->getParentIds. Таким образом нагрузка и время затрачиваемое на проверку будет минимальным.

  • Не заморачиваться и сделать всё исключительно на Fenom, без модификаторов. Тут мы тоже можем воспользоваться методом $_modx->getParentIds, который Василий услужливо вынес в список доступных в Fenom.

  • Можно даже извратиться до того, что на каждую такую проверку получать объект через getObject('modResource') + получать объекты его родителей через getOne('Parent'). К слову, что будет в случае, если нам, к примеру, надо проверить 50 товаров на странице на вложенность в определённую категорию?
    Ради интереса, я воспроизвёл подобную ситуацию на тестовом сайте Modhost:
    1. Без каких-либо проверок 50 товаров в списке категории выводятся за 0,0282 сек.
    2. С подобной проверкой, за 0.1304 сек.
    3. С проверкой, которую мы рассматриваем в этом посте, за 0.0307 сек.

    А потом заказчики сходят с ума, почему их сайт так долго открывается...
Павел Гвоздь
26 апреля 2017, 05:28
modx.pro
18
4 675
+15

Присоединить таблицу с тегами ms2Gallery к pdoPage

Приветствую, Друзья!

Имеется конструкция:

[[!pdoPage?
  	&element=`pdoResources`
  	&loadModels=`ms2gallery`
        &parents=`225`
        &limit=`10`
        &tpl=`@INLINE [[+image]]`
        &leftJoin=`{
        		"portfolioThumb": {
        		    "class":"msResourceFile","alias":"image",
        		    "on": "image.resource_id = modResource.id AND image.path LIKE '%/medium/%' AND image.add LIKE '%фон%'"
        		}
      	 }`
      	&select=`{
      		"modResource":"*"
      		,"portfolioThumb":"image.url as image"
      	}`
      ]]

Здесь выводятся все ресурсы родителя с id 225, при чем в качестве миниатюры выбирается та, где в дополнительном поле картинок ms2Gallery для ресурса (add в таблице modx_ms2_resource_files) указан текст «фон»
Дмитрий
23 апреля 2017, 16:47
modx.pro
1
1 454
0

mFilter2 Сортировка значений фильтров

Каким образов указывается сортировка в списках фильтров?

имеем
&filters=`
        parent:categories,
        ms|vendor:vendors,
        ms|price:number,
    `
Хотелось бы сортировать
parent:categories по menuindex
ms|vendor:vendors — по алфовиту

Документации не нашел :(

с Ценой благо слайдер справляется :)
Sergey Perepechin
06 апреля 2017, 13:14
modx.pro
6
4 848
0

Смена уведомлений с jGroul на ModPNotify

Добрый день. Ни кто на практике не сталкивался со сменой уведомлений с jGroul на ModPNotify. Подскажите пожалуйста где и что менять.
taxsin
12 августа 2016, 12:40
modx.pro
11
3 302
0

Расчет стоимости доставки - модификация.

Действительно для новых пакетов — msDellin2, msKit, msPec — где используется стороннее api для расчета стоимости доставки.

Для модификации будем использовать плагин на событие msDellinOnAfterRequest, для других пакетов есть подобные события с одноименными названиями.
Пример плагина ниже
Володя
03 августа 2016, 17:34
modx.pro
3
2 200
+1

[msPec] - расчет доставки ТК. "ПЭК"

msPec — рассчитывает стоимость доставки, с учетом веса, объема и стоимости продуктов для перевозок транспортной компаний «ПЭК»


Особенности
  • работа только с новым miniShop2 (version =>2.4.0-beta2)
  • сниппет для расчета стоимости корзины
  • сниппет для расчета стоимости продукта
  • адаптация с GeoLocation для определения города покупателя
демо: delivery.vgrish.ru/
Володя
28 июля 2016, 13:43
modx.pro
1
3 814
+5

MIGX getImageList и Fenom

Есть такой вызов
{$_modx->runSnippet('!getImageList', [
	'tvname' => 'tv_product_main_gallery',
	'tpl' => '@CODE: <some_chunk>'
])}


По поводу @CODE и fenom, — работает феном в чанке относительно самого ресурса. То есть, когда я делаю так
'tpl' => '@CODE: [[+image]]'
Работает.

Когда я пишу
'tpl' => '@CODE: {$image}'
То не работает.

Когда я пишу
'tpl' => '@CODE: {$_modx->resource.myMIGXtv}'

То работает, получаю содержимое переменной. Весь массив значений.

Вопрос, как использовать феном, чтобы не писать свой парсер переменной и не использовать классический вызов через квадратные скобки, а воспользоваться {$image}?
Paul B.
07 июня 2016, 13:54
modx.pro
19
13 170
0

Вывод данных из кастомной таблицы

Всем привет!
Пишу уже некоторое время на MODx, и вдруг задумался, а правильно ли я это делаю в плане оптимизации.
Стандартный пример:
Допустим, есть кастомная таблица в бд, например о животных, из которой нужно подставить данные в большой, кастомный список.
Дмитрий
08 мая 2016, 10:26
modx.pro
1
2 584
0

MIGX получить ID редактируемой строки

Значит воспользовался я статье из оф доков: rtfm.modx.com/extras/revo/migx/migx.tutorials/migx.create-selectable-and-sortable-attributes-list-for-whatever-you-need-it
В принципе привел в косметический порядок, подстроил под себя, но вот столкнулся с одной не решаемой задачей( В таблице в которой строится список ресурсов есть возможность «редактировать», после чего открывается модальное окно со всеми указанными в migx конфигурации элементами формы.
Так вот в чем загвоздка — одним из элементов формы является Listbox(список мультиселект) со значением:
@EVAL return $modx->runSnippet("getServicesMigxListbox");
В сниппете я формирую список, но никак не могу в нем получить ID того самого редактируемого элемента в табличке.
lexikon
14 апреля 2016, 22:33
modx.pro
1
1 781
0