Тележка Ubercart - совмещаем с Видами Views

Прислано: Eugef

пт, 30/05/2008 - 12:43

Другие статьи по теме:

Давно меня мучила проблема - в стандартный вывод каталога Ubercart нельзя было вставить отображение дополнительных свойств товара сделанных с помощью CCK. Зато это можно легко сделать с Views.
Но если Видом переопределить стандартную страницу каталога - то терялась навигация по разделам каталога, а она в Ubercart сделана очень даже хорошо.

В общем от Вида хотелось взять настраиваемую таблицу вывода товаров, а от каталога Ubercart - навигацию по разделам и все это объединить.

После нескольких часов упорной работы мысли и чтения drupal.org нашел простое решение - вставить вывод Вида внутрь страницы каталога, еще час пошел на то, чтобы это сделать и отладить, в результате вышел вот такой код, который надо вставить в файл template.php темы. Предварительно нужно создать Вид, который будет отображать товары, добавить в него аргумент "Term ID" и назвать 'products'

<?php
/**
 * Display a formatted catalog page.
 *
 * If the category has products in it, display them in a TAPIr table. Subcategories
 *   are linked along the top of the page. If it does not have products, display
 *   subcategories in a grid with their images and subcategories.
 *
 * @param $tid
 *   Catalog term id from URL.
 * @return
 *   Formatted HTML of the catalog page.
 */
function phptemplate_uc_catalog_browse($tid 0) {
  
drupal_add_css(drupal_get_path('module''uc_catalog') .'/uc_catalog.css');

  
$output '';
  
$catalog uc_catalog_get_page((int)$tid);
  
drupal_set_title(check_plain($catalog->name));
  
drupal_set_breadcrumb(uc_catalog_set_breadcrumb($catalog->tid));
  
$types module_invoke_all('product_types');
  
$links = array();
  
$child_list = array();
  foreach (
$catalog->children as $child) {
    if (
$child->nodes) {
      
$links[] = array('title' => $child->name . (variable_get('uc_catalog_breadcrumb_nodecount'false) ? ' ('$child->nodes .')' ''), 'href' => uc_catalog_path($child),
        
'attributes' => array('rel' => 'tag'),
      );
    }
    if (
$child->image) {
      
$image '<div>';
      if (
module_exists('imagecache')) {
        
$image .= l(theme('imagecache''category'$child->image['filepath']), uc_catalog_path($child), array(), nullnullfalsetrue);
      }
      else {
        
$image.= l(theme('image'$child->image['filepath']), uc_catalog_path($child), array(), nullnullfalsetrue);
      }
      
$image .= '</div>';
    }
    else {
      
$image '<div></div>';
    }
    
$grandchildren = array();
    
$j 0;
    
$max_gc_display 3;
    foreach (
$child->children as $i => $grandchild) {
      if (
$j $max_gc_display) {
        break;
      }
      
$g_child_nodes 0;
      foreach (
$types as $type) {
        
$g_child_nodes += taxonomy_term_count_nodes($grandchild->tid$type);
      }
      if (
$g_child_nodes) {
        
$grandchildren[$i] = l($grandchild->nameuc_catalog_path($grandchild), array('class' => 'subcategory'));
        
$j++;
      }
    }
    
//$grandchildren = array_slice($grandchildren, 0, intval(count($grandchildren) / 2) + 1, true);
    
if ($j $max_gc_display) {
      
array_push($grandchildrenl(t('More...'), uc_catalog_path($child), array('class' => 'subcategory')));
    }
    if (
$child->nodes) {
      
//drupal_set_message('<pre>'.print_r($child, true).'</pre>');
      //drupal_set_message('<pre>'.uc_catalog_path($child).'</pre>');
      
$cell_link $image .'<strong>'l($child->nameuc_catalog_path($child)) .'</strong>';
      if (
variable_get('uc_catalog_show_subcategories'true)) {
        
$cell_link .= "<br/><span>"implode(', '$grandchildren) ."</span>\n";
      }
      
$child_list[] = $cell_link;
    }
  }

  
// Display table of child categories similar to an osCommerce site's front page.
  
$columns variable_get('uc_catalog_category_columns'3);
  
$cat_rows = array();
  
$row = array();
  
$i 1;
  foreach (
$child_list as $cell) {
    
$row[] = array('data' => $cell'class' => 'category');
    if (
$i $columns == 0) {
      
$cat_rows[] = $row;
      
$row = array();
    }
    
$i++;
  }
  if (
count($row) > && count($row) < $columns) {
    if (
count($cat_rows) >= 1) {
      
$row array_merge($rowarray_fill(count($row), $columns count($row), array('data' => '&nbsp;''class' => 'category')));
    }
    
$cat_rows[] = $row;
  }

  
/*
   *
   *  вот здесь вместо стандартного вывода товаров - вставляем Вид
   */
  
if ($tid != 0) {
    
$view_name 'products'//а это название вида, который мы вставляем
    
$view_args = array($tid);
    
$view views_get_view($view_name);
    
$view->url $_GET['q'];
    
$catalog->products views_build_view('embed'$view$view_args$view->use_pager$view->nodes_per_page);
  } else {
    
$catalog->products '';
  }

  if (
$catalog->products) {
    if (
$catalog->image) {
      
$output .= '<div class="uc-catalog-image">'theme('imagecache''thumbnail'$catalog->image['filepath'], $catalog->name$catalog->name, array('class' => 'category')) .'</div>';
    }
    if (
$catalog->description) {
      
$output .= '<div class="uc-catalog-description">'$catalog->description .'</div>';
    }
    
$output .= theme('table', array(), $cat_rows, array('class' => 'category'));
    
$output .= $catalog->products;
  } else {
    if (
$catalog->image && $catalog->description) {
      
$output .= '<div class="uc-catalog-image">'theme('imagecache''thumbnail'$catalog->image['filepath'], $catalog->name$catalog->name, array('class' => 'category')) .'</div>';
      
$output .= '<div class="uc-catalog-description">'$catalog->description .'</div>';
    }
    
$output .= theme('table', array(), $cat_rows, array('class' => 'category'));
  }
  return 
$output;
}
?>

