We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21498
    • 11 Posts
    В ditto нужно отфилтровать (&filter), в которых id парента парента не равен 12.

    Поясню (в скобках - id):
    Каталог(10)
    -Категория(11)
    --Сабкатегория(12)
    ---Страница(14)
    --Сабкатегория2(13)
    ---Страница(15)

    Т.е. результатом должна быть Страница(14)

    Как вариант думал использовать parent:parent=`id` из PHx, но не прокатило, хотя может криво делаю...
      • 29487
      • 385 Posts
      Quote from: nightuser at Jul 27, 2009, 03:47 PM

      Т.е. результатом должна быть Страница(14)

      А смысл? [!Ditto?parents=`12`!]
      Или наоборот, исключить её? Тогда [!Ditto?parents=`10` &depth=`3` &display=`all` &filter=`parent,12,2`!]
        • 21498
        • 11 Posts
        Делаю отсеивание по параметрам

        Так вот к примеру
        Каталог
        -Фирма 1
        --Тип товара 1
        ---Товар 1
        ---Товар 2
        --Тип товара 2
        и т.д.

        т.е. нужно сделатьпоиск товара, который производит опр. фирма
        с типом товара использую parent
          • 21498
          • 11 Posts
          Не люблю делать "апов" в теме, но, видимо придется. Просто срочно надо такую конструкцию реализовать
            • 29487
            • 385 Posts
            Можно попробовать аналогично как с level делали:
            pparents.extender.inc.php:
            <?php
            $GLOBALS["pparents"] = isset($pparents) ? explode(",",$pparents) : array();
            $filters["custom"]["pparentsFilter"] = array("id","pparentsFilter"); 
            if (!function_exists("pparentsFilter")) {
            	function pparentsFilter($resource) {
            		global $modx,$pparents;
            		foreach ($pparents as $pparent) {
            			if (in_array($pparent,$modx->getParentIds($resource['id']))) {return 1;}
            		}
            		return 0;
            	}
            }
            ?>
            


            [!Ditto?parents=`0` &depth=`0` &display=`all` &extenders=`pparents` &pparents=`11,12`!]
            Выведет документы, у котрых есть предки с id 11 ИЛИ 12