We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 7662 ☆ A M B ☆
    • 276 Posts
    Есть:
    есть сайт у него 4 раздела и для полного счастья 1 подраздел, к каждому разделу и подразделу свой шаблон.

    Главная шаблон1
    Новости шаблон2
    Галерея шаблон3
    -картинка шаблон4
    Статьи шаблон1

    Хочу:
    Как то привязать к категориям Шаблон что б он выставлялся автоматом smiley
    как понимаю что то в таком духе(только не знаю как реализовать):

    все документы принадлежащие родителю X по умолчанию получают шаблон Y ну и так далее smiley

    Очень поможет в связке с МенеджерМенеджер дабы у менеджера который наполняет сайт даже не было возможности ошибится с шаблоном smiley
    а дальше уж он заполнил все нужные поля и вуаля rolleyes все красиво и без ошибок:)







      http://modx.im - Russian community
      http://extras.evolution-cms.com - Repository for Evolution
      • 19800
      • 180 Posts
      меня тоже интересует этот вопрос

      есть идея еще в зависимости от id родителя автоматически выставлять шаблон, тогда менеджеру вовсе не придется его выбирать. Но проблема с каталогом, там нужно как правило выставлять отдельный шаблон папке-категории и продукту-странице. Может быть в каталоге выставлять шаблон в зависимости от того является документ папкой или не является, это уже видимо api надо использовать. Я сейчас просто вешаюсь с одним заказом, как разгружусь - подключусь к этой проблеме, она для меня тоже очень важна. Может у кого еще идеи появятся?
        • 7662 ☆ A M B ☆
        • 276 Posts
        Задача так сказать ясна smiley осталось определится с помощью чего можно данное реализовать smiley

          http://modx.im - Russian community
          http://extras.evolution-cms.com - Repository for Evolution
          • 30685
          • 9 Posts
          /*
          * Inherit Template from Parent
          * Written By Raymond Irving - 12 Oct 2006
          *
          * Simply results in new documents inherriting the template
          * of their parent folder upon creating a new document
          *
          * Configuration:
          * check the OnDocFormPrerender event
          *
          * Version 1.0
          *
          */

          global $content;
          $e = &$modx->Event;

          switch($e->name) {
          case ’OnDocFormPrerender’:
          if(($_REQUEST[’pid’] > 0) && ($id == 0)) {
          if($parent = $modx->getPageInfo($_REQUEST[’pid’],0,’template’)) {
          $content[’template’] = $parent[’template’];
          }
          }
          break;

          default:
          return;
          break;
          }

          Конечно темплейт можно поменять, но по дефолту будет как у родителя.
            • 7662 ☆ A M B ☆
            • 276 Posts
            Уже начало smiley хорошее smiley
            так осталось немного переделать что б можно было задавать разные:)

            если Парент темплейт 1 то Контент темплейт 5
            если Парент темплейт 2 то Контент темплейт 3

              http://modx.im - Russian community
              http://extras.evolution-cms.com - Repository for Evolution
              • 19800
              • 180 Posts
              вполне возможно, что все ваши проблемы решены
              наткнулся на интересный плагин, автоматизирует присваивание шаблона в зависимости от уровня вложенности документа
              http://modxcms.com/automaticTpl-2155.html

              автор несколько запутанно описывает плагин, сам все до конца не понял, погоняю его на днях, вы тоже не отставайте
                • 7662 ☆ A M B ☆
                • 276 Posts
                Просто супер smiley работает на ура:)

                устанавливаем smiley после чего в поле automaticTpl TV пишем через запятую порядок шаблонов smiley
                примерно выглядит таким образом:


                папка(automaticTpl TV= 3,4,5) получим в итоге

                Папка:
                -документ(шаблон3)
                -документ(шаблон3)
                -документ(шаблон3)
                -вложенный документ(шаблон4)
                -вложенный документ вложенного(шаблон5)

                Шаблон если нужно меняется без проблем smiley думаю совсем прелестно будет с помощью ManagerManager скрыть это поле smiley


                Все больше и больше Люблю MODx
                Тему можно закрывать Вопрос решен на все 100%

                  http://modx.im - Russian community
                  http://extras.evolution-cms.com - Repository for Evolution
                  • 7662 ☆ A M B ☆
                  • 276 Posts
                  Ну красиво описать его сложно smiley но суть понятна smiley ниже тем кто не дружит с Английским:)

                  Установка на русском:

                  1. Создаем TV: automaticTpl , тип ввода оставляем TEXT и собственно сохраняем smiley далее запонинаем номер TV понадобится в настройках плагина.
                  2. Создаем плагин с названием: automaticTpl
                  копируем в него: http://modxcms.com/automaticTpl-2155.html
                  3. В конфигурацию плагина вставялем: &automaticTplTvID=automaticTpl TV ID;text; и в параметрах прописываем номер TV который создали ранее.
                  4. В системных событиях выставляем галочку напротив: OnDocFormPrerender

                  вот собственно и все плагин установлен smiley



                    http://modx.im - Russian community
                    http://extras.evolution-cms.com - Repository for Evolution
                    • 19800
                    • 180 Posts
                    в общем можно вообще менеджера без шаблонов оставить
                    просто прописываем через phx логику если страница показывается в меню (или явл. директорией) - то выводим чанк директории, если нет - чанк продукта или страницы.

                    Так проще и быстрее.
                      • 1611
                      • 591 Posts
                      Самое суперское решение этой задачи, если структура дерева не такая регулярная как предполагается в automaticTpl, нашел недавно в репозитарии.
                      Inherit Selected Template
                      Англоязычный топик поддержки: http://modxcms.com/forums/index.php/topic,30255.0.html

                      Плагин создан для замены стандартного в modx0963 Inherit Parent Template.
                      Позволяет для любого документа указать какой шаблону будут наследовать его дети — этот же, или указанный. Если значение не задано, то наследуется текущий шаблон.
                      TV для выбора шаблона задается в виде выпадающего списка, в который загружаются все существующие шаблоны.

                      Must have!