Если кому-то пригодится - готов ответить на все интересующий вопросы!

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано relogger в сб, 31/05/2008 - 06:31.

Добрый день!
У меня стоит уберкарт, есть атрибуты товаров, я хочу добавить эти атрибуты к названию товара. Чтобы было видно какие размеры и цвета доступны. Ваш код решает этот вопрос?


Опубликовано Eugef в сб, 31/05/2008 - 08:32.

Если Вы добавите атрибуты товара в поля Вида - тогда решает!
Я сам атрибутами не пользуюсь - предпочитаю вместо них создавать ССК-поля нужного мне типа, и их выводить в Вид.


Опубликовано gorr в пн, 02/06/2008 - 05:37.

Если можно демо до и после, а то убер не ставил пока. Спасибо.


Опубликовано Eugef в вс, 14/09/2008 - 18:36.

Как выглядит Ubercart + Views - можно посмотреть здесь: http://disk-i-shina.com.ua/catalog/diski-alessio-arizona
На странице отображается раздел каталога, а список товаров сдела с помощью Вида


Опубликовано gorr в чт, 05/06/2008 - 08:44.

Спасибо, увидел- понял, понравилось!


Опубликовано Didro в сб, 09/08/2008 - 13:50.

Большое спасибо, очень полезно!

Однако пробую темизировать вид списка товаров при помощи wiews theme wizard и phptemplate,
и не могу добиться никакого результата.
Подскажите, в каком направлении копать?

апдейт:
прошу прощения, проблема решена. Вышеуказанный прекрасно совместим с темизацией.
Еще раз спасибо автору!


Опубликовано saken в пт, 26/09/2008 - 22:36.

"Eugef" написал(а):

Как выглядит Ubercart + Views - можно посмотреть здесь: http://disk-i-shina.com.ua/catalog/diski-alessio-arizona
На странице отображается раздел каталога, а список товаров сдела с помощью Вида

а чем сделан Подбор дисков и шин по авто как здесь ?


Опубликовано Eugef в пт, 07/11/2008 - 08:04.

saken написал(а):

а чем сделан Подбор дисков и шин по авто как здесь ?

Для выезжающих списков использован http://drupal.org/project/hierarchical_select который темизирует фильтр по таксономии


Опубликовано qman в пт, 02/01/2009 - 21:03.

