Александр
С нами с 05 декабря 2018; Место в рейтинге пользователей: #681Как отфильтровать ресурсы по количеству значений в 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',
])}Если написать дату — события выводятся.