Добавить динамический URL (или кнопку) для каждого узла в Drupal - PullRequest
2 голосов
/ 23 апреля 2010

Я использовал CCK для создания типа контента «Туристическое предложение», который в основном просто перечисляет детали для туристического пакета.

Мой вопрос заключается в том, как разместить кнопку или ссылку на каждом узле (когдапользователь просматривает его), который будет ссылаться на URL, который включает в себя заголовок текущего узла (например: example.com/requestQuote/Title_Of_This_Node).

Я еще не внедрил свою систему, поэтому я свободен дляизменить тип содержимого, включив поле кнопки или что-то в этом роде ...

1 Ответ

2 голосов
/ 23 апреля 2010

Самый простой способ сделать это - добавить файл node-your_content_type_name.tpl.php в папку вашей темы. (Если вы еще этого не сделали, все, что вам нужно сделать, это создать дубликат файла node.tpl.php и переименовать копию в node-your_content_type_name.tpl.php)

Переменная '$ title' доступна в шаблоне узла, поэтому должно быть легко создать немного PHP, чтобы распечатать соответствующую цель ссылки.

Edit:

Теперь, если вы хотите немного поумнеть, вы можете создать ссылку для ссылки на страницу без слияния ('example.com/requestQuote/node/11569' или что-то еще) и передать ее через удобный Drupal l() функция для создания гиперссылки.

Преимущество здесь в том, что вам не нужно беспокоиться об изменении ссылки при изменении заголовка, даже если l() автоматически обновит фактическую гиперссылку, отображаемую для пользователя.

Это, вероятно, значительно упростит пользовательское кодирование на странице 'example.com/requestQuote', поскольку вы можете работать непосредственно с идентификаторами узлов и не нужно анализировать заголовки.

...