Вьювс одних нод с изображениями от других

Аватар пользователя vitaboss

Нужно создать страницу представления всех определенного типа нод (категории) (поля: заголовок, содержимое) с подтягиванием полей от других типов нод(товары) (изображение от самой популярной ноды).

Фильтрация - по термину словаря с родителем и без, сортировка - изображение от самой популярной среди себе подобных, т.е. с родителем или без. Поможет ли общий словарь "категории", который у них общий.
Подскажите как сделать.

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя vitaboss
vitaboss 5 лет назад

Нашел два варианта:

1
<?php
$gallery_name='Название галереи';
$term = taxonomy_get_term_by_name($gallery_name);
$tid = $term[0]->tid;
$thumbs = 3; // Количество выводимых изображений.
$images_arr = (image_get_random($count = $thumbs, $tid));
foreach ($images_arr as $images){
print l(image_display($images, 'thumbnail'),'node/'.$images->nid, array('html'=>TRUE));
}
?>

2
<?php
$gallery_name='Название галереи';
$term = taxonomy_get_term_by_name($gallery_name);
$tid = $term[0]->tid;
$thumbs = 3; // Количество выводимых изображений.
while ($thumbs<1)
{
$images = (image_get_random($count = 1, $tid));
print image_display($images[0], 'preview');
$thumbs++;
}
?>

Не подходят, т.к. для 6-ки, просто выводят случайные изображения.
Нужно чтобы изображение вытягивалось от тех нод и появлялось в других, где совпадает термин словаря. Главных нод 6, нод с картинками множество.

Аватар пользователя Anton1
Anton1 5 лет назад

relations во views

Аватар пользователя vitaboss
vitaboss 5 лет назад
Anton1 написал:
relations во views

Именно это и пытался сделать, не получается...

В отношениях что выбрать?
Использование файлов: Файл
Поле: Изображение (field_image:fid)
Содержимое: Изображение (field_image:fid)

Выбирал все варианты... в полях поле изображение от других нод не появляется.
И не могу понять как вывести главные ноды все а картинки присвоить только от нод самых популярных, при условии, что словари у главной и зависомой ноды совпадают.

Аватар пользователя Anton1
Anton1 5 лет назад
vitaboss написал:
В отношениях что выбрать?

поле по которому они связываются.

Аватар пользователя vitaboss
vitaboss 5 лет назад
Anton1 написал:
поле по которому они связываются.

Я так понимаю это будет - Поле: Изображение (field_image:fid)

Не могу понять... ноды еще нигде не связываются. В отношениях выбираю изображение... и все?

Дальше переходить во вьювс в Поля, Фильтрация, Сортировка?
Там выбрал главные ноды, как вытянуть поля изображения от множества других нод, но только одно и к тому от самой популяной по просмотрам. (статистика включена, просто популярные ноды выводятся).

Дополнительные модули нужны еще, например relation?

Аватар пользователя Anton1
Anton1 5 лет назад

2 материала в одном из них должен быть например node_reference чтоб их можно было связать и вытянуть доп поля. там все же тривиально.

Аватар пользователя multpix
multpix 5 лет назад
Anton1 написал:
2 материала в одном из них должен быть например node_reference чтоб их можно было связать и вытянуть доп поля

или общий термин.

Аватар пользователя vitaboss
vitaboss 5 лет назад
multpix написал:
или общий термин.

Словарь общий полностью. 1300 нод товаров разбросано по разным терминам, главные ноды - одна нода на термин (описание, типа страница раздела). На каждую страницу хочу вытянуть по 1 самой популярной картинке из 1300 нод в соответствии с терминами.

На главных страницах (нодах) есть уже views reference представление нод от каждого термина, выводятся все анонсы нод. Теперь хочу вывести над всем этим 1 картинку.

Аватар пользователя multpix
multpix 5 лет назад
vitaboss написал:
Теперь хочу вывести над всем этим 1 картинку.

имхо еще один вьюс - блок.

Аватар пользователя vitaboss
vitaboss 5 лет назад

Кажется понял...

Одно глобальное представление для всех главных нод, вывожу его полем views reference в нужных нодах (поставить можно значение по умолчанию и вообще виджет скрыть).
Во вьювс - аргументы и отношения по термину, вытягиваю 1 единственную картинку самую популярную из все вторых нод (дисплеев товаров), в зависимости (от термина) от того на какой главной ноде будет отображаться из таких дисплеев товара и будет картинка доставаться?

Так?

Аватар пользователя vitaboss
vitaboss 5 лет назад
multpix написал:
имхо еще один вьюс - блок.

ну или две page, в ноду два поля views reference
Можно?

Аватар пользователя multpix
multpix 5 лет назад

верно)
выводить вьюсы с аргументами блоком на странице с нодой - самый простой вариант.
можно также прокопать views_embed_view

print views_embed_view('views_id', 'display_id', $node->nid);
// views_id - имя представления
// display_id - идентификатор дисплея представления
// $node->nid - тут это аргумент (идентификатор ноды), который передается представление
Аватар пользователя vitaboss
vitaboss 5 лет назад

УРААА!!!!
Круто!!!
Я в третей колонке вьювса до сих пор не мог разобраться, быстро не получалось, а на изучение времени никогда не было.

Аватар пользователя multpix
multpix 5 лет назад

ех, было-бы чему радоваться, как правило ответы притягивают все новые вопросы))))))
погляди на досуге:
http://www.drupal.ru/node/84838

p.s.
во вьюсе многоступенчатые цепочки связей будут причиной тормозов - тут нужно осторожней

Аватар пользователя multpix
multpix 5 лет назад

не так страшно, как кажется
просто написана: задача->рецепт, и куча скринов.

Аватар пользователя vitaboss
vitaboss 5 лет назад

Почему-то работает только с самым глубоким термином. Если термин родительский, то результата нет.