Node.tpl.php, список доступных переменных

Прислано: direqtor

чт, 29/05/2008 - 07:32

Другие статьи по теме:

Не нашел полного русского перевода доступных переменных в разных шаблонах, потому взялся за это сам.

Для тех, кто английского не знает. :)

Принимаются исправления.

node.tpl.php, список доступных переменных (Drupal 6)

node.tpl.php, список доступных переменных (Drupal 5)

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано relogger в чт, 29/05/2008 - 15:21.

спасибо


Опубликовано VladSavitsky в чт, 29/05/2008 - 16:57.

Это нужно знать всем! Подшил в книги и сохранил у себя.
Drupal CookBook - Готовить может каждый!Решение было сохранено на сайте DrupalCookBook.ru:
Переменные файла node.tpl.php.
Авторы, предложившие решения, также указаны в сохранённой статье.


Опубликовано mityok в чт, 29/05/2008 - 18:48.

Зашел на Drupal CookBook.ru под 3-м Firefox - правая колонка (теги) съехала в самый низ страницы, поправьте баг верстки.


Опубликовано seaji в чт, 29/05/2008 - 19:25.

Топикстартеру, ну зачем Вы вводите народ в заблуждение?
На самом деле, НЕТ ТАКОГО СПИСКА.
Вы не можете перечислить все возможные переменные, которые употребляются в шаблонах.
А причина достаточно тривиальна. Вы сами устанавливаете, какие переменные там будут.

Более корректное название этой записи это "Дефолтные переменные".
Вы вот это читали: http://drupal.ru/node/15296 ???

Приведу небольшой пример:
Вот я пишу в template.php

<?php
function _phptemplate_variables($hook$vars) {
  if (
$hook == 'page') {
        
$vars['time'] = time();
  }
  if (
$hook == 'node') {
        
$vars['new_var'] = 'Это новая переменная, ура!!!!';
  }
    return 
$vars;
}
?>

При этом в page.tpl.php (про который у вас ни слова) появится новая переменная $time со штампом времени.
И в node.tpl.php появится новая переменная $new_var


Опубликовано restyler в чт, 29/05/2008 - 19:28.

ужас. изучайте внутренности phptemplate engine, там есть как раз подготовка переменных для разных темплейтов, открываем
function phptemplate_node в themes\engines\phptemplate\phptemplate.engine и смотрим какие переменные будут доступны в нашем node.tpl.


Опубликовано seaji в чт, 29/05/2008 - 19:53.

Вот кстати, на этой странице: http://api.drupal.org/api/file/modules/node/node.tpl.php есть таки ссылка на template_preprocess()
http://api.drupal.org/api/function/template_preprocess/6
(Это для шестого Друпала)
А у Вас про это ни слова....


Опубликовано direqtor в пт, 30/05/2008 - 10:17.

Я перевел один конкретный текст. Будет время пойду по ссылкам глубже и переведу далее...


Опубликовано direqtor в пт, 30/05/2008 - 10:22.

И вообще...
Переведены две страницы. Источники указвны. На большее пока времени нет.
Если у меня есть неточности в этих переводах - укажите.

А про то, что при желании я в PHPtemplate могу назначить любую переменную, знаю без вас.

А кто-то ведь из здешних просто английского не знает...


Опубликовано direqtor в пт, 30/05/2008 - 10:28.

Список, аднако, есть. Я даже указал на какой странице.
Но, наверное, я в таком же заблуждении. Понадобилось тут вместо $submitted вывести просто дату.
Залез на drupal.org - выяснил нужную переменную, но, сцуко, подумал, млять, о других....


Опубликовано seaji в пт, 30/05/2008 - 11:36.

Да я, собственно, ничего против Вас и против Вашего стремления сделать свой вклад в сообщество не имею.
Я и сам делюсь с сообществом своими наработками.
Просто хочется, чтоб люди начали правильно и грамотно оформлять свои мысли и выражаться яснее.

В Вашем случае нужно было как минимум указать, что это список переменных, доступных по умолчанию. И в конце перевода включить ссылку на соответствующую функцию (как это было в оригинале).

Воспринимайте это просто как здоровую критику.


Опубликовано VladSavitsky в пт, 30/05/2008 - 17:00.

seaji, лично мне не кажется, что "здововая критика" начинается с утверждения "Топикстартеру, ну зачем Вы вводите народ в заблуждение?"
Если цель сделать уточнение, то не нужно на автора наезжать. А в остальном вы правы.


Опубликовано seaji в пт, 30/05/2008 - 19:50.

Извиняюсь.


Опубликовано direqtor в пт, 06/06/2008 - 05:51.

Добавил ссылки, что просили... :)


Опубликовано direqtor в пн, 16/11/2009 - 01:51.

Кстати, залил эти переводы на api.drupal.ru


Опубликовано sdik@drupal.org в вс, 11/04/2010 - 13:26.

Установить модуль devel, в файле шаблона:

<?php
dpm
(get_defined_vars());
?>


Опубликовано RoSk0 в чт, 20/05/2010 - 09:43.

"sdik@drupal.org" написал(а):

<?php
dpm
(get_defined_vars());
?>

Вот спасибо! Вроде обычная php функция, а пользы то сколько!

Единственное что можно добавить так это то, что когда круумо показывает ∞  (Recursion)
нужно просто передавать именно этот элемент аргументом для dpm() и тогда уже смотреть.

2sdik@drupal.org еще раз спосибо! Как говорится век живи век учись, было б еще побольше таких, которые действителдьно чет полезное говорят, а не так...


Опубликовано toorr2p в сб, 27/11/2010 - 07:35.

А как в page.tpl.php узнать node-type ??? Мне это нужно для создания условия, что если выводится такой тип ноды, то шаблон строим такто, если другой тип node то так-то...
Спасибо!


Новое на сайте