Случайные записи в Твиттере
Автозаполнение поля, созданного в CCK из профиля пользователя
Допустить к определенной ноде в CCK мы сделали дополнительное поле и назвали его используемое оборудование.
Поле имеет при вводе нефильтрованный, а обычный тест
Но этот текст довольно объемный, несколько строк (5-15). Понятно, что этот текст пользователь вводить будет не всегда (поле не обязательное), но когда ему приспичит - заполнять одно и тоже даже 2 раза не будет никакого желания.
По этому в профиле пользователя создаем текстовое поле profile_oborudovanie , которое он заполняет при регистрации или изменении профиля. Так как люди чаще всего используют в своей работе одно и тоже оборудование, то это поле можно использовать для хранения оборудования, которое использует данный юзер и при необходимости заполнять им поле CCK/
поле CCK называется my-oborudovanie а при добавлении материалов в форме имеет id edit-field-my-oborudovanie-0-value (смотри html код документа)
Теперь надо научить друпал распознавать, когда это поле заполнять, а когда вовсе даже не надо
1. Создаем блок
2. Страницы для показа node/add/blog (или др тип, в котором надо заполнять значение поля)
3. Формат ввода для текста в блоке - php код
содержимое блока такое
<?php
global $user;
$user_data = user_load(array ('uid'=>$user->uid))
?>
<h3>В Вашем профиле указано, что Вы используете следующее оборудование:</h3><?php
$oborudovanie = $user_data->profile_oborudovanie;
$oborudovanie_js = str_replace('"', '\"', $oborudovanie);
print($oborudovanie. "<br /><br />");
?><input type="button" value="Заполнить поле Ипользованное оборудование" onclick='javascript:$("#edit-field-my-oborudovanie-0-value").val("<?php print $oborudovanie_js; ?>");' />
4. Расположение - в самом вверху над формой ввода ноды, чтобы было удобнее
Теперь при добавлении ноды вверху появляется блок, который подсказывает, что в профиле Вы заполнили поле с оборудованием Так и так. И кнопочка, при нажатии на которую эта самая инфа из профиля записывается в CCK поле с оборудованием. Получилось просто и ненавзчиво. Если в данном посте необходимо указать использованное оборудование, то человек не набирает его, а жмет кнопку. А потом при необходимости можно немного подправить.


Комментарии
Следует учесть, что пользователь в профиле может указать кавычки, другую хрень (вплоть до ява скрипта попытаться)
по этому надо довавить проверку
check_markup
замену \n и \r и ' и "
А тка реально проверено и работает
Отправить комментарий