При создании ноды, которая имеет текстовое поле, где нужно по необходимости вписать какое-либо имя, как сделать так чтобы если поле не заполнено автоматом после сохранение прописывался никнейм автора ноды.
С этим кодом пропадет возможность заполнить. Мне нужно что бы дефолт выставлялся если пустое поле. Тогда автор ноды. Если заполнили именем каки-то то это имя и фигурирует.
А при редактирование ноды, должен быть либо автор ноды ли имя заполненное.
У меня задача - задать и публиковать вопросы.
если вопрос публикуют то автора его прописывают а если задают то это как бы уже новый вопрос и задет его сам автор, просто чтобы автору не писать свой никнейм хотелось бы автоматического заполнения.
Комментарии
Если память не изменяет - в шестерке можно выставить значение CCK по-умолчанию. Даже с PHP-сниппетом.
Да в друпал 6 есть такая фишка
Подскажите пожалуйста как быть с 7-кой
Как присвоить полю значение по умолчанию?
UPD
Тормознул...
Там же есть такое поле )))
Просто вид другой, чем у 6-ки
Простите
в поиске предлагают http://drupal.org/project/computed_field вот это. но что с этим делать?
А чем не устраивает CCK с его значением по-умолчанию?
так значение же автоматомзаполняемое автора ноды. вот надо как то это прописать...
сопственно в этом и вопрос...
Я же писал
Так вопрос в этом самом сниппете.
<?php
$node = node_load(arg(1));
print $node->name;
?>
Это заготовка, но там помнится через массив данные отдаются, поэтому надо смотреть на месте.
я добавил вот это
global $user;
return array(
0 => array(
'uid' =>$user->uid,
),
);
ну ножно автора ноды как то вставить... или текущего пользователя...
if (если такое-то поле == 0) {
то нужно добавить в поле значение соответствующее никнейму автора ноды
}
--
естественно при редактировании ноды никнейм автора ноды уже был там прописан... (или это не реально так?
И? Чем это закончилось?
ничем. пустое поле. ничо не вывело
У меня под рукой нет шестерки с CCK, но по-моему там надо выводить не 'uid' =>, а что-то другое. Смотри в подсказке снизу - там написано должно быть.
У меня так работает:
global $user;
if($user->uid!=0){
return array(
0 => array('value' => $user->name),
);
}else{
return array(
0 => array('value' => 'Гость'),
);
}
С этим кодом пропадет возможность заполнить. Мне нужно что бы дефолт выставлялся если пустое поле. Тогда автор ноды. Если заполнили именем каки-то то это имя и фигурирует.
А при редактирование ноды, должен быть либо автор ноды ли имя заполненное.
value точно! Так должно работать.
рулесами пользуешься, они не умеют это делать? есть действие populate a field. сам не пробовал, но предстоит.
У меня задача - задать и публиковать вопросы.
если вопрос публикуют то автора его прописывают а если задают то это как бы уже новый вопрос и задет его сам автор, просто чтобы автору не писать свой никнейм хотелось бы автоматического заполнения.
Интересно, кто здесь говорил о рулз?
ТС, GolovaNoga предложил рабочий вариант. У тебя не работает?
Все работает как надо. Спасибочки камрады.