РЕШЕНО! Как вывести по отдельности каждое из значений поля

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

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 11:05

print_r $node показал такой код...

как вывести по отдельности каждое из значений поля ???

такое чото не пашет

<?php print ($node->field_author['und']['0']['entity']['name']); ?>
<?php print ($node->field_author['und']['1']['entity']['name']); ?>

<?php[field_author] => Array
        (
            [und] => Array
                (
                    [0] => Array
                        (
                            [target_id] => 247
                            [entity] => stdClass Object
                                (
                                    [tid] => 247
                                    [vid] => 16
                                    [name] => Илья Кормильецев
                                    [description] => 
                                    [format] => filtered_html
                                    [weight] => 0
                                    [vocabulary_machine_name] => author_song
                                )

                            [access] => 1
                        )

                    [1] => Array
                        (
                            [target_id] => 248
                            [entity] => stdClass Object
                                (
                                    [tid] => 248
                                    [vid] => 16
                                    [name] => Вячеслав Бутусов
                                    [description] => 
                                    [format] => filtered_html
                                    [weight] => 0
                                    [vocabulary_machine_name] => author_song
                                )

                            [access] => 1
                        )

                )

        )?>

Комментарии

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 11:38

2 день ищу ни один вариант не подходит из предложенных. если подскажите где ошибка... был бы благодарен или совсем не так нужно... делать?

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 12:20

Не поверите я это уже читал... и решил один из вопросов о том как в блоке вывести кастомном - значения ноды открытой.

почитаю еще раз. может и с этим вопросом расквитаюсь

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 12:33

что то как то не помогает... чтение, даже апи почитал функций... из статьи...

<?php  

$author 

field_get_items('node'$node'field_author');
$output field_view_value('node'$node'field_author'$author[0]); 
print 
$output;

?>
Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 12:38

понял что можно поле вывести еще и так

<?php 
    
print render(field_view_field('node'$node'field_author'));
  
?>

но как вывести одно из значений поля...

Аватар пользователя Dalay Dalay 5 сентября 2013 в 12:53

"iNFerNo" wrote:

Не поверите я это уже читал... и решил один из вопросов о том как в блоке вывести кастомном - значения ноды открытой.

почитаю еще раз. может и с этим вопросом расквитаюсь

Ок.) Попробуй так:

$items = field_get_items('node', $node, 'field_author');

// Дальше так
print render(field_view_value('node', $node, 'field_author', $items[0])); // Выводим первое значение
print render(field_view_value('node', $node, 'field_author', $items[1]));  // Выводим второе значение

// Или так
foreach ($items as $item) {
  print render(field_view_value('node', $node, 'field_author', $item));
}

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 12:51

Задам еще вопрос.

У меня 2 поля сгруппированы в мультигруппу т.е.

field_author значение 0 field_type_author значение 0
и
field_author значение 1 field_type_author значение 1

как парами вывести правильно... ЭТО

<?php$items = field_get_items('node', $node, 'field_author');
$items2 = field_get_items('node', $node, 'field_type_author');
 
print render(field_view_value('node', $node, 'field_author', $items[0])); 
print render(field_view_value('node', $node, 'field_type_author', $items2[0])); 

print render(field_view_value('node', $node, 'field_author', $items[1])); 
print render(field_view_value('node', $node, 'field_type_author', $items2[1])); 

?>

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

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 12:59

пока так сделал (не правильным способом)

<?php

$items 

field_get_items('node'$node'field_author');
$items2 field_get_items('node'$node'field_type_author');

print 

render(field_view_value('node'$node'field_author'$items[0])) . ' - ' render(field_view_value('node'$node'field_type_author'$items2[0])) . '</br>'

print 

render(field_view_value('node'$node'field_author'$items[1])) . ' - ' render(field_view_value('node'$node'field_type_author'$items2[1])) . '</br>';
?>

как можно усовершенствовать, что бы каждый раз не лесть в шаблон и не добавлять новые строки для вывода... ???

Аватар пользователя Dalay Dalay 5 сентября 2013 в 12:58

"iNFerNo" wrote:
Задам еще вопрос.

У меня 2 поля сгруппированы в мультигруппу т.е.


ХЗ, надо в апи мультигруппового модуля смотреть.

Аватар пользователя Dalay Dalay 5 сентября 2013 в 13:06

"iNFerNo" wrote:
как можно усовершенствовать, что бы каждый раз не лесть в шаблон и не добавлять новые строки для вывода... ???

Я тебе по теме топика ответил. Что там у тебя на сайте и в каком контексте не разумею. Только не объясняй, пожалуйста, нуегонафиг.)

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 13:13

Сразу всплыл вопрос

мне нужно не выводить один из принтов если значений нет у поля

<?phpif ($items == ''):
print render(field_view_value('node', $node, 'field_author', $items[1])) . ' - ' . render(field_view_value('node', $node, 'field_type_author', $items2[1])) . '</br>';
endif;?>

что то такое не пашет....

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 13:14

"Dalay" wrote:
Я тебе по теме топика ответил. Что там у тебя на сайте и в каком контексте не разумею. Только не объясняй, пожалуйста, нуегонафиг.)

ахаха ок. создам еще одни пост = )))

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 13:15

О решил вопрос.

<?phpif ($items = field_get_items('node', $node, 'field_author') == ''):
print render(field_view_value('node', $node, 'field_author', $items[1])) . ' - ' . render(field_view_value('node', $node, 'field_type_author', $items2[1])) . '</br>';
endif;?>
Аватар пользователя Dalay Dalay 5 сентября 2013 в 13:18

"iNFerNo" wrote:
мне нужно не выводить один из принтов если значений нет у поля

if ($items)

upd: я не поспеваю за твоими правками ) давай, удачи

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 13:36

Не что то не работает

ни так

if ($items):

Ни так

if ($items = field_get_items('node', $node, 'field_author')):

тут нужно что бы вторые и последующие значения полей если отсутствуют не показывать принт

Аватар пользователя iNFerNo iNFerNo 5 сентября 2013 в 14:32

В оригинале ксти поле имеет форматирование - ссылку на ноду имеет (заголовок чей и выводиться в поле)

Что то не соображу как ссылку прикрутить нормально...

Аватар пользователя iNFerNo iNFerNo 9 сентября 2013 в 14:09

Подскажите как ссылку вывести (как при дефолтном выводе полей)

<?php [field_binding_album] => Array
                                (
                                    [
und] => Array
                                        (
                                            [
0] => Array
                                                (
                                                    [
target_id] => 798
                                                    
[entity] => stdClass Object
                                                        
(
                                                            [
vid] => 798
                                                            
[uid] => 4
                                                            
[title] => Свистопляска
                                                            
[log] => 
                                                            [
status] => 1
                                                            
[comment] => 2
                                                            
[promote] => 0
                                                            
[sticky] => 0
                                                            
[nid] => 798
                                                            
[type] => albums
                                                            
[language] => ru
                                                            
[created] => 1354520029
                                                            
[changed] => 1361349533
                                                            
[tnid] => 0
                                                            
[translate] => 0
                                                            
[revision_timestamp] => 1361349533
                                                            
[revision_uid] => 4
                                                            
[body] => Array
                                                                (
                                                                )
?>

как к этому
print render(field_view_value('node', $node, 'binding_album', $items[0]))

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