Вывести в блоке все песни альбома для текущей ноды

Главные вкладки

Аватар пользователя iNFerNo iNFerNo 29 января 2013 в 16:16

Я для текущей ноды (тип материала - songs) добавил блок, где выводится обложка альбома (тип материала - albums)
Между собой songs и albums связаны полем node_reference

Задача вывести все песни выведенной обложки альбома в текущей ноде!

пробую чере модуль view field view решить. но пока что выводит не то что нужно

Комментарии

Аватар пользователя IPlayer IPlayer 29 января 2013 в 17:11

Это обычеая вьюха. В контекстном фильтре (по полю со ссылкой на альбом) указать что если значение фильтра не указано, то задать его значение с помощью PHP кода. В этом коде берем NID из урла, загружаем ноду и возвращаем значение из поля ссылка_на_альбом.
покажутся все песенки, у которых такой nid в поле ссыла_на_альбом.

Аватар пользователя iNFerNo iNFerNo 29 января 2013 в 21:05

"TurboPixel" wrote:
добавляете контекст: "альбом", content id from url
фильтруете по типу материала: "песни"

это не то мне не в ноде - альбом нужно выводить список песенок. а в ноде типа песенка в блоке альбом (обложка) вложеной вьюхо в блок список всех песен этой альбома (обложки)

Аватар пользователя iNFerNo iNFerNo 29 января 2013 в 21:06

"IPlayer" wrote:
В этом коде берем NID из урла, загружаем ноду и возвращаем значение из поля ссылка_на_альбом.
покажутся все песенки, у которых такой nid в поле ссыла_на_альбом.

не очень понятно.

Аватар пользователя IPlayer IPlayer 29 января 2013 в 22:50

в контекстный фильтр добавляете поле, в котором хранится ссылка на альбом.
В настройках фильтра: Когда значение фильтра НЕ доступно - Задать значение по умолчанию - PHP код
и дальше вот примерно так

<?php$my_node=node_load(arg(1));
if (isset($my_node->field_album['und']['0']['target_id'])) {
   return $my_node->field_album['und']['0']['target_id'];
}?>
Аватар пользователя iNFerNo iNFerNo 30 января 2013 в 9:03

как то все не так.

имеем:
ноду (песня) с полем ноде_референсе (field_binding_album) с др. нодой (альбом).
задача:
вывести в блоке от виевс все песни которые тоже значение поля ноде_референсе(field_binding_album)
по сути нужно треклист альбома вывести в блоке, а какого именно должна решать текущая нода и её связь с конкретной нодой - альбомом. + обложку альбома вывеси.

обложку альбома текущей ноды я вывел (контекстые фильтры по nid + поле обратной взаимосвязи. ) + поле вывожу обложки.

Аватар пользователя iNFerNo iNFerNo 30 января 2013 в 9:29

и что за target_id

у меня только такое

<?php
 
[field_binding_album] => Array
        (
            [
und] => Array
                (
                    [
0] => Array
                        (
                            [
nid] => 17
                            
[access] => 1
                            
[node] => stdClass Object
                                
(
                                    [
vid] => 17
                                    
[uid] => 4
                                    
[title] => Прекрасное жестоко
                                    
[log] => 
                                    [
status] => 1
                                    
[comment] => 2
                                    
[promote] => 0
                                    
[sticky] => 0
                                    
[nid] => 17
                                    
[type] => albums
                                    
[language] => 
                                    [
created] => 1341302216
                                    
[changed] => 1359445449
                                    
[tnid] => 0
                                    
[translate] => 0
                                    
[revision_timestamp] => 1359445449
                                    
[revision_uid] => 4
                                    
[body] => Array
                                        (
                                            [
und] => Array
                                                (
                                                    [
0] => Array
                                                        (
                                                            [
value] => 2010 год
                                                            [
summary] => 
                                                            [
format] => filtered_html
                                                            
[safe_value] => 

2010 год.

                                                            [

safe_summary] => 
                                                        )

                                                )

                                        )

?>