We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33226
    • 14 Posts
    день добрый!
    помогите разобраться с evo 1.0.4...

    есть TV, выпадающий список с "Input Option Values": название1==значение1||название2==значение2||название3==значение3 итд...
    вопрос: каким образом в сниппете мне можно получить весь этот списочек?

    объясню зачем: делаю фильтр по многим TV - http://kunane.com/modx/ditto-multiple-filters.html c сохранением выбранного варианта.

    if you don’t want to loose the selected filter options after submitting the form, you could use a Snippet in order to return the option list

    но приходится список (название1==значение1||название2==значение2||название3==значение3 итд.) самому прописывать, что не есть хорошо.
    т.к. при смене админом возможных вариантов в самой TV придётся ещё лезть сам сниппет для обновления массива (((

    спасибо!


      Optimizator Field
      • 22301
      • 1,084 Posts
      Как иллюстрация идеи.

      В настройках ТВари в поле "Возможные значения" вставляешь вызов сниппета вот так:
      @EVAL return $modx->runSnippet("DropDownTree",array(’doc’=>0));

      сам сниппет типа такого:
      <?php
      /*# Name: DropDownTree# Version: 1.0.0# Author: Urique Dertlian ([email protected])# Date: Oct 4, 2007# Using: Create TV of kind "DropDown List Menu", feel elements field with string: @EVAL return $modx->runSnippet("DropDownTree",array(’doc’=>0)); Here "0" is ID of parent document children of which will be displayed in DropDown menu.*/

      if(!function_exists("getItems"))
      {
      function getItems($p=0, $l=0)
      {
      global $modx,$modx_charset; ($modx_charset==’UTF-8’) ? $nbsp=chr(0xC2).chr(0xA0) : $nbsp=chr(0xA0);
      $c=$modx->getDocumentChildren($p); foreach($c as $k)
      { $out.=str_repeat($nbsp,$l*5).$k[’pagetitle’]."==<li>".str_repeat($nbsp,$l*5)."<a href=’[~".$k[’id’]."~]’>".$k[’pagetitle’]."</a></li>||";
      $out.=getItems($k[’id’],$l+1);
      } return $out;
      }
      }return getItems($doc);
      ?>
        [img]http://jurist-info.ru/pic/rrr.jpg[/img]

        Безжалостный пияр!
        Artima -- неуч!
        Осторожно: преступная локализация -- modx-cms.ru
        Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

        Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
        • 20380
        • 118 Posts
        Сделайте запрос к таблице (прификс)site_tmplvars и получите оттуда список
          • 33226
          • 14 Posts
          полез таки в базу....
          $yourtvname='industry';
          $res = $modx->db->select("elements", $modx->getFullTableName('site_tmplvars'), "name = '$yourtvname'"); 
          $resres = $modx->db->getValue($res);  
            Optimizator Field