Добавление ссылки в ноду

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

Аватар пользователя lemet lemet 24 мая 2010 в 17:54

Ситуация такая: есть домен site.com и поддомены для пользователей user1.site.com, user2.site.com ....
Пользователи на своих поддоменах могут добвлять материалы определённого типа. На корневом домене реализован проссмотр всех материалов со свех поддоменов. Материалы выводятся в виде нод со следующими полями: заголовок, картинка, содержание, цена. Вопрос, как добавить к материалу ссылку на поддомен где он был создан?

Комментарии

Аватар пользователя lemet lemet 25 мая 2010 в 11:16

<a href="mailto:rbogdan@drupal.org">rbogdan@drupal.org</a> wrote:
Какие модули используете для связи подддоменов и основного сайта. Domain Access?

Да использую модуль Domain Access.

Аватар пользователя rbogdan@drupal.org rbogdan@drupal.org 25 мая 2010 в 11:54

В template.php в функцию phptemplate_preprocess_node() добавьте свою переменную содержащую ссылку на поддомен. Информация о том к какому поддомену относится нода находится в таблице domain_access.

Аватар пользователя lemet lemet 25 мая 2010 в 12:14

<a href="mailto:rbogdan@drupal.org">rbogdan@drupal.org</a> wrote:
В template.php в функцию phptemplate_preprocess_node() добавьте свою переменную содержащую ссылку на поддомен. Информация о том к какому поддомену относится нода находится в таблице domain_access.

Я так и понимаю что нужно добавить свою переменную, но у меня в template.php вообще нет функции phptemplate_preprocess_node().

Аватар пользователя lemet lemet 25 мая 2010 в 12:52

<a href="mailto:rbogdan@drupal.org">rbogdan@drupal.org</a> wrote:
В template.php в функцию phptemplate_preprocess_node() добавьте свою переменную содержащую ссылку на поддомен. Информация о том к какому поддомену относится нода находится в таблице domain_access.

Если можно, напишите код вставки этой переменной, с прогмаммированием на php у меня трудности.

Аватар пользователя rbogdan@drupal.org rbogdan@drupal.org 25 мая 2010 в 12:19

Определите её, вот пример, также аналог этой функции может называться ИМЯ_ВАШЕЙ_ТЕМЫ_preprocess_node в неё тоже можно добавлять переменные.

И не забудьте после определения функции сбросить кэш.

Аватар пользователя rbogdan@drupal.org rbogdan@drupal.org 25 мая 2010 в 16:49
 function phptemplate_preprocess_node(&$vars) {
        $node = $vars['node'];
        // по переменой $node->nid ищите в таблице domain_access к какому поддомену относится нода
        // заключаете полученную переменную в нужный вам код
        // важно ссылку для поддомена делаете абсолютной
        $vars['subdomain_link'] = 'ссылка на ваш поддомен'

Теперь в файлах node.tpl.php можете в нужном месте вывести переменную $subdomain_link

Аватар пользователя lemet lemet 25 мая 2010 в 17:00

<a href="mailto:rbogdan@drupal.org">rbogdan@drupal.org</a> wrote:

 function phptemplate_preprocess_node(&$vars) {
        $node = $vars['node'];
        // по переменой $node->nid ищите в таблице domain_access к какому поддомену относится нода
        // заключаете полученную переменную в нужный вам код
        // важно ссылку для поддомена делаете абсолютной
        $vars['subdomain_link'] = 'ссылка на ваш поддомен'

Теперь в файлах node.tpl.php можете в нужном месте вывести переменную $subdomain_link


Спасибо за ответ. Проблема состоит в том, что я именно не знаю как обратиться к таблице domain_access и вытащить оттуда нужные данные. Предпологаю что это sql запрос, но никак не могу его сформировать. У меня в таблице domain_access 3 поля: nid, gid и realm, но как их использовать понития не имею.