Структурированный контент и его отображение

Главные вкладки

Аватар пользователя verum verum 5 февраля 2013 в 0:39

Помогите советом. Хочется гибко настраивать отображение контента.

Пример

Хочу внутрь текста вставлять некоторые абзацы-цитаты (они должны отличаться от обычного текста статьи). Для цитаты дополнительно нужно указывать источник.

Конечно, можно явно прописать div и затем настроить все в css.

<div class='cit'>
<div class='cit-text'>тексты цитаты</div>
<div class='cit-source'>источник цитаты</div>
</div>

Но проще описать так:

[cit]
[text]тексты цитаты[/text]
[source]источник цитаты[/source]
[/cit]

И где-нибудь в другом месте описать как эти цитаты будут отображаться в контенте по всему сайту (преобразовать их в вышеприведенные div'ы).

Еще пример
Пусть есть некоторый список возможностей продукта. Каждая возможность представлена названием и описанием.

Я бы хотел выводить такой список возможностей в виде таблицы, например как здесь. Конечно, можно при редактировании ноды явно забить таблицу с помощью html (table, tr, td). Но в идеале, в контенте ноды написать что-то типа такого:

[features]

[feature]
[title]возможность продукта[/title]
[desc]более подробное описание[/desc]
[/feature]

[feature]
[title]возможность продукта[/title]
[desc]более подробное описание[/desc]
[/feature]

[/features]

А на выходе получить таблицу в html (разбитую на нужное количество столбцов, с присвоенными стилями и т.п.). В идеале, чтобы такое отображение настраивалось в каком-нибудь tag-features.tpl.php

Вопрос

Т.е. хочется как-то структурировано описывать некоторые части страниц. При этом преобразование этих структур в html осуществлять где-то отдельно. Подскажите, пожалуйста, куда смотреть в соответствии с drupal-way.

Комментарии

Аватар пользователя duozersk duozersk 5 февраля 2013 в 3:16

Привет!

Смотреть на Input filters - http://api.drupal.org/api/drupal/modules%21filter%21filter.api.php/funct...
Написать один или несколько инпут фильтров (потом включить их в текстовом формате, используемом для отображения контента), которые будут ваши токены преобразовывать в нужный вам html

Спасибо
AndyB