Не могу найти, каким образом в ubercart вводится кол-во товара на складе!
Как вы организовали отображение есть в наличии и отсутствует на складе?
Большое спасибо.
Возможно ли убрать поля - список стран и список областей , или ограничить список областей?


Опубликовано Terys в вс, 15/02/2009 - 18:09.

Спасибо, очень помогло.
Не подскажите как в категории сделать так, что бы картинка была ссылкой на товар, а не ссылкой на картинку?
тут к примеру http://infit.com.ua/catalog/3/


Опубликовано volocuga в вс, 15/02/2009 - 19:25.

Чем приглушили кнопки товаров,которых нет в наличии?


Опубликовано Terys в пн, 16/02/2009 - 07:58.

volocuga, вы у меня спрашивали? если да - немного вопроса не понял.


Опубликовано Sywooch в пн, 16/02/2009 - 12:37.

что то у меня по этой схеме Титлы не печатаются :(


Опубликовано volocuga в пн, 16/02/2009 - 15:58.

"Terys" написал(а):

volocuga, вы у меня спрашивали? если да - немного вопроса не понял.

Нет,у автора топика


Опубликовано Terys в вт, 17/02/2009 - 18:22.

Повторю вопросик, может кто услышит.
Нужно что бы в категории картинка булы ссылкой на товар. Как это сделать? Готов оплатить помощь.


Опубликовано Sywooch в пт, 20/02/2009 - 23:39.

если вы имеете ввиду в списке товаров картинки залинкованы были на товар то это вроди не есть проблема. Опишите вопрос внятнее???


Опубликовано Terys в чт, 05/03/2009 - 12:41.

Вопрос исчерпан, спасибо.


Опубликовано qman в чт, 26/03/2009 - 19:13.

подскажите тут http://disk-i-shina.com.ua/catalog/diski-alessio
набор фото сделан с помошью представления? или ubercart настроили?
Если ubercart , то подскажите как настроили отображение фото?


Опубликовано cpu в чт, 18/06/2009 - 10:57.

Вопрос ко всем, кто это реализовал:
Какие у вас настройки views?

У меня послу вставки этого кода, вместо картинок(привязанных к термину), вот это -
<img src="http://mysite.ru/sites/default/files/imagecache/category/image1.jpg" alt="" title="" class="imagecache imagecache-category" />


Опубликовано rotkiv в пт, 19/06/2009 - 11:37.

Я переделал чуть под 6 друпал так как там views_build_view нет.
У меня таже проблема что и у cpu, но посидел и вроде разобрался вот код(может быть чуть кривоват) под drupal 6
Вообще код взят из модуля вывода самого ubercart и чуть подправил сам)

<?php
/**
 * Display a formatted catalog page.
 *
 * If the category has products in it, display them in a TAPIr table. Subcategories
 *   are linked along the top of the page. If it does not have products, display
 *   subcategories in a grid with their images and subcategories.
 *
 * @param $tid
 *   Catalog term id from URL.
 * @return
 *   Formatted HTML of the catalog page.
 */
