Здравствуйте.
У меня возникла проблема с drupal_render. Вот код:
function name_new($ctg) {
$output = '';
$res = db_query("
SELECT n.nid
FROM `node` as n, `field_data_field_category` as c
WHERE n.type='wallpaper' AND c.entity_id = n.nid AND c.field_category_tid = ".$ctg
);
foreach ($res as $re)
$output .= drupal_render(node_view(node_load($re->nid),'slider'));
return $output;
При такой записи все работает, но выходить ошибка: Strict warning: Only variables should be passed by reference в функции...
Нашел информацию, что в render нужно использовать переменную. Записал эту функцию так:
function name_new($ctg) {
$output = '';
$res = db_query("
SELECT n.nid
FROM `node` as n, `field_data_field_category` as c
WHERE n.type='wallpaper' AND c.entity_id = n.nid AND c.field_category_tid = ".$ctg
);
foreach ($res as $re)
$per = node_view(node_load($re->nid),'slider');
$output = drupal_render($per);
return $output;
Сообщение об ошибке исчезло, но функция перестала работать. Я новичек в Drupal. Пожалуйста, подскажите, что я делаю не так?
Комментарии
Для вас отличные примеры в https://www.drupal.org/project/examples, в частности node_example...
<?php
foreach ($res as $re) {
$per = node_view(node_load($re->nid),'slider');
$output .= drupal_render($per);
}
return $output;
?>
boatsman
Большое спасибо. Все заработало