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

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

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

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

Комментарии

Аватар пользователя VladSavitsky VladSavitsky 4 февраля 2008 в 20:28

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

  • На этом сайте
  • setegnom.com (на русском)
  • drupal.org (на импортном)
Аватар пользователя shock shock 4 февраля 2008 в 21:17

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

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

Аватар пользователя Natalie Natalie 4 февраля 2008 в 21:58

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

Аватар пользователя shock shock 4 февраля 2008 в 22:17

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

Аватар пользователя seaji seaji 5 февраля 2008 в 2:21

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

Аватар пользователя shock shock 6 февраля 2008 в 0:57

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

Аватар пользователя edhel edhel 6 февраля 2008 в 9:15

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

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

Аватар пользователя shock shock 6 февраля 2008 в 17:51

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

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

Аватар пользователя seaji seaji 7 февраля 2008 в 0:00

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

Аватар пользователя otmoroz otmoroz 8 ноября 2010 в 11:40

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