Drupal 7 использует пользовательские макеты, созданные модулем Panels
Я недавно установил модуль Panels. Это позволяет мне создавать собственные макеты для моего содержимого. Теперь я хочу выбрать эти макеты шаблонов при создании / редактировании компонента определенного типа, чтобы при просмотре этот контент появлялся в выбранном макете.
Надеюсь, я ясно дал понять. Пожалуйста, извините, если эта тема уже обсуждалась. Если да, то предоставление мне ссылки на пост будет достаточно полезным. На самом деле я новичок в Drupal и, тем более, в модуле Panles. Так что не совсем уверен, выполнимо ли мое требование в первую очередь.
Заранее спасибо...
2 ответа
Понимая ваш вопрос здесь, я постараюсь разобрать его. Чтобы использовать макет панели для добавления / редактирования узла, вы можете создать макет в /admin/structure/ Panel
Затем вы создаете новый вариант. На вкладке варианта [context] вы добавите правило контекста "Node add form", не беспокойтесь об аспекте редактирования формы. Форма добавления узла будет охватывать форму редактирования, а дополнительное контекстное правило предназначается для определенного узла. Затем вы можете настроить макет и добавить все поля формы на вкладке содержимого. Не забудьте добавить в узел кнопку отправки. Теперь, после того как вы создали более одного варианта, вы можете включать, отключать и упорядочивать их по своему усмотрению, что охватывает конкретный макет для типа узла.
Компоновка панелей закажет все как угодно. Если вы хотите управлять тематикой с точки зрения неадминистративной темы, вы можете отключить общие формы темы администратора в / admin /arance, сняв флажок "Использовать тему администрирования при редактировании или создании контента" в нижней части или нацеливаясь на определенные типы узлов, создав модуль и имея:
<?php
/**
* @file
*/
/**
* Implements hook_admin_paths_alter().
*/
function disable_admin_theme_paths_alter(&$paths) {
$paths['/node/add/node-type-name-here'] = FALSE;
}
Предполагая, что имя вашего модуля - disable_admin_theme.
Вы можете сделать это, добавив поле в свой тип контента, например, типа Список (текст) > Выбрать список. Каждый элемент списка будет отображать панель.
Затем создайте вариант отображения Panel, чтобы переопределить шаблон узла (/node/%node), в который необходимо добавить правила выбора: "ВАШ список (текст) поле". Таким образом, каждый вариант будет отображаться, если пользователь выберет опцию списка подключенных.
Если вы хотите увидеть выбранный экран в режиме онлайн без нажатия кнопки "Сохранить", вам, вероятно, понадобится эффект Ajax.