Не нашел полного русского перевода доступных переменных в разных шаблонах, потому взялся за это сам.
Для тех, кто английского не знает.
Принимаются исправления.
Не нашел полного русского перевода доступных переменных в разных шаблонах, потому взялся за это сам.
Для тех, кто английского не знает.
Принимаются исправления.
Комментарии
спасибо
Это нужно знать всем! Подшил в книги и сохранил у себя.
Решение было сохранено на сайте DrupalCookBook.ru:
Переменные файла node.tpl.php.
Авторы, предложившие решения, также указаны в сохранённой статье.
Зашел на Drupal CookBook.ru под 3-м Firefox - правая колонка (теги) съехала в самый низ страницы, поправьте баг верстки.
Топикстартеру, ну зачем Вы вводите народ в заблуждение?
На самом деле, НЕТ ТАКОГО СПИСКА.
Вы не можете перечислить все возможные переменные, которые употребляются в шаблонах.
А причина достаточно тривиальна. Вы сами устанавливаете, какие переменные там будут.
Более корректное название этой записи это "Дефолтные переменные".
Вы вот это читали: 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
Список, аднако, есть. Я даже указал на какой странице.
Но, наверное, я в таком же заблуждении. Понадобилось тут вместо $submitted вывести просто дату.
Залез на drupal.org - выяснил нужную переменную, но, сцуко, подумал, млять, о других....
ужас. изучайте внутренности phptemplate engine, там есть как раз подготовка переменных для разных темплейтов, открываем
function phptemplate_node в themes\engines\phptemplate\phptemplate.engine и смотрим какие переменные будут доступны в нашем node.tpl.
Вот кстати, на этой странице: http://api.drupal.org/api/file/modules/node/node.tpl.php есть таки ссылка на template_preprocess()
http://api.drupal.org/api/function/template_preprocess/6
(Это для шестого Друпала)
А у Вас про это ни слова....
Я перевел один конкретный текст. Будет время пойду по ссылкам глубже и переведу далее...
Добавил ссылки, что просили...
И вообще...
Переведены две страницы. Источники указвны. На большее пока времени нет.
Если у меня есть неточности в этих переводах - укажите.
А про то, что при желании я в PHPtemplate могу назначить любую переменную, знаю без вас.
А кто-то ведь из здешних просто английского не знает...
Да я, собственно, ничего против Вас и против Вашего стремления сделать свой вклад в сообщество не имею.
Я и сам делюсь с сообществом своими наработками.
Просто хочется, чтоб люди начали правильно и грамотно оформлять свои мысли и выражаться яснее.
В Вашем случае нужно было как минимум указать, что это список переменных, доступных по умолчанию. И в конце перевода включить ссылку на соответствующую функцию (как это было в оригинале).
Воспринимайте это просто как здоровую критику.
seaji, лично мне не кажется, что "здововая критика" начинается с утверждения "Топикстартеру, ну зачем Вы вводите народ в заблуждение?"
Если цель сделать уточнение, то не нужно на автора наезжать. А в остальном вы правы.
Извиняюсь.
Кстати, залил эти переводы на api.drupal.ru
Установить модуль devel, в файле шаблона:
<?php
dpm(get_defined_vars());
?>
Вот спасибо! Вроде обычная php функция, а пользы то сколько!
Единственное что можно добавить так это то, что когда круумо показывает
∞ (Recursion)
нужно просто передавать именно этот элемент аргументом для dpm() и тогда уже смотреть.
2sdik@drupal.org еще раз спосибо! Как говорится век живи век учись, было б еще побольше таких, которые действителдьно чет полезное говорят, а не так...
А как в page.tpl.php узнать node-type ??? Мне это нужно для создания условия, что если выводится такой тип ноды, то шаблон строим такто, если другой тип node то так-то...
Спасибо!