Имеется views в котором выводятся поля материала.
Одно из полей типа node_reference и отображается как "Заголовок(ссылка)"
Соответственно получаем такую картину:
Поле 1
Поле 2
Поле "Заголовок (ссылка)"
А хотелось бы все имеющиеся поля обернуть этой ссылкой из поля node_referance не выводя заголовка.
Помогите в решении такой задачи. А то уже всю голову сломал
С помощью Dan, решил проблему правильно!
Надо добавить Relationship(Взаимосвязь) на ту ноду, куда ссылается node_reference, тоесть выбрать node_referance которое ссылается на нужную нам ноду.
Далее в поля добавить Материал: Nid, исключить его из отображения в полях, поставить первым в списке полей и указать тот Relationship(Взаимосвязь), который создали.
Потом для каждого поля, который надо сделать ссылкой, нажимаем "Output this field as a link"(Выводить это поле в виде ссылки) и пишем там node/[nid].
Комментарии
Посмотрите в сторону "Тема: Информация" в настройках вашего views - оттуда можно обернуть и с верху и сбоку и снизу ...
Вот содержимое шаблона поля ссылки:
<?php $output; ?>
Как бы его разложить на ссылку и текст ссылки, да или хотябы путь ссылки и легко бы обернул.
content template + рукипардон, невнимательно прочитал
Решил проблему косоруким исправлением шаблонов темы.
В поле ссылки она выводилась в формате
<a href="путь">Название</a>
views-view-field--taxonomy-term--field-product-model-link-nid.tpl.php - поле с ссылкой
<?php
//разделяем строку на 2 части после символа ">"
$array = explode('>', $output);
//выводим первую ячейку массиваи добавляем к ней закрытие тэга ссылки
//в PHP я не силен поэтому способ самый кривой которым можно было отрезать конец ссылки.
print $array[0] . '>';
?>
views-view-fields.tpl.php - шаблон вывода полей
<?php foreach ($fields as $id => $field){
if ($field->class == 'field-product-model-link-nid') {
//не оборачиваем в div поле с ссылкой
print $field->content;
} else {
if ($field->class == 'field-product-model-value') {
//закрываем ссылку после нужного поля
print '<div class="' . $field->class . '">' . $field->content . '</div></a>';
} else {
//все остальные поля выводятся как всегда
print '<div class="' . $field->class . '">' . $field->content . '</div>';
};
};
}; ?>
спасибо! помогло