Как сделать внизу страницы одиночного товара вставку (картинки, название товара, цену, и линк) из другого товара. Тоесть нужно сделать какбы похожый товар но только чтоб туда добавлялся вручную а не по таксономии.
Пробывал код <?php print node_view (node_load (id), FALSE, TRUE, TRUE);?> но он вставляет с описание, а описание мне не нужно.
Есть ли какиенибудь подобные решения?
Комментарии
Посмотрите function node_view там видно, что кроме node_load еще хуки такие как node_build и т.д., надо выполнить их Вам и получите ноду с полем картинки как объект, а дальше не используя node_view выведете только картинку.
Если Вы хотите удалить только описание, то сделайте $node = node_load(); unset($node->content['body']); $out = node_view($node, FALSE, TRUE, TRUE);
Если выбирается вручную. Я бы использовал - нодереференс для товара и вьюс с выводом в блок по данной нодереференс.
А куда именно вставить эту строчку
$node = node_load(); unset($node->content['body']); $out = node_view($node, FALSE, TRUE, TRUE);
в
<?php print node_view (node_load (id), FALSE, TRUE, TRUE);?>
можно туда де
<?php
$node_my = node_load(id);
unset($node_my->content['body']);
print node_view($node_my, FALSE, TRUE, TRUE);
?>
Еще можно использовать для этого Nodequeue модуль. Выставить правильные права, ну и соответственно выводить "очереди" куда хочешь с помощью вьюс.
Выдаёт ошибку "warning: Invalid argument supplied for foreach()" in /home/................./sites/all/modules/cck/content.module on line 1284.
<?php
else {
foreach ($type['fields'] as $field) { 1284 строка
$items = isset($node->$field['field_name']) ? $node->$field['field_name'] : array();
$result = content_field($op, $node, $field, $items, $teaser, $page);
if (is_array($result)) {
$return = array_merge($return, $result);
}
else if (isset($result)) {
$return[] = $result;
}
if (isset($node->$field['field_name'])) {
$node->$field['field_name'] = $items;
}
}
}
?>