Могу ли я добавить ссылку на ссылку на узел при использовании виджета автозаполнения?
Мне нравится виджет автозаполнения для модуля ссылок в Drupal 7, но мне кажется странным, что он не содержит ссылки на указанный узел (просмотр или редактирование)?
Есть ли какой-нибудь способ в hook_form_alter, чтобы я мог как-то это добавить?
Я могу сделать это:
$form['field_lessons']['und'][0]['#suffix'] = '<a href="#">Edit</a>';
И в поле автозаполнения под ним есть ссылка на редактирование, но это не работает:
foreach($form['field_lessons']['und'] AS $lesson) {
$lesson['#suffix'] = '<a href="#">Edit</a>';
}
, А также циклы 10+ раз, хотя у меня есть только 1 ссылка на узел в настоящее время: s
Мне это не обязательно нравится, но я могу сделать это на Javascript вот так, и перетаскивание все еще работает:
$('#edit-field-lessons .form-item').each(function(i) {
var lesson_nid = $(this).find('input[type="text"]').val();
lesson_nid = lesson_nid.substring(lesson_nid.indexOf('[nid:')+5, lesson_nid.indexOf(']'));
$(this).append('<a class="view" href="node/' + lesson_nid + '">View</a>');
$(this).append('<a class="edit" href="node/' + lesson_nid + '/edit">Edit</a>');
});
1
Author: SomethingOn, 2012-05-31
1 answers
Это сработает (на этот раз я проверил это;)):
foreach($form['field_lessons'][LANGUAGE_NONE] as $key => $lesson) {
// If we have a default value for the nid, we have a populated node reference
if (isset($lesson['nid']) && is_array($lesson['nid']) && $lesson['nid']['#default_value'])) {
// Get the nid
$nid = $lesson['nid']['#default_value'];
// Create an edit link
$link = l('Edit', "node/$nid/edit");
// Add it to the element
$form['field_lessons'][LANGUAGE_NONE][$key]['nid']['#suffix'] = $link;
}
}
1
Author: Clive, 2012-05-31 23:44:30