function phptemplate_uc_catalog_browse($tid 0) {
  
drupal_add_css(drupal_get_path('module''uc_catalog') .'/uc_catalog.css');

  
$output '';
  
$catalog uc_catalog_get_page((int)$tid);
  
drupal_set_title(check_plain($catalog->name));
  
drupal_set_breadcrumb(uc_catalog_set_breadcrumb($catalog->tid));
  
$types uc_product_types();
  
$links = array();
  
$child_list = array();
  foreach (
$catalog->children as $child) {
    if (!empty(
$child->nodes)) {
      
$links[] = array('title' => $child->name . (variable_get('uc_catalog_breadcrumb_nodecount'FALSE) ? ' ('$child->nodes .')' ''), 'href' => uc_catalog_path($child),
        
'attributes' => array('rel' => 'tag'),
      );
    }
    if (!empty(
$child->image)) {
      
$image '<div>';
      if (
module_exists('imagecache')) {
        
$image .= l(theme('imagecache''uc_category'$child->image['filepath']), uc_catalog_path($child), array('html' => TRUE));
      }
      else {
        
$image .= l(theme('image'$child->image['filepath']), uc_catalog_path($child), array('html' => TRUE));
      }
      
$image .= '</div>';
    }
    else {
      
$image '<div></div>';
    }
    
$grandchildren = array();
    
$j 0;
    
$max_gc_display 3;
    foreach (
$child->children as $i => $grandchild) {
      if (
$j $max_gc_display) {
        break;
      }
      
$g_child_nodes 0;
      foreach (
$types as $type) {
        
$g_child_nodes += taxonomy_term_count_nodes($grandchild->tid$type);
      }
      if (
$g_child_nodes) {
        
$grandchildren[$i] = l($grandchild->nameuc_catalog_path($grandchild), array('class' => 'subcategory'));
        
$j++;
      }
    }
    
//$grandchildren = array_slice($grandchildren, 0, intval(count($grandchildren) / 2) + 1, TRUE);
    
if ($j $max_gc_display) {
      
array_push($grandchildrenl(t('More...'), uc_catalog_path($child), array('class' => 'subcategory')));
    }
    if (
$child->nodes) {
      
$cell_link $image .'<strong>'l($child->nameuc_catalog_path($child)) .'</strong>';
      if (
variable_get('uc_catalog_show_subcategories'TRUE)) {
        
$cell_link .= "<br/><span>"implode(', '$grandchildren) ."</span>\n";
      }
      
$child_list[] = $cell_link;
    }
  }

  
// Display table of child categories similar to an osCommerce site's front page.
  
$columns variable_get('uc_catalog_category_columns'3);
  
$cat_rows = array();
  
$row = array();
  
$i 1;
  foreach (
$child_list as $cell) {
    
$row[] = array('data' => $cell'class' => 'category');
    if (
$i $columns == 0) {
      
$cat_rows[] = $row;
      
$row = array();
    }
    
$i++;
  }
  if (
count($row) > && count($row) < $columns) {
    if (
count($cat_rows) >= 1) {
      
$row array_merge($rowarray_fill(count($row), $columns count($row), array('data' => '&nbsp;''class' => 'category')));
    }
    
$cat_rows[] = $row;
  }

  
/*
   *
   *  вот здесь вместо стандартного вывода товаров - вставляем Вид
   */
  
if ($tid != 0) {
    
$view_name 'cat'//а это название вида, который мы вставляем
    
$view_args = array($tid);
    
$view views_get_view($view_name);
    
$view->url $_GET['q'];
    
//$catalog->products = views_build_view('embed', $view, $view_args, $view->use_pager, $view->nodes_per_page);
    
$catalog->products views_embed_view($view_name'default'$tid);
    
//print $view_args;
    //print $tid;
    //print $view_args;
  
} else {
    
$catalog->products '';
  }

  if (
$catalog->products) {
    if (
$catalog->image) {
      
$output .= '<div class="uc-catalog-image">'theme('imagecache''thumbnail'$catalog->image['filepath'], $catalog->name$catalog->name, array('class' => 'category')) .'</div>';
    }
    if (
$catalog->description) {
      
$output .= '<div class="uc-catalog-description">'$catalog->description .'</div>';
    }
    
$output .= theme('table', array(), $cat_rows, array('class' => 'category'));
    
$output .= $catalog->products;
  } else {
    if (
$catalog->image && $catalog->description) {
      
$output .= '<div class="uc-catalog-image">'theme('imagecache''thumbnail'$catalog->image['filepath'], $catalog->name$catalog->name, array('class' => 'category')) .'</div>';
      
$output .= '<div class="uc-catalog-description">'$catalog->description .'</div>';
    }
    
$output .= theme('table', array(), $cat_rows, array('class' => 'category'));
  }
  return 
$output;
}
?>


Опубликовано cpu в ср, 24/06/2009 - 12:16.

"rotkiv" написал(а):

Я переделал чуть под 6 друпал...

Спасибо) Работает)


Опубликовано Tiber в ср, 24/06/2009 - 15:47.

Такая вот мысль, вывести картинку принадлежащую термину в ubercart в строчке таблицы(которую рисует views).
Если создать тестовое поле CCK с фильтром php.
И вставить туда php код, выводящий картинку термина, которому пренадлежит нода.
Я верстальщик, php не знаю, кто-нибудь сможет помощь, какой код нужен?
вот так
В моем скрине я просто вставил
<img height="75" width="100" title="" alt="" src="http://drupal.site/sites/default/files/imagecache/uc_category/dead7.jpg"/>


