Друпал - работа с Token
Токены могут использоваться для разных целей. Например, одна из целей - этой хранение в лексемах некоторых значений, возможно объёмных или повторяющихся.
К примеру, подробный адрес со всеми контактами можно записать в созданный токен, и потом просто использовать его в тексте. А если адрес предприятия изменится? Или изменятся какие-нибудь данные - например номер телефона. И в то же время на сайте есть много страниц, на которых уже указан старый адрес. Неужели придётся исправлять телефон на КАЖДОЙ такой странице? А если таких страниц несколько сотен???
А при хранении значения в токене - можно просто исправить в одном-единственном месте, и Ваши изменения отобразятся везде, по всему сайту.
Но это лишь один из примеров - примеров может быть много. Тем более, что в созданном Вами токене можно также хранить и PHP-код, который будет выполняться при каждом использовании лексемы.
Самый простой способ - не касаясь API, это использование связки модулей , и .
Итак, включаете модули. Переходите к настройке.
Token Filter: на странице admin/settings/filters - включите Token Filter для каждого из требуемх Вам форматов ввода, например для Full HTML. Напротив соответствующего формата нажимаете на configure и просто ставите птичку напротив Token filter.
Всё. В принципе токены уже работают. Уже можно использовать такие предопределённые токены, как например [site-name]. Только записывать надо вот таким образом: [token global site-name], поскольку данный токен относится к категории Global tokens.
Перечисление всех токенов можно посмотреть на странице admin/build/tokens/help (конечно, при том условии, что Вы включили модуль Custom Tokens).
Теперь о создании своих токенов. Идёте сюда - admin/build/tokens/list, нажимаете Create и заполняете все необходимые поля. Token ID должен начинаться с token_custom_ (читайте все пояснения). В поле PHP Replacement Вы должны возвращать некое значение оператором return. Например:
<?php
return "Сидорова, 10, корпус 13 - двор девятый, телефон 111-11-11";
?>
<?php
return "Сидорова, 10, корпус 13 - двор девятый, телефон 111-11-11";
?>Но в данном случае я возвращаю обычный статический текст.
Всё. Таким образом вы можете создавать токены, какие Вашей душе угодны. При использовании токена в ноде не забывайте про указание полного имени при объявлении!
Спасибо за внимание.
Ёж.


