We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16874
    • 32 Posts
    Добрый день!
    На днях столкнулся с проблемой связанной с TV. Начну из далека... Есть необходимость создать каталог для мебели... Допустим есть несколько дочерних документов Гостиная-Спальни-Столы (это к примеру). Страница с определённым продуктом выглядит следующим образом... Картинка- небольшое описание и таблица с параметрами.. с 1 и вторым проблем нет а вот с третим... Допустим что у нас открыты спальни... В состав продукта входят шкаф, кровать, тумба ... у каждой из них есть параметры длина ширина высота и глубина... Теперь представим что открыта страница СТОЛЫ .. структура таже но тут всего 1 составляющая это стол (нет никаких кроватей и так далие)... huh

    Я вижу только 1 решение проблемы это под каждый вид пролукции делать отдельный шаблон... но что-то как- не хочется пладить кучу шаблонов... может быть вы знаете какой другой способ... Ну например может быть есть что-то типо привязки TV к ID документа а не шаблону... или возможно сворачивать TV в группы определённые (типо dropdown) rolleyes

    Буду очень признателен!
      • 22301
      • 1,084 Posts
      наводящий вопрос: дружны ли вы с php и основными api modx?
      а то решение вашей проблемы есть.
        [img]http://jurist-info.ru/pic/rrr.jpg[/img]

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

        Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
        • 16874
        • 32 Posts
        С первым на ты а вот второе со мной вашпе отказывается говорить.
        Ну вы опишите плс решения я мб дальше сам дотумкаю ))
        Ну очень нужно)
          • 22301
          • 1,084 Posts
          Смотрите, как можно сделать.

          Есть Спальня. К спальне привязываются кровать, стулья что-то там ещё.

          Без проблем можно сделать так, чтоб внутри админки вы выбирали по списку, что привязать к спальне.
          В самом простом исполнении для этого понадобится такой вот сниппет:

          <?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
            • 22301
            • 1,084 Posts
            заводите ТВарь.
            Тип ввода: Listbox (Multi-Select) (так меньше места занимает)
            Возможные значения: @EVAL return $modx->runSnippet("DropDownTree",array(’doc’=>0));

            DropDownTree -- название сниппета
            ’doc’=>0 -- так вызов привязывается к корню и будет выводится вообще всё дерево документов.

            Код сниппета мной правленный, но разобраться в нём не сложно. Я в списке выбираю, ссылки на какие документы выводить. Над оформлением не заморачивался пока.

            Для чего нужно знание API. Все характеристики товаров -- стульев, кроватей и т.д. -- заполняются через ТВари у вас. Зная ID товара легко получить значения его ТВарей. http://wiki.modxcms.com/index.php/API:DocumentParser -- вот тут основные API. Например, есть вот такая функция http://wiki.modxcms.com/index.php/API:getTemplateVar. Вывод тварей при знании php не так сложно запихать в сниппет, который я выше привёл.
              [img]http://jurist-info.ru/pic/rrr.jpg[/img]

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

              Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
              • 32672
              • 38 Posts
              http://modxcms.com/forums/index.php/topic,55853.0.html посмотри соседнею ветку, там тоже с каталогом связано.
                • 16874
                • 32 Posts
                Спс за доступность объяснения помогло то что нужно как раз, но на половину ) основная суть то в том чтоб в зависимости от вабранной категории тут же в админке появлялись соответствующие поля относяящиеся к определённой категории...

                Как это сделать непосредственно в админке, вот в чём суть... тоесть получается нам как бы нужно сделать некий плагин на JS для такое риализации

                Своего рода получится должно что-то типо Jquery Tabs, в каждом табе свои поля.
                  • 22301
                  • 1,084 Posts
                  Если без плугина, то можно воспользоваться идеей вот отсюда, кстати:
                  http://modxcms.com/forums/index.php/topic,55956.0.html

                  я сам сейчас ковыряюсь, чтобы в зависимости от выбранной в одной ТВари категории, корректировался вызов другой ТВари у этого же документа.
                  пока не сообразил, как это сделать изящнее...
                    [img]http://jurist-info.ru/pic/rrr.jpg[/img]

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

                    Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
                    • 16874
                    • 32 Posts
                    помойму самый оптимально это сделать в табы (тоесть выводить всё сразу на разбитое по категориям или же пользоваться аякс техналогиями) что-то типо такого http://www.dynamicdrive.com/dynamicindex17/ajaxtabscontent/
                      • 16874
                      • 32 Posts
                      А может вы знаете как заставить вывадится ТВ по условию.. Ну например если id родительного документа = ,допустим, 4 то выводить ТВ width и leng ...