Добрый день! Для формирования контента на сайте использую модуль API Tokens. Встала задача вызывать часть контента в другой ноде средствами php. Т.к. контент выводится через токены, то и в другой ноде его хочется выводить и обрабатывать через токены. Для этого использую token_replace().
Описание функции:
https://api.drupal.org/api/drupal/includes%21token.inc/function/token_re...
Вид функции:
function token_replace($text, array $data = array(), array $options = array()) {}
Рабочий пример:
token_replace("[node:story-page-number]", array('node' => $node));
В моем случае API токен выглядит так:
[api:price["Название товара1", "1000 рублей.", "1 месяц"]/]
[api:price["Название товара2", "2000 рублей.", "1 месяц"]/]
[api:price["Название товара3", "3000 рублей.", "1 месяц"]/]
Простой вызов token_replace('[api:price["Название товара3", "3000 рублей.", "1 месяц"]/]'); не срабатывает.
Вопрос, как узнать, какие данные нужно передать этому токену, для его отображения?
Или по другому, "api:" - это что? какая-то сущность/модуль?
Комментарии
https://niklan.net/blog/191
Мануал для 8, но для семерки почти то же самое
копать в сторону hook_token_info(), hook_tokens()
Родная функция модуля не работает?
api_tokens_render($text);
У них модуль на 5 функций, открыли б да посмотрели.
Работает! Спасибо!
Я еще не так силен в модулестроении друпала..
ПС. За это время наворотил свое решение, с подменой токенов средствами php, и вывод через token_replace(). Тоже вполне себе рабочее решение, особенно когда на странице вывода, тоже нужны изменения в отображении контента. Дополнительно использовал: http://xandeadx.ru/blog/drupal/897