Вывести текущее значение поля в php блоке - D7

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

Аватар пользователя azsx azsx 3 декабря 2013 в 6:35

Есть страница на drupal 7. Страница имеет поле с именем field_razmer_dlina.
Как в php блоке вывести значение этого поля?
зы
из интернета кажется попробовал уже всё.
зызы
так как наверное это важно в модуле девел, в ... (Object) stdClass отображается
field_razmer_dlina (Array, 1 element)
und (Array, 1 element)
0 (Array, 1 element)
то есть запись точно есть!

Комментарии

Аватар пользователя azsx azsx 5 декабря 2013 в 9:56

Приложу скрин
1. В блоке точно есть команда вывода
2. На странице точно есть filed_razmer_dlina = 150
3. При выводе страницы (rrr блок в content) вместо значения 150 выводится ошибка
Не могу понять почему так. Если кому интересно помочь, могу дать доступ от админа в личку

Аватар пользователя azsx azsx 5 декабря 2013 в 11:45

Niklan почему? И главное - как сделать правильно? Ваш способ не заработал у меня! Можно в личку вам дать доступ от админа, чтобы вы показали как правильно (чтобы не играть в сломанный телефон)?

Аватар пользователя Niklan Niklan 5 декабря 2013 в 12:04

"azsx" wrote:
Niklan почему?

$node = node_load(arg(1));
Ок, заходите с этим блоком в таксономию, сущность, да хоть куда где нету нужного поля и ловите ерроры в лучшем случае. Либо белый экран.

Через пол года если из-за такого подхода где-то выбьет сайт или еще чего случиться, вы его не найдете. Вы тупо не вспомните. Если сайт накроет, ни в одном логе не отобразятся ошибки блока и вы никогда не найдете ошибку.

При переходе на drupal 8 (если такое вообще будет) вы тоже получите много радостей с такими блоками, ибо там имменно из-за проблем и криворукости подхода тех кто это использует, выпилили из ядра такую возможность.

"azsx" wrote:
И главное - как сделать правильно?

Если вам нужен свой блок. Самый просто способ через вьюс вывести данные поля, зачем городить php?
Если нужно без вьюса, регистрируем в системе свой блок через hook_block_info(), а затем передаем в него нужные значения через block_view_alter().

Если не нужно блоком, то правильнее всего выводить через node--*.tpl.php

"azsx" wrote:

я вам написал правильно, вот только вы воспользовались не правильно. Я уж думал, понять что это правильный путь массива который вы принтили догадаться можно.

"azsx" wrote:
Можно в личку вам дать доступ от админа, чтобы вы показали как правильно (чтобы не играть в сломанный телефон)?

Делайте сами. Если так будут все вам помогать вы не научитесь друпалу.
Для начала решите какой путь вам ближе, с вьюсами или без, затем блок или нет, а от этого отталкивайтесь. Неужели сложно вьюху сделать с контекстуальным фильтром и выводом полей.