Удобная работа с параметрами из URL и MODX. Я изобрёл велосипед?
Предыстория
Показал как-то собственноручно созданный квест и спросил — можно ли такое сделать на чистом HTML (ну и показал первую страницу, сделанную на Construct)?
Что такое игра-квест (книга-игра, книга-квест)?
Открываете первую страницу. В конце — варианты перехода с указанием номера новой страницы, которую нужно открыть при наличии заклинаний или предметов… повторить до перехода на новую страницу.
Начиная новую игру, Вы, по сути, «читаете» новую книгу, с новыми сюжетными и поворотами и неожиданными приключениями.
В детстве у меня были книги Браславского, если что — погуглите :)
Ведь что такое переходы в странице? Это же ссылки на новые страницы, т.е. игра — обычный сайт с нужным набором страниц!
Но одно дело — просто переходить по ссылкам, а другое — обрабатывать наличие предметов и заклинаний, и предлагать их по необходимости и наличию.
Сидел себе спокойно, ни о чём подобном даже не думал… может быть показанное ниже тоже кого-то на что-то натолкнёт?Брат у меня — творческая личность…
Показал как-то собственноручно созданный квест и спросил — можно ли такое сделать на чистом HTML (ну и показал первую страницу, сделанную на Construct)?
Что такое игра-квест (книга-игра, книга-квест)?
Открываете первую страницу. В конце — варианты перехода с указанием номера новой страницы, которую нужно открыть при наличии заклинаний или предметов… повторить до перехода на новую страницу.
Начиная новую игру, Вы, по сути, «читаете» новую книгу, с новыми сюжетными и поворотами и неожиданными приключениями.
В детстве у меня были книги Браславского, если что — погуглите :)
Ведь что такое переходы в странице? Это же ссылки на новые страницы, т.е. игра — обычный сайт с нужным набором страниц!
Но одно дело — просто переходить по ссылкам, а другое — обрабатывать наличие предметов и заклинаний, и предлагать их по необходимости и наличию.
Как создать скидку для товаров с опред брендом в msDiscount ?
Есть список брендов, бред указан в опциях товара, как сделать именно для них скидку через msDiscount?
Код ниже уже готовый, вопрос решён. Нужно будет вам создать ваши бренды в группе ресурсов обязательно указать все контексты, затем записать их в словарь как ниже, и всё это запустить в пакете под названием «Консоль»
При условии что у вас бренд как у меня находится в опции товара, если нет то код ниже нужно будет переделать а именно первую часть с поиском опции.
Код ниже уже готовый, вопрос решён. Нужно будет вам создать ваши бренды в группе ресурсов обязательно указать все контексты, затем записать их в словарь как ниже, и всё это запустить в пакете под названием «Консоль»
При условии что у вас бренд как у меня находится в опции товара, если нет то код ниже нужно будет переделать а именно первую часть с поиском опции.
<?php
$brensList = array('NOMAD','Dominator','АкТех','Kainar');
$q=$modx->newQuery('msProductOption', array('key:=' => 'brand', 'value:IN' => $brensList));
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
$brendsGroups = array(
'NOMAD' => 79,
'Dominator' => 80,
'АкТех' => 81,
'Kainar' => 82
);
$productWithoutGroup = 103; // Айди группы ресурсов что нет в списке выше.
foreach ($res as $k => $v) {
$currentProductBrand = $v['msProductOption_value'];
$docId = $v['msProductOption_product_id'];
$newGroup = $brendsGroups[$currentProductBrand];
if(!$newGroup){
$newGroup = $productWithoutGroup;
}
$resource = $modx->getObject('modResource', $docId);
if($resource){
if(!$resource->isMember($newGroup)){
$resource->joinGroup($newGroup);
}
}
}
Tickets error (500)
Добрый день!
Подскажите, может кто-то уже сталкивался с таким, при создании тикета в разделе (не раздел), происходит зависание и сам тикет не создается. В консоле браузера
Подскажите что это за чудо и как его вылечить?
Подскажите, может кто-то уже сталкивался с таким, при создании тикета в разделе (не раздел), происходит зависание и сам тикет не создается. В консоле браузера
Failed to load resource: the server responded with a status of 500
Подскажите что это за чудо и как его вылечить?
Ошибка при создании нового шаблона An error occurred...Шаблон не указан
Всем привет, столкнулся с ошибкой, вдруг на пустом месте, при создании нового шаблона, он не появляется в списке, но при поиске, в форме, шаблон в списке есть, но при попытке его открытия пишет: An error occurred… Шаблон не указан. Фигня какая-то…
Кто сможет сориентировать, с чем это связано? Заранее спасибо!
Скриншот: prnt.sc/CEfEOsiUX0T_
Кто сможет сориентировать, с чем это связано? Заранее спасибо!
Скриншот: prnt.sc/CEfEOsiUX0T_
Tickets вывод ресурсов пользователя
Добрый!
Подскажите как увеличить limit вывода ресурсов больше 10. Не выводит ресурсы пользователя больше 10, меньше работает, больше нет, как увеличить? Спасибо
Вывожу стандартно
Подскажите как увеличить limit вывода ресурсов больше 10. Не выводит ресурсы пользователя больше 10, меньше работает, больше нет, как увеличить? Спасибо
Вывожу стандартно
[[!TicketLatest? &limit=`25` &user=`1` &fastMode=`1` &action=`tickets` &tpl=`tpl.Tickets.ticket.latest`]]
Очень глупый вопрос. А как вы используете синтаксис vue на страницах с fenom?
Хочу использовать на странице vue, но его синтаксис конфликтует с fenom.
Тоесть попытка сделать банальный
Наверняка ведь я не первый столкнулся?
Про то что vue умеет в файловые компоненты и что это наверное решит проблему — знаю, но конкретно здесь не применимо, на хостинге нет node как таковой и не поставить.
Подключил vue самым банальным образом через cdn
Тоесть попытка сделать банальный
<div v-for="car in park">{{car.id}}</div>
убивает страницу из-за {{Наверняка ведь я не первый столкнулся?
Про то что vue умеет в файловые компоненты и что это наверное решит проблему — знаю, но конкретно здесь не применимо, на хостинге нет node как таковой и не поставить.
Подключил vue самым банальным образом через cdn
Как получить значение из массива, установленного в плейсхолдер через fenom?
Есть плейсхолдер, который был установлен таким образом:
Просто {$contactsArray.address} не работает.
$modx->toPlaceholders(array(
'cityList' => $cityList,
'contactsArray' => $contactsArray,
));
Раньше значение address из массива contactsArrray получали через стандартный синтаксис modx как [[+contactsArray.address]] Как сделать то же самое, но через fenom?Просто {$contactsArray.address} не работает.
PdoResources внутри MIGX в админке
Добрый день! Задачка выглядит так:
1) Есть родитель, внутри которого дети – доктора медцентра
2) Есть другой родитель, его дети – категории услуг медцентра
3) В ресурсе категории (например «Обследования») — MIGX, где при редактировании вкладки выбираем докторов из Родителя №1, а в таблице в колонке — вывод ФИО этих докторов по id-шникам выбранных во вкладке специалистов.
Делаю такой чанк, который вывожу в поле через this.renderChunk:
Проблема в том, что в плейсхолдере [[+doctors]] выводятся сначала через запятую id выбранных в этой строчке докторов, а потом через пробел id всех остальных докторов из столбца.
1) Есть родитель, внутри которого дети – доктора медцентра
2) Есть другой родитель, его дети – категории услуг медцентра
3) В ресурсе категории (например «Обследования») — MIGX, где при редактировании вкладки выбираем докторов из Родителя №1, а в таблице в колонке — вывод ФИО этих докторов по id-шникам выбранных во вкладке специалистов.
Делаю такой чанк, который вывожу в поле через this.renderChunk:
[[pdoResources?
&parents = `2`
&resources = `
[[getImageList?
&tvname=`serviceList_MIGX`
&tpl=`@CODE: [[+doctors]]`
]]`
&tpl = `@CODE: [[+pagetitle]]</br>`
]]
Получаю какой-то винигрет.Проблема в том, что в плейсхолдере [[+doctors]] выводятся сначала через запятую id выбранных в этой строчке докторов, а потом через пробел id всех остальных докторов из столбца.
Не могу получить значение placeholder. Тонкости работы парсера?
Уверен, вы мне подскажите, потому что я наверное один не понимаю всех этих тонкостей и нюансов работы различных парсеров и выставления плэйсхолдеров.
В чем проблема.
Есть шаблон, создан как статичный документ.
Вот на скрине его содержимое.
В нем вызывается сниппет (на скрине отображены сразу все варианты вызова, но конечно же я запускал их по одному)
в этом сниппете выставляется плэйсхолдер.
Смотрите скрин.
А ниже в шаблоне я пытаюсь значение получить (там тоже много вариантов написано, но я применял их по одному конечно)
Данные могу получить только через стандартный шаблонизатор, а очень хочется работать с этим плэйсхолдером через fenom, поскольку в коде будет много проверок, условий на наличие тех или иных настроек и хочется использовать ifы foreachи и прочие прелести фенома.
Есть идеи как получить плэйсхолдер в переменную fenom?
Спасибо.
В чем проблема.
Есть шаблон, создан как статичный документ.
Вот на скрине его содержимое.
В нем вызывается сниппет (на скрине отображены сразу все варианты вызова, но конечно же я запускал их по одному)
в этом сниппете выставляется плэйсхолдер.
Смотрите скрин.
А ниже в шаблоне я пытаюсь значение получить (там тоже много вариантов написано, но я применял их по одному конечно)
Данные могу получить только через стандартный шаблонизатор, а очень хочется работать с этим плэйсхолдером через fenom, поскольку в коде будет много проверок, условий на наличие тех или иных настроек и хочется использовать ifы foreachи и прочие прелести фенома.
Есть идеи как получить плэйсхолдер в переменную fenom?
Спасибо.
pdoResources группировка по TV
Недавно столкнулся с задачкой.
Есть ресурсы списком, но категория указывается в TV (tvName), на страницы нужно вывести (список категорий), хотел уже написать сниппет с группировкой кастомный, полез pdoResources и посмотрел как там прописываются алиасы в итоге увидел что к TV прописывается алиас TV.
Вот мое решение, может кому пригодится:
TV + tvName +.value
Есть ресурсы списком, но категория указывается в TV (tvName), на страницы нужно вывести (список категорий), хотел уже написать сниппет с группировкой кастомный, полез pdoResources и посмотрел как там прописываются алиасы в итоге увидел что к TV прописывается алиас TV.
Вот мое решение, может кому пригодится:
TV + tvName +.value
[[!pdoResources?
&parents=`2773`
&tpl=`media_item`
&prepareTVs=`1`
&includeTVs=`tvName`
&groupby=`TVtvName.value`
]]
На выводе получается (у меня) 4 категории (скрин)