Показывать контент на определенной странице


Могу ли я добавить следующее поле к типу контента, чтобы каждый созданный мной фрагмент контента можно было привязать к странице?

specific page field

Или есть модуль для расширения возможностей публикации, в котором он добавляет все созданные мной страницы (например, "Продвигать на главную страницу")? Если нет, то почему никто этого не делает? Как новому пользователю Drupal это кажется удобной операцией. (Я уже пробовал этот модуль , но он не достигает результаты, которые мне нужны).

Если ни одно из этих решений недоступно, каков был бы наилучший альтернативный способ сделать это?

Author: PapaSmurf, 2012-11-07

1 answers

Во-первых, вы начинаете с определения правил показа этого контента пользователю. Есть много способов, как справиться с такой вещью, но все зависит от правил. Я действительно рекомендую создать такие правила, иначе вы столкнетесь с непреодолимым беспорядком.

Если у вас меньше 10 или около того случаев

Вы можете использовать модуль bean (http://drupal.org/project/bean ) для создания определенных типов блоков с полями (аналогично созданию типов контента). Эти блоки, которые вы можете затем выставить через пользовательский интерфейс блоков по умолчанию и установить видимость там, или вы можете использовать контекст.

Если у вас более 10 случаев

Вам лучше определить правила (логику), когда должно появляться такое специальное содержимое. Таким образом, у вас может быть только одна логика, которую легко поддерживать (что и является вашей целью).

Ссылка на узел?

Одним из способов может быть создание типа контента для этого контента и добавление любого из ссылочных полей узла (ссылки, модули связей,...) (в случае, если вы хотите отобразить содержимое на определенных узлах). Таким образом, вы всегда можете назначить контент другому контенту, а затем создать представление блока, которое примет аргумент из текущего nid и передаст его, чтобы вы могли отображать все содержимое, на которое есть ссылка с тем же nid, или вы можете прикрепить представление к сущности через представление eva.

Путь?

Я не вижу ни одного доступного модуля, поэтому вам придется создать свой собственный решение. Это может помочь вам начать работу

  1. Добавьте длинное текстовое поле к типу контента - это поле позволит вам ввести путь или несколько путей, по одному пути на строку
  2. Создайте пользовательский модуль, который будет использовать это поле для сопоставления пути с помощью функции drupal_match_path. Вы можете, например, создать блок, который будет выводить согласованный контент
  3. Вы можете разместить этот блок там, где вы хотите, чтобы отображался связанный контент (основная область контента, боковая панель,...) через пользовательский интерфейс блоков Drupal или контекст,... зависит от того, что вы используете.

Это может снизить производительность, если у вас будет много контента, который Drupal нужно будет просмотреть и посмотреть, соответствует ли он видимости контента, поэтому вам следует подумать о каком-то кэшировании и т. Д.

 1
Author: Marek Sotak, 2012-11-09 12:28:22