Как вывести в блоке (Картинку, линк, цену) товара Ubercart?

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

Аватар пользователя arefkin arefkin 29 мая 2011 в 11:43

Как сделать внизу страницы одиночного товара вставку (картинки, название товара, цену, и линк) из другого товара. Тоесть нужно сделать какбы похожый товар но только чтоб туда добавлялся вручную а не по таксономии.
Пробывал код <?php print node_view (node_load (id), FALSE, TRUE, TRUE);?> но он вставляет с описание, а описание мне не нужно.
Есть ли какиенибудь подобные решения?

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 29 мая 2011 в 11:52

"arefkin" wrote:
описание мне не нужно

Посмотрите function node_view там видно, что кроме node_load еще хуки такие как node_build и т.д., надо выполнить их Вам и получите ноду с полем картинки как объект, а дальше не используя node_view выведете только картинку.
Если Вы хотите удалить только описание, то сделайте $node = node_load(); unset($node->content['body']); $out = node_view($node, FALSE, TRUE, TRUE);

Аватар пользователя kodo kodo 29 мая 2011 в 12:33

Если выбирается вручную. Я бы использовал - нодереференс для товара и вьюс с выводом в блок по данной нодереференс.

Аватар пользователя arefkin arefkin 29 мая 2011 в 14:02

А куда именно вставить эту строчку
$node = node_load(); unset($node->content['body']); $out = node_view($node, FALSE, TRUE, TRUE);

в

<?php print node_view (node_load (id), FALSE, TRUE, TRUE);?>

Аватар пользователя Alamir Alamir 29 мая 2011 в 17:37

Еще можно использовать для этого Nodequeue модуль. Выставить правильные права, ну и соответственно выводить "очереди" куда хочешь с помощью вьюс.

Аватар пользователя arefkin arefkin 29 мая 2011 в 21:08

Выдаёт ошибку "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;
      }
    }
  }
?>