Как в page.tpl.php получить email, указанный в "О сайте" ?

4 февраля 2008 в 19:05
Аватар пользователя shock shock 0 19

Посдкажите, как сделать...
Собственно как в page.tpl.php получить email, указанный в "О сайте" ? тоесть нужно где-то на странице разместить ссылку вида mailto:... на тот адрес, который указан на странице "О сайте".

Комментарии

Прочитать его запросом к базе данных. Поищите сниппеты на эту тему.

  • На этом сайте
  • setegnom.com (на русском)
  • drupal.org (на импортном)
4 февраля 2008 в 20:28

Жаль, я надеялся обойтись без лишних запросов к базе данных... ну или хотябы стандартными методами Drupal.
Ладно, буду читать из базы. Спасибо!

Но если у кого есть другие предложения - буду рад Smile

4 февраля 2008 в 21:17

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

4 февраля 2008 в 21:58

Спасибо большое, Natalie ! Но думаю конечному пользователю это не очень понравиться Wink
Тогда точно буду из базы читать, потому, что если даже Natalie других вариантов не предложила, то, думаю, никто уже не поможет.

4 февраля 2008 в 22:17

Вообще в таких случаях корректней передавать переменные через файл template.php
Подсмотрите в теме zen в файле template.php функцию, которая передает переменные в шаблоны.
Если не знаете какие переменные определены, то пишете просто
<?php
var_dump (get_defined_vars());
?>
Переменные впечатаются в начало страницы. Смотреть лучше в исходном коде, там форматирование сохраняется.
Потом стереть незабудьте.

5 февраля 2008 в 2:21

О-о-о! Вот это совсем другое дело !!
2Natalie - а говорите, что не всезнайка Smile
2seaji - var_dump (get_defined_vars()); - спасибо, очень полезная конструкция, возьму на вооружение.

6 февраля 2008 в 0:57

Правильный ответ, как уже писали выше: <?php print variable_get('site_mail','');?>

В идеале конечно добавить переменную с помощью template.php/_phptemplate_variables, но можно и напрямую в page.tpl.php вызвать variable_get...

6 февраля 2008 в 9:15

В идеале конечно добавить переменную с помощью template.php/_phptemplate_variables, но можно и напрямую в page.tpl.php вызвать variable_get...

Почему так лучше? Где об этом можно почитать? можно на ангельском Wink

6 февраля 2008 в 17:51

Ну это прописные истины.
Посмотрите любую тему.
файлы *.tpl.php преднадначены только для конструкций
<?php
print $var;
?>
Это уже самый последний уровень, уровень рендеринга.
Если вы на уровне рендеринга страницы будете делать скажем запросы к базе данных, то это может обернутся неожиданными результатами.
Для всяческих операций используется template.php
Этот файл отрабатывается на уровне всех остальных запросов к базе.
потом дело переходит к рендерингу и в этот момент нужно использовать только print
Если Вы сразу привыкните к такому способу темизации, то избавите себя от возможных багов.

7 февраля 2008 в 0:00

если в поиске есть тема, значит она жива - это как Цой =).
но я могу и новую создать, мне не жалко, хотя стоит ли?

8 ноября 2010 в 11:40