Опубликовано Sywooch в пт, 26/06/2009 - 13:48.

А как реализовать вывод подкаталогов если таковые имеются?

Данная конструкция работает если нет сложенных каталогов.


Опубликовано Eugef в пт, 26/06/2009 - 20:28.

"Sywooch" написал(а):

А как реализовать вывод подкаталогов если таковые имеются?

Данная конструкция работает если нет сложенных каталогов.

Список подкаталогов прекрасно выводятся над самим видом силами самого Ubercart.

Если в виде для аргумента таксономии установить глубину 1 или 2, то можно сразу показывать товары из текщуего каталога и всех его вложенных подкаталогов


Опубликовано Sywooch в пт, 26/06/2009 - 22:48.

Значит я что то не так делаю.не выводится у меня каталоги.
Выводятся все товары данной категории включая товары из подкатегории.
А вот подкатегории не выводятся.

ЗЫ, понаписал так что сам ничего не понимаю.


Опубликовано jin123 в пн, 06/07/2009 - 18:48.

Drupal 6 + Ubercart. Попробовал поставить код. все нормально - только не различает товар и категорию. либо картинок нет - либо View.
( в зависимости от того, catalog или products указать в Пути) Может кто подскажет - где м.б. ошибка)


Опубликовано Sywooch в вт, 07/07/2009 - 07:49.

Разобрался.
Создаем вид с названием указанным тут:

$view_name = 'cat'; //а это название вида, который мы вставляем

Или cat меняем на свое. и настраиваем дефолтный видон.

никаких страниц не добавляем!!!!

