как добавить title каждому пункту radio button? а не только всему полю
можно Jquery впилить, но может это как-то через alter делается
пытался добавить title, но не понятно куда
Спасибо за ответ
получилось зацепиться за input так <?php$element['field_type']['und']['Text']['#attributes']['title'] = t('Текст описания текст');?>
вывод
<divclass="form-item form-type-radio form-item-field-collection-und-0-field-type-und"> <inputtitle="Текст описания текст"type="radio"id="edit-field-collection-und-0-field-type-und-text"name="field_collection[und][0][field_type][und]"value="Text"class="form-radio"> <labelclass="option"for="edit-field-collection-und-0-field-type-und-text">‏Text ‏</label> </div>
но мне бы label или родительский div
такая строка меняет содержимое label <?php$element['field_type']['und']['Text']['#title'] = t('Текст описания текст');?> <labelclass="option"for="edit-field-collection-und-0-field-type-und-text">‏Текст описания текст ‏</label>
ничего не выводит, потом нашел такую инфу https://gist.github.com/jacine/1184302
создал шаблон поля в шаблоне сайта, добавил туда хук выше с именем шаблона темы и ничего(
Спасибо вам за помощь. Как посмотреть данные в переменной &$vars ? dpm ничего не показывает, добавил все в template.php
В общем пока что зацепил с помощью jQuery
var video_add_node = $('#edit-field-collection-und-0-field-type-und-video'); if(video_add_node.length>0){
video_add_node.next('label').attr('data-toggle','tooltip').attr('data-original-title','Add video').attr('title','Add video'); }
Да
devel дал права для всех ролей
чищу кеш
захожу в форму добавления ноды под пользоветелем - нету
захожу админом в форму добавления ноды - нету
чищу кеш, обновляю пару раз страницу - нету
из под админа при добавлении через админ интерфес не дохнет
а вот из под пользователя
Parse error: syntax error, unexpected 'asd' (T_STRING) in /var/www/vhosts/..../drupal...../sites/all/themes/..../template.php on line 160
UPD
получил инфу dpm из под авторизованного пользователя, поиграл с permissions devel для роли
но когда делал с помощью JQuery выяснил что инфу нужно добавлять в label
а тут в массиве нет ничего похожего, в children есть input только
<pre>Array
(
[#type] => radio
[#title] => Video
[#return_value] => Video
[#default_value] => Image
[#attributes] => Array
(
)
[#parents] => Array
(
[0] => field_collection
[1] => und
[2] => 0
[3] => field_type
[4] => und
)
Комментарии
Не совсем title, попробуй:
'#description' => t('Текст описания текст'),
);
$form['field_type'][LANGUAGE_NONE]['Image'] = array(
'#description' => t('Текст описания рисунка'),
);
// ...
Спасибо за ответ
получилось зацепиться за input так
<?php$element['field_type']['und']['Text']['#attributes']['title'] = t('Текст описания текст');?>
вывод
<input title="Текст описания текст" type="radio" id="edit-field-collection-und-0-field-type-und-text" name="field_collection[und][0][field_type][und]" value="Text" class="form-radio">
<label class="option" for="edit-field-collection-und-0-field-type-und-text">‏Text ‏</label>
</div>
но мне бы label или родительский div
такая строка меняет содержимое label
<?php$element['field_type']['und']['Text']['#title'] = t('Текст описания текст');?>
<label class="option" for="edit-field-collection-und-0-field-type-und-text">‏Текст описания текст ‏</label>
тематизация в помощь, field--name.tpl.php
это немного не то, нужно темизировать форму именно добавления ноды, а указанный шаблон темизирует вывод поля в ноде. (Попробовал на одном из полей)
это тоже тематизируется, preprocess
это ужас какой-то.
в template.php добавил
<?php
/**
* Implements hook_preprocess_field().
*/
function themename_preprocess_field(&$variables) {
dpm($variables);
}
?>
ничего не выводит, потом нашел такую инфу https://gist.github.com/jacine/1184302
создал шаблон поля в шаблоне сайта, добавил туда хук выше с именем шаблона темы и ничего(
https://api.drupal.org/api/drupal/includes!form.inc/function/theme_form_...
<?php
function MYTHEME_preprocess_form_element(&$vars) {
$vars['attributes']['class'][] = 'another-class';
}
?>
Спасибо вам за помощь. Как посмотреть данные в переменной &$vars ? dpm ничего не показывает, добавил все в template.php
В общем пока что зацепил с помощью jQuery
if(video_add_node.length > 0){
video_add_node.next('label').attr('data-toggle','tooltip').attr('data-original-title','Add video').attr('title','Add video');
}
результат
<?php
<div class="form-item form-type-radio form-item-field-collection-und-0-field-type-und" title="Add Video">
<input type="radio" id="edit-field-collection-und-0-field-type-und-video" name="field_collection[und][0][field_type][und]" value="Video" class="form-radio">
<label class="option" for="edit-field-collection-und-0-field-type-und-video">‏Video ‏</label>
</div>
?>
но вопрос остался в силе, как это сделать средствами drupal
dpm должен показывать, кещ чистили?
да, несколько раз.
попробую еще позже
а точно так?
<?php
function MYTHEME_preprocess_form_element(&$vars) {
dpm($vars);
}
?>
Да
devel дал права для всех ролей
чищу кеш
захожу в форму добавления ноды под пользоветелем - нету
захожу админом в форму добавления ноды - нету
чищу кеш, обновляю пару раз страницу - нету
введи неправильный код, сайт дохнет?
нет, хм почему-то не отрабатывает вся функция
<?phpfunction firji_preprocess_form_element(&$vars) {
dpm($vars);
asdasd asd asd asd asd
}?>
из под админа при добавлении через админ интерфес не дохнет
а вот из под пользователя
Parse error: syntax error, unexpected 'asd' (T_STRING) in /var/www/vhosts/..../drupal...../sites/all/themes/..../template.php on line 160
UPD
получил инфу dpm из под авторизованного пользователя, поиграл с permissions devel для роли
но когда делал с помощью JQuery выяснил что инфу нужно добавлять в label
а тут в массиве нет ничего похожего, в children есть input только
(
[#type] => radio
[#title] => Video
[#return_value] => Video
[#default_value] => Image
[#attributes] => Array
(
)
[#parents] => Array
(
[0] => field_collection
[1] => und
[2] => 0
[3] => field_type
[4] => und
)
[#id] => edit-field-collection-und-0-field-type-und-video
[#ajax] =>
[#weight] => 0.003
[#input] => 1
[#process] => Array
(
[0] => ajax_process_form
)
[#theme] => radio
[#theme_wrappers] => Array
(
[0] => form_element
)
[#title_display] => after
[#pre_render] => Array
(
[0] => ctools_dependent_pre_render
)
[#after_build] => Array
(
[0] => conditional_fields_element_after_build
)
[#defaults_loaded] => 1
[#tree] => 1
[#array_parents] => Array
(
[0] => field_collection
[1] => und
[2] => 0
[3] => field_type
[4] => und
[5] => Video
)
[#processed] => 1
[#required] =>
[#name] => field_collection[und][0][field_type][und]
[#value] => Image
[#ajax_processed] =>
[#sorted] => 1
[#after_build_done] => 1
[#children] => <input type="radio" id="edit-field-collection-und-0-field-type-und-video" name="field_collection[und][0][field_type][und]" value="Video" class="form-radio">
)
</pre>
хочу получить так
<input type="radio" id="edit-field-collection-und-0-field-type-und-text" name="field_collection[und][0][field_type][und]" value="Text" class="form-radio">
<label class="option" for="edit-field-collection-und-0-field-type-und-text" data-toggle="tooltip" data-original-title="Add simple text" title="Add simple text">‏Text ‏</label>
</div>
data-toggle="tooltip" data-original-title="Add simple text" title="Add simple text"
по сути я пришел к тому же, что и делал через _form_alter. в нём я мог добавить атрибуты для input
хороший пример: http://drupal.stackexchange.com/a/30330/33