Александр
С нами с 05 декабря 2018; Место в рейтинге пользователей: #705Как отфильтровать ресурсы по количеству значений в tv?
В tv может быть разное количество значений 356||567, 334||332||5351, 854||445||235||67777||5456.
Нужно выбрать ресурсы у которых 3 и больше значений в tv.
Может у кого есть готовое решение?
Нужно выбрать ресурсы у которых 3 и больше значений в tv.
Может у кого есть готовое решение?
Как правильно написать плагин?
Привет. Подскажите, как правильно написать плагин?
Плагин подменяет шаблон под AMP страници по гет запросу modx.pro/help/12866
Плагин подменяет шаблон под AMP страници по гет запросу modx.pro/help/12866
<?php
$id = $modx->resource->get('id'); // Get current page id
$resource = $modx->getObject('modResource',$id); // Get current object
$template = $modx->resource->template; // Get current page template
if($template == 5 && isset($_GET['amp'])) {
$modx->resource->set('template', 30);
}
if($template == 7 && isset($_GET['amp'])) {
$modx->resource->set('template', 30);
}
if($template == 6 && isset($_GET['amp'])) {
$modx->resource->set('template', 30);
}
if($template == 8 && isset($_GET['amp'])) {
$modx->resource->set('template', 30);
}
$modx->resource->cacheable = false; // Disable cache
[решено] FIND_IN_SET по двум тв полям
Как сделать поиск по двум тв полям?
'where' => [
"1 = 1 AND FIND_IN_SET("~$person_id ~", replace(first_group, '||', ',')) OR FIND_IN_SET("~$person_id ~", replace(second_group, '||', ','))"
{set $resources = 'pdoResources' | snippet : [
'parents' => $parent,
'returnIds' => '1',
'limit' => '0',
'includeTVs' => 'first_group,second_group',
'where' => [
"1 = 1 AND FIND_IN_SET("~$person_id~", replace(first_group, '||', ','))",
"1 = 1 AND FIND_IN_SET("~$person_id~", replace(second_group, '||', ','))"
]
]}
Выборка ресурсов по значению тв параметра множественный выбор
Нужно сделать выборку ресурсов, значения Тв которых содержит $team. Тв множественный выбор. В тв хранятся id документов, их может быть один или два (разделитель ||).
Мой сниппет находит ресурсы у которых в значении только один id.
Подскажите, как поправить?
Мой сниппет находит ресурсы у которых в значении только один id.
Подскажите, как поправить?
<?php
//ид TV по которому нужно сделать отбор ресурсов
$team_home = 19;
//массив для ID ресурсов
$output = array();
// выбираем все TV с ID=19
$tvs = $modx->getCollection('modTemplateVarResource', array(
'tmplvarid'=>$team_home
));
//перебираем TV
foreach ($tvs as $tv) {
//если значение нашего TV = $team тогда
if ($tv->value==$team)
//добавляем ID ресурса в массив
$output[] = $tv->contentid;
}
// возвращаем строку где ID ресурсов разделены ,
return implode(',',$output);
Как вывести заголовок выпадающего списка (TvKey)?
Здравствуйте!
Как вывести заголовок выпадающего списка в шаблоне?
Выпадающий список — список стран.
Такой вариант отпадает.
Как вывести заголовок выпадающего списка в шаблоне?
Выпадающий список — список стран.
Такой вариант отпадает.
[[*tv_name:is=`australia `:then=`Австралия`]]
Как разбить строку в чанке на массив?
Здравствуйте!
Как разбить строку в чанке на массив?
В тв parametr — список (множественный выбор), разделитель ",".
$parametr_string = 33||24
$parametr_array = 33||24
Как разбить строку в чанке на массив?
В тв parametr — список (множественный выбор), разделитель ",".
{set $parametr_string = $_pls['tv.parametr']}
{set $parametr_array = $parametr_string|split}
Получаю $parametr_string = 33||24
$parametr_array = 33||24
Разбивка документов по категориям?
Здравствуйте!
Подскажите, как поделить документы на группы по категории и поместить их в общий чанк?
Если поместить в чанк второй вызов pdoresources — выводится как надо, но этот вариант создает слишком много запросов.
Основная категория 1
--Категория-1
---Событие-1
---Событие-2
---Событие-3
Основная категория 1
--Категория-2
---Событие-6
---Событие-7
Основная категория 2
--Категория-3
---Событие-8
---Событие-9
Нашел похожее решение у Ильи ilyaut.ru/cheats/a-breakdown-of-the-categories-parents/, но мне нужно документы поместить в общий чанк.
Подскажите, как поделить документы на группы по категории и поместить их в общий чанк?
Если поместить в чанк второй вызов pdoresources — выводится как надо, но этот вариант создает слишком много запросов.
Основная категория 1
--Категория-1
---Событие-1
---Событие-2
---Событие-3
Основная категория 1
--Категория-2
---Событие-6
---Событие-7
Основная категория 2
--Категория-3
---Событие-8
---Событие-9
Нашел похожее решение у Ильи ilyaut.ru/cheats/a-breakdown-of-the-categories-parents/, но мне нужно документы поместить в общий чанк.
EVAL родитель родителя
Здравствуйте!
Как улучшить этот вызов?
Как улучшить этот вызов?
@EVAL
$parent = $modx->resource->get('parent');
$parent_parent = $modx->runSnippet('pdofield',array('id'=>$parent,'field'=>'parent'));
if ($parent_parent == 2) {
$parentid = '19';
}
if ($parent_parent == 3) {
$parentid = '20';
}
if ($parent_parent == 4) {
$parentid = '21';
}
$output = $modx->runSnippet('pdoResources',array('parents'=>$parentid,'depth'=>0,'limit'=>0,'sortby'=>'{"id":"ASC"}','tpl'=>'@INLINE [[+pagetitle]]==[[+id]]', 'outputSeparator'=>'||'));
return $output;
Fenom и оператор in
Здравствуйте!
Помогите решить задачу.
Работает только ключ 3.
ТВ week — чекбоксы, разделитель запятая.
Помогите решить задачу.
Работает только ключ 3.
ТВ week — чекбоксы, разделитель запятая.
{set $week = $_modx->resource.week}
{(3 in list [$week]) ? "ключ найден 3" : "ключ не найден"}
{(4 in list [$week]) ? "ключ найден 4" : "ключ не найден"}
{(5 in list [$week]) ? "ключ найден 5" : "ключ не найден"}
Если вписать руками 3,4,5 — работают все.{(5 in list [3,4,5]) ? "ключ найден 5" : "ключ не найден"}
pdoResources where по дате в Fenom
Здравствуйте.
Фильтрую события по дате, по умолчанию — сегодня.
Фильтрую события по дате, по умолчанию — сегодня.
[[pdoResources:default=``?
&parents=`[[+id]]`
&includeTVs=`start`
&sortby=`start`
&tpl=`tplEvent`
&where=`["start Like '[[!getUrlParam? &name=`date` &default=`[[*nowdate:default=`now`:date=`%Y-%m-%d%`]]`]]'"]`
&tplWrapper=`tplEvents`]]
Как сделать запрос where в Fenom? {$_modx->runSnippet('pdoResources', [
'parents' => $id,
'includeTVs' => 'start',
'tpl' => 'tplEvent',
'where' => '{"start:LIKE":"2020-01-12%"}',
'tplWrapper' => 'tplEvents',
'showLog' => '1',
])}
Если написать дату — события выводятся.