Добавляем сортировку: Таксономия: Term ID (with depth) (depth - можно установить глубину каталога.

Ну и добавляем нужные нам поля. вот и все!

Только в самой категории картинка та что с права вверху чето не отображается.


Опубликовано Sywooch в ср, 08/07/2009 - 20:25.

Еще в последнем коде небольшая ошибка с картинкой каталога:

Надо thumbnail на uc_thumbnail заменить.

Меня картинка эта бесила я вобще убрал.

По итогу:

<?php
function phptemplate_uc_catalog_browse($tid 0) {
  
drupal_add_css(drupal_get_path('module''uc_catalog') .'/uc_catalog.css');

  
$output '';
  
$catalog uc_catalog_get_page((int)$tid);
  
drupal_set_title(check_plain($catalog->name));
  
drupal_set_breadcrumb(uc_catalog_set_breadcrumb($catalog->tid));
  
$types uc_product_types();
  
$links = array();
  
$child_list = array();
  foreach (
$catalog->children as $child) {
    if (!empty(
$child->nodes)) {
      
$links[] = array('title' => $child->name . (variable_get('uc_catalog_breadcrumb_nodecount'FALSE) ? ' ('$child->nodes .')' ''), 'href' => uc_catalog_path($child),
        
'attributes' => array('rel' => 'tag'),
      );
    }
    if (!empty(
$child->image)) {
      
$image '<div>';
      if (
module_exists('imagecache')) {
        
$image .= l(theme('imagecache''uc_category'$child->image['filepath']), uc_catalog_path($child), array('html' => TRUE));
      }
      else {
        
$image .= l(theme('image'$child->image['filepath']), uc_catalog_path($child), array('html' => TRUE));
      }
      
$image .= '</div>';
    }
    else {
      
$image '<div></div>';
    }
    
$grandchildren = array();
    
$j 0;
    
$max_gc_display 3;
    foreach (
$child->children as $i => $grandchild) {
      if (
$j $max_gc_display) {
        break;
      }
      
$g_child_nodes 0;
      foreach (
$types as $type) {
        
$g_child_nodes += taxonomy_term_count_nodes($grandchild->tid$type);
      }
      if (
$g_child_nodes) {
        
$grandchildren[$i] = l($grandchild->nameuc_catalog_path($grandchild), array('class' => 'subcategory'));
        
$j++;
      }
    }
    
//$grandchildren = array_slice($grandchildren, 0, intval(count($grandchildren) / 2) + 1, TRUE);
    
if ($j $max_gc_display) {
      
array_push($grandchildrenl(t('More...'), uc_catalog_path($child), array('class' => 'subcategory')));
    }
    if (
$child->nodes) {
      
$cell_link $image .'<strong>'l($child->nameuc_catalog_path($child)) .'</strong>';
      if (
variable_get('uc_catalog_show_subcategories'TRUE)) {
        
$cell_link .= "<br/><span>"implode(', '$grandchildren) ."</span>\n";
      }
      
$child_list[] = $cell_link;
    }
  }

  
// Display table of child categories similar to an osCommerce site's front page.
  
$columns variable_get('uc_catalog_category_columns'3);
  
$cat_rows = array();
  
$row = array();
  
$i 1;
  foreach (
$child_list as $cell) {
    
$row[] = array('data' => $cell'class' => 'category');
    if (
$i $columns == 0) {
      
$cat_rows[] = $row;
      
$row = array();
    }
    
$i++;
  }
  if (
count($row) > && count($row) < $columns) {
    if (
count($cat_rows) >= 1) {
      
$row array_merge($rowarray_fill(count($row), $columns count($row), array('data' => '&nbsp;''class' => 'category')));
    }
    
$cat_rows[] = $row;
  }

  
/*
   *
   *  вот здесь вместо стандартного вывода товаров - вставляем Вид
   */
  
if ($tid != 0) {
    
$view_name 'uc_products'//а это название вида, который мы вставляем
    
$view_args = array($tid);
    
$view views_get_view($view_name);
    
$view->url $_GET['q'];
    
//$catalog->products = views_build_view('embed', $view, $view_args, $view->use_pager, $view->nodes_per_page);
    
$catalog->products views_embed_view($view_name'default'$tid);
    
//print $view_args;
    //print $tid;
    //print $view_args;
  
} else {
    
$catalog->products '';
  }

  if (
$catalog->products) {
    if (
$catalog->image) {
  
//    $output .= '<div class="uc-catalog-image">'. theme('imagecache', 'uc_thumbnail', $catalog->image['filepath'], $catalog->name, $catalog->name, array('class' => 'category')) .'</div>';
    
}
    if (
$catalog->description) {
      
$output .= '<div class="uc-catalog-description">'$catalog->description .'</div>';
    }
    
$output .= theme('table', array(), $cat_rows, array('class' => 'category'));
    
$output .= $catalog->products;
  } else {
    if (
$catalog->image && $catalog->description) {
     
// $output .= '<div class="uc-catalog-image">'. theme('imagecache', 'uc_thumbnail', $catalog->image['filepath'], $catalog->name, $catalog->name, array('class' => 'category')) .'</div>';
      
$output .= '<div class="uc-catalog-description">'$catalog->description .'</div>';
    }
    
$output .= theme('table', array(), $cat_rows, array('class' => 'category'));
  }
  return 
$output;
}
?>


Опубликовано keereel@drupal.org в вт, 13/10/2009 - 17:15.

Спасибо за код, использовать вьюшку вместо каталожного представления получилось.. НО! У меня этой вьюшкой выводятся все продукты, а не только той категории, которую вывожу. Что я делаю не так?


Опубликовано Sywooch в чт, 15/10/2009 - 17:50.

Сложно сказать.
Вот примерно такая вьюза у меня:


Опубликовано keereel@drupal.org в сб, 24/10/2009 - 20:08.

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


Опубликовано F10 в чт, 19/11/2009 - 14:30.

"keereel@drupal.org" написал(а):

Я, например, как раз про аргументы и не понял - что это,

http://www.drupal.ru/node/22321 - здесь нормально описано.


Опубликовано perry в ср, 02/12/2009 - 16:26.

Eugef
опишите плз что за модули поиска - обычный и подбор по параметрам?


Опубликовано Eugef в чт, 14/01/2010 - 16:29.

"perry" написал(а):

опишите плз что за модули поиска - обычный и подбор по параметрам?

Все сделано на Views + фильтры


Опубликовано dusk13 в сб, 06/02/2010 - 19:48.

Всем привет.

Может кто-нибудь подробно расскажет (скажет где почитать) как сделана "Панель выбора параметров" на http://disk-i-shina.com.ua/search/disk и "Подбор диска по размеру" на http://disk-i-shina.com.ua/disk/6205.htm.

Заранее огромное спасибо.


Опубликовано RuGeN в сб, 04/09/2010 - 21:02.

Доброго
Данный код нужно вставлять с заменой всего содержимого файла template.php или добавлять ниже(серьезно, не понял)


Опубликовано RuGeN в сб, 04/09/2010 - 21:32.

Все сделал по шагам:
1.Установил УБЕРКАРТ, выставил блоки «карзина» и «catalog», добавил товар
2. В «представлениях» создал вид с типом «материал» и названием «oopstyle»
3. Поставил стиль «сетка»
4. В аргументах отметил «Таксономия: ID Термина (с глубиной)»..сохранил как было(может что и надо указать сдесь еще)
5. Вывел поле «Продукт: Buy it now button»…сохранил как было
6. В файл template.php вставил код из публикации Sywooch (заменил uc_products на oopstyle)
… Причем,код вставлял различными способами: вместо стандартного, после стандартного, после стандартного с удалением

<?php во втором случае
7. Или белый экран
или без изменений(никакой сетки в каталоге)
Уже 4 дня парюсь.ПИКЕЦ(((
Помогитепожалуйста?>


Опубликовано F10 в вс, 05/09/2010 - 16:10.

Код вставляете полностью, старое удалять не нужно.
template.php должен начинаться с <?php но закрываться не должен...


Опубликовано RuGeN в пн, 06/09/2010 - 21:38.

Спасибо огромное!!! Но у меня почему-то весь товар на oopstyle.ru 2 раза выходит, это нормально? (ссылку дал для наглядности, сайт еще не доделан)
...
Обязуюсь, друзья, как только заработаю первую деньгу, помогу проекту...он незаменим!!!


Опубликовано F10 в вт, 07/09/2010 - 08:41.

"RuGeN" написал(а):

это нормально?

- нет.
Проблемы скорее всего в настройках представления которое цепляете к каталогу.


Опубликовано bulinat@drupal.org в пн, 27/09/2010 - 06:07.

Спасибо за ценный пример.


Опубликовано borodavka в ср, 29/09/2010 - 19:08.

В стандартоном advanced catalog если вставить в tamplate.php

function phptemplate_uc_catalog_browse($tid = 0) {
if (variable_get('uc_advanced_catalog', FALSE) && module_exists('uc_advanced_catalog')) {
return uc_advanced_catalog_browse($tid);
}
// default is ubercart handler
return theme_uc_catalog_browse($tid);
}
то будет сортировка по по цене...

После вставки кода автора сортировка исчезает, что делать? Помогите вернуть.


Опубликовано raspytnik в вт, 23/11/2010 - 10:16.

спасибо. очень полезный материал


Опубликовано raspytnik в пт, 21/01/2011 - 13:08.

а как добавить количество материалов после названия категории в сетке категорий?


Опубликовано xman0011 в вт, 19/04/2011 - 07:46.

Спасибо большое. Решил задачу. http://www.drupal.ru/node/60909
Но актуален вопрос чтобы именно при помощи Юк_каталога реализовать то что в вышеуказанной теме.


Опубликовано o_tau@drupal.org в вт, 19/04/2011 - 10:18.

Подпишусь


Опубликовано Jonny в вт, 19/04/2011 - 13:30.

В закладки


Опубликовано xman0011 в пн, 25/04/2011 - 13:34.

возникла небольшая проблема.
После переопределения каталога уберката, в странице товара есть список терминов
к примеру http://site/category/каталог/букеты/розы при клике открывается страница, с каталогом где все продукты данной категории отображены но без темизации.
у меня вопрос такой, можно ли переопределить ссылки терминов чтобы было на как выше а catalog/[tid]?
или же чтобы осталось как есть, но при клике открывалось тоже что при клике в блоке навигации по каталогу?


Опубликовано alexandr.poddubsky в ср, 15/06/2011 - 07:11.

- вуд


Опубликовано JokerCut в вт, 03/05/2011 - 08:24.

"Предварительно нужно создать Вид, который будет отображать товары, добавить в него аргумент "Term ID" и назвать 'products'" -как это сделать? Работаю на друпале всего пару дней. Помогите пожалуйста