Дефолтное назначение шаблонов для категорий блога

Подскажите, как назначить шаблон по дефолту для конкретной папки/категории статей, т.е. чтобы при создании дочернего документа в списке шаблонов уже стоял назначенный для этой категории блога шаблон статьи (или список доступных шаблонов) (и желательно, чтобы все остальные шаблоны вообще были убраны из списка, хотя это не так критично)?

Спасибо за помощь.
Andrey
01 мая 2016, 17:51
modx.pro
1
5 157
0

Комментарии: 37

Konstantin
01 мая 2016, 20:59
0
Ну если я создаю ресурс тыкая по ресурсу правой кнопкой и выбираю — создать дочерний или создать тут. ТОгда у меня вроде бы шаблон наследуется
    Andrey
    01 мая 2016, 21:06
    0
    Правильно. Создаю документ в ресурсе «Блог» и сразу наследуется шаблон «Блог», но мне нужно чтобы подставлялся шаблон «Статья в блоге»
      Konstantin
      01 мая 2016, 21:23
      0
      Тогда создайте одну статью и через копирование создавайте новые, шаблон и прочее будет как у образца
        Andrey
        01 мая 2016, 21:34
        0
        Так и делаю, но это не выход. Хотелось автоматизировать — контент менеджер постоянно тупит, надоело. Вообще даже более важно запретить использовать другой шаблон, чем назначенный для дочерних элементов конкретного родительского ресурса. Вот это позволит избежать ошибки использования неправильного шаблона.

        Но как это сделать :((?
    Максим Кузнецов
    01 мая 2016, 21:41
    1
    +1
    Как вариант — написать плагин примерно следующего содержания:
    <?php
    	if ($modx->event->name == "OnDocFormRender" && $mode == "new") {
    		if ($parent = intval($_REQUEST['parent'])) {
    		
    			if (isset($modx->controller)) {
    				switch ($parent) {
    					case '1':
    						$newTemplate = '10';
    						break;
    					//...
    				}
    
    				$modx->controller->setProperty('template', $newTemplate);
    			}
    		}
    	}
      Andrey
      01 мая 2016, 21:44
      0
      спасибо, буду пробовать
        Владимир
        01 мая 2016, 22:30
        0
        В Collections такие плагины уже есть «из коробки».
          Алексей Кудров
          02 мая 2016, 13:14
          0
          Не надо придумывать велосипеды, такой функционал уже есть в MODX — меню настройка форм.
            Алексей Кудров
            02 мая 2016, 13:56
            2
            0
            В меню «Настройка форм» создать новый профиль с именем, например, «Блог».

            В профиле создать новый набор правил:

            Действие: Создать ресурс
            Ограничивающее поле: parent
            Ограничивающее значение: id родителя

            Правой кнопкой по созданному набору — редактировать.

            Указать id шаблона для дочерних элементов.

              Andrey
              02 мая 2016, 14:32
              0
              Спасибо. А можно где-то в настройках запретить сохранение дочернего документа, если его шаблон не соответствует разрешенным для его родительского ресурса шаблонам?
                Алексей Кудров
                02 мая 2016, 15:40
                +1
                Через настройку форм можно скрыть поле выбора шаблона и у пользователя не будет возможности выбрать неверный.

                Я стараюсь всегда настраивать формы — изменять подписи, выставлять значения по умолчанию, убирать лишние поля, чтобы пользователя не смущало большое количество полей.

                Вот, например, форма добавления преподавателя — pagetitle переименованный в Фамилию Имя Отчество, tv с картинкой перенесена на другую панель и content. Все остальное скрыто.

                  Konstantin
                  02 мая 2016, 15:52
                  +1
                  Спасибо ) я тоже не пользовался таким, возможно даже сделаю для себя такое )
                    Алексей Кудров
                    02 мая 2016, 16:10
                    0
                    Пожалуйста. Рад, что поделился чем то полезным)
                      Konstantin
                      02 мая 2016, 16:54
                      0
                      Для администратора срабатывает. Для группы менеджер не срабатывает. Где то в настройках доступа менеджера я пропустил?
                        Алексей Кудров
                        02 мая 2016, 17:03
                        0
                        На странице редактирования профиля форм есть вкладка Группы пользователей. Возможно там нужно указать группу явно. Хотя если не указаны группы, то изменения должны применяться ко всем.
                          Konstantin
                          02 мая 2016, 17:09
                          0
                          shot.hsdn.org/aoC3P6HB
                          Вот я указал группу которой применять.

                          Не применяется.

                          Указываю группу администратора, все применилось. Но администратору оно не надо применять ) Куда смотреть?
                          Алексей Кудров
                          02 мая 2016, 17:18
                          0
                          Никогда не указывал группы и все работало.

                          На всякий случай спрошу — набор правил не только для создания, но и для редактирования тоже есть?

                          Konstantin
                          02 мая 2016, 17:20
                          0
                          так точно — shot.hsdn.org/LkVjQxRi
                          Konstantin
                          02 мая 2016, 17:33
                          0
                          Разобрался.
                          У пользователь входил в группу администратора и в группу менеджеров. В итоге Форма глючила. Исключил из администраторской группы данного менеджера и все заработало 0_о
                          Алексей Кудров
                          02 мая 2016, 17:41
                          0
                          Получалось, что этот пользователь видел форму такой, какой ее видел администратор?
                          Konstantin
                          02 мая 2016, 17:46
                          0
                          получается да, я убирал поля а они как были так и остались )
                          Алексей Кудров
                          02 мая 2016, 18:00
                          0
                          Тогда это не глюк, а нормальное поведение — правила для админа важней чем для менеджера)
                  Илья Уткин
                  02 мая 2016, 15:54
                  1
                  +3
                  Небольшой оффтоп. Попробуй FastUploadTV.
                  Andrew
                  01 февраля 2023, 14:17
                  0
                  А как вы перенесли tv с картинкой на другое поле в формах? Что-то не нахожу как это сделать…
                Владимир
                02 мая 2016, 19:24
                0
                Тысячи документов в древе тоже настройками форм скрываете? Collections удобнее в разы, тем более, что не исключает так же использовать кастомизацию форм. Но суть- именно назначать шаблоны для потомков удобнее в Collections, плюс множество дополнительных настроек.
                  Алексей Кудров
                  02 мая 2016, 21:14
                  0
                  Не использовал Collections, но обязательно посмотрю чем он хорош. На моей практики тысячи дочерних документов всегда были каталогами, и укладывались в фукнционал miniShop2.

                  Да и кроме того, против Collections ничего не имеею против, основная его задача — спрятать большое количество дочерних документов из дерева. И ставить его только ради назначения шаблона по дефолту излишне, основной функционал все равно останется не востребованным. В рамках данного вопроса отлично работают стандартные возможности MODX.

                  Ну и на всякий случай — велосипедами я назвал плагины выше. Зачем писать то, что сделали разработчики и сделали это хорошо? Уметь плагины писать нужно, но в данном случае — это незнание возможностей системы.

          Здоров Александр
          01 мая 2016, 23:34
          0
          Inherit Template вам в помощь
            Евгений Webinmd
            02 мая 2016, 00:10
            0
            есть еще autotamplate
              Игорь Терентьев
              02 мая 2016, 11:32
              +2
              Вот так еще можно

              Через «Настройку форм»
              Ограничивающее поле: parent
              Ограничивающее значение: id-категории

              template: id-шаблона, который нужно присвоить
                Andrey
                02 мая 2016, 14:29
                0
                Спасибо, то что нужно! Встроенный механизм без плагинов, хотя с плагинами тоже познакомился, лишним не будет.
                Алексей Федоров
                02 мая 2016, 11:54
                0
                Интересно, я один помню, что в Tickets есть Настройки раздела (категория), в которых указывается Шаблон дочерних документов? Один раз выбрать и пусть контент менеджер замается контентом, а туда просто не смотрит.
                  Konstantin
                  02 мая 2016, 14:39
                  0
                  Это в тикетс, а тут автор не упомянул.
                  Владимир
                  02 мая 2016, 19:27
                  0
                  чтобы все остальные шаблоны вообще были убраны из списка
                  — для этого лишние шаблоны переносятся в категорию недоступную конкретным менеджерам
                    varanika
                    08 сентября 2016, 15:58
                    0
                    Подскажите, пожалуйста, как именно? Лажу по гуглу и нигде не вижу конкретного ответа, где натраиваются сами категории?
                      Владимир
                      08 сентября 2016, 16:02
                      +1
                      категории в этом случае указываются как разрешенные в политике доступа для конкретной группы пользователей, например менеджеров.
                        varanika
                        08 сентября 2016, 16:56
                        +1
                        Точно! Спасибо, настроила :) Не догадалась полазить по закладкам дальше)
                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    37