Подпись к node

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

Аватар пользователя s0lar s0lar 22 июля 2008 в 0:03

Доброй ночи.
Подскажите, как изменить подпись к node.
Я не хочу, чтобы у меня было написано "Опубликовано admin в 14 Июль, 2008 - 20:40."

И вообще, как получить доступ к этим выводимым переменным? Что касается объектов классов ($node, $user..) то это понятно, но как к остальному?
Если мне нужно изменить эту подпись - мне нужно лезть в modules/node и там искать вывод?

Подскажите, плз.

Буду благодарен материально за помощь (у мну еще много вопросов)

Комментарии

Аватар пользователя olk olk 22 июля 2008 в 0:07

Вы хоть бы версию друпала сказали Smile в 5 и 6 версии обработка темы несколько отличается ...
вообще посмотрите например мой материал (для 6.*) тут

Аватар пользователя s0lar s0lar 22 июля 2008 в 0:33

Версия 5.1
Вроде так..
Прочел статью.. у меня нет файла templates.php - видимо его присутствие зависит от темы. Как я понял, если есть этот файл, то в нем можно переопределить функцию!?

А если без него?

Аватар пользователя olk olk 22 июля 2008 в 0:39

Ну можно создать свой файл (или изменить существующий) node.tpl.php
и вместо вывода переменной $submitted (в которой и содержится вывод информации о публикации материала, вывести те переменные которые нужны).
И еще один момент, если вам вообще не нужна информация о публикации, то это можно настроить в настройках темы запрещая/разрешая это для нужных типов материала (admin/build/themes/settings).

Аватар пользователя s0lar s0lar 22 июля 2008 в 0:50

Дело в том, что ничего умнее чем

echo "Опубликовано: ".date("d.m.Y", $node->revision_timestamp)."г.";

- я не придумал ((
плюс ко всему, мне нужно сделать ссылку на пользователя, который опубликовал материал, а распечатав $node, я нашел только uid пользователя.
Как взять его имя по uid я не знаю (( наверное нужно вызывать какую нибудь функцию из модуля, да и еще глобально (

А мне нужна запись вида
"добавлено: alexia"
"5 марта 2008 года"

Аватар пользователя olk olk 22 июля 2008 в 8:56

Где то здесь видел расшифровку какие переменные передаются в node.tpl.php - поищи, ну по крайней мере мне кажется (в D6 точно) что переменные $date и $name должны быть определены (причем они уже отрендерены). т.е. вместо print $submitted
просто пишешь

 print 'Опубликовано:'.$name.'<br/>'.$date;

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

<pre><?php print_r($node); ?></pre>

если чего то не хватает, можно сначало подгрузить ноду node_load($node->nid); - но наверное это уже лишнее Smile

Аватар пользователя Geldora Geldora 22 июля 2008 в 11:53

Для 5ки - Это решается в разделе Оформления, там есть вкладка Настройки. Там можно выбрать для каких типов материала нужно выводить информацию, что там выводить и т.д.