Одно из наиболее полезных полей, предоставляемых модулем CCK, — это Ссылка на узел .
Его задача тривиальна и понятна — связать содержимое сайта отношениями, что легко понять на примерах:
- Компания, которая должна иметь ссылки на Workers в своем контенте
- Футболист с подключением к своему узлу статистики.
- Свежие, состоящие из различных ингредиентов (1 курица, 2 апельсина, 50 г специй)
Задача вывода рецепта предполагает, что рецепт и ингредиент являются узлами.
Соответственно, при рендеринге контента с помощью Views мы получим:
Курица по-болгарски (рецепт)
- Курица(Ингредиент)
- Апельсин (ингредиент)
- Специи (Ингредиент)
Курица по-болгарски (рецепт)
- 1 курица (Ингредиент)
- 2 апельсина (ингредиент)
- 50 г специй (Ингредиент)
Для узла «Продукт» добавьте еще одно мультиполе «Текст», которое мы разместим в представлении «Поля» после ссылки на узел.
И в шаблоне view-view-fields.tpl.php (или конкретном представлении, как вам нужно) пишем магию: <Эphp
$nids = array();
?>
<Эphp foreach ($fields as $id => $field): ?>
<Эphp
if($id == 'field_product_nid') {
$nids = array_shift($field->handler->field_values);
continue;
}
if($id == 'field_product_title_value') {
$items = array();
$index = 0;
$titles = array_shift($field->handler->field_values);
foreach($titles as $title) {
$items[] = l($title['value'], 'node/' .
$nids[$index++]['nid']);
}
// TODO: theming here
$field->content = theme('item_list', $items);
}
?>
<Эphp if (!empty($field->separator)): ?>
<Эphp print $field->separator; ?>
<Эphp endif; ?>
<<Эphp print $field->inline_html;?> class="views-field-<Эphp print $field->class; ?>">
<Эphp if ($field->label): ?>
<Эphp print $field->label; ?>:
<Эphp endif; ?>
<Эphp
// $field->element_type is either SPAN or DIV depending upon whether or not
// the field is a 'block' element type or 'inline' element type.
?>
<<Эphp print $field->element_type; ?> class="field-content"><Эphp print $field->content; ?></<Эphp print $field->element_type; ?>>
</<Эphp print $field->inline_html;?>>
<Эphp endforeach; ?>
Это позволит вам визуализировать представление, заменив заголовок поля Node Reference. Есть ли у вас решение этой проблемы?
Теги: #drupal #Chulan #ссылка на узел #CCK
-
Краткое Описание Программы Ppc Coach
19 Oct, 24 -
Eken M001: Простой И Практичный Umpc
19 Oct, 24