Drupal многоразовые значения - PullRequest
3 голосов
/ 09 декабря 2011

Интересно, есть ли способ создать повторно используемые значения в Drupal 7. Например, на нашем ипотечном сайте, если мы обновляем ставки в одном месте, он обновляется везде, где мы его использовали.

Пример: вместо того, чтобы записывать ставки в нашем посте несколько раз, мы просто набираем что-то вроде этого ** [переменная 1] **, и она печатает значение переменной 1.

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

Я бы посоветовал взглянуть на Token API и Token Module .

В Drupal 6 обработка токенов обеспечивалась модулем токенов contribтолько, но он использовался и поддерживался довольно многими модулями и стал одним из широко распространенных де-факто «стандартных» модулей.Это привело к тому, что его функциональные возможности были включены в ядро ​​Drupal 7 - однако некоторые его части были исключены, поэтому вам может потребоваться версия модуля D7, в зависимости от ваших вариантов использования.

Что касается вашего примера, вы можете, например, предоставитьглобальный токен «[rate]» из пользовательского модуля через hook_token_info (объявляет токены, предлагаемые вашим модулем) и hook_tokens (предоставляет фактические значения замены токена при необходимости).Процесс замены инициируется вызовами token_replace () , которые уже часто будут вызываться системой или другими модулями, но вы также можете делать это самостоятельно, когда это необходимо.

ВВ конце концов, это позволит вам набрать [rate] в вашем контенте, что приведет к его замене значением, которое ваш модуль предоставляет во время рендеринга.

0 голосов
/ 09 декабря 2011

Если вы хотите заменить Переменные в теле узла, вы можете написать модуль, который предоставляет текстовый фильтр для замены предопределенных тегов.Если вы не хотите писать модуль, есть Модуль пользовательских фильтров , который позволяет вам определять свои собственные текстовые фильтры и правила замены.

...