Владимир Flame

Владимир Flame

С нами с 21 марта 2013; Место в рейтинге пользователей: #1180
Владимир Flame
20 августа 2014, 02:39
0
вот так выглядит это поле в 2.2
Владимир Flame
05 августа 2014, 12:22
0
Здравствуйте. поставил свежую версию на modx 2.3.1 и при попытке загрузить вылезает ошибка: Не указан источник, при этом выбран ms2gallery images. если сменить на другой, а потом снова поставить ms2gallery images, то все загружается.
ms2gallery images
Владимир Flame
05 июня 2014, 17:14
0
Если кому понадобится, вот решение:
сниппет getCatalogIDs
$id = $modx->getOption('id',$scriptProperties,$modx->resource->get('id'));
//убираем вложенность массива, при этом сохраняя порядок.
if (!function_exists('array_keys_flatten')){
    function array_keys_flatten($array){
        if (!is_array($array))
            return false;
        $result = array();
        foreach($array as $key=>$value){
            //только для элементов содержащих вложенные документы. если не нужно это условие, перенести $result[] = $key; до проверки 
            if (is_array($value)){

                $result[] = $key;
                $result = array_merge($result,array_keys_flatten($value));
            }
        }
        return $result;
    }
}

$tree = $modx->getTree($id);
//отсортированный по menuindex массив документов.
$catalogTree = array_keys_flatten($tree);

return implode(',',$catalogTree);
вызов сниппета на странице
[[!getPage?
                   &elementClass=`modSnippet` &element=`pdoResources`
                   &parents=`[[*id]]`
                   &limit=`15`
                   &showHidden=`1`
                   &sortby=`FIELD(modResource.parent, [[getCatalogIDs? &id=`[[*id]]`]] )`
                   &sortdir=`ASC`
                   &tpl=`items.tpl`
                ]]