baldesarini
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 33
Брутальный мерзавец
|
 |
« : 09.10.2008, 20:29:20 » |
|
Задача такая: есть каталог товаров, в нем есть родительские категории и подкатегории. в родительских категориях товаров просто нет. дак вот, нужно чтобы при просмотре родительской категории на страницу выводился список всех товаров в дочерних категориях, а сверху уже были ссылки на сами подкатегории дочерние. как такое сделать? можно конечно просто забить в родительскую категорию копии всех товаров из дочерних, но это имха не выход, когда большой магазин и много товара то гемору много.
|
|
|
|
« Последнее редактирование: 23.06.2009, 15:14:13 от beagler »
|
Записан
|
|
|
|
| |
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #241 : 03.01.2012, 10:55:03 » |
|
этот код не помог?
|
|
|
|
|
Записан
|
|
|
|
mayson_ml
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 67
|
 |
« Ответ #242 : 03.01.2012, 11:14:06 » |
|
нет
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #243 : 03.01.2012, 11:16:32 » |
|
странно, тогда надо смотреть более предметно какие запросы получаются
|
|
|
|
|
Записан
|
|
|
|
mayson_ml
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 67
|
 |
« Ответ #244 : 03.01.2012, 11:18:43 » |
|
в каких файлах надо копать ?
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #245 : 03.01.2012, 11:22:43 » |
|
да не файлы копать, а смотреть какие запросы получаются.
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #246 : 04.01.2012, 00:18:09 » |
|
действительно обманул, не все так просто
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #247 : 04.01.2012, 00:26:30 » |
|
Найти $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; и заменить на function getCatergoryChildsList( $clist, $catid ){ $res_list = array( $catid ); $search_childs = true; while( $search_childs ){ $search_childs = false; foreach( $clist as $c_catid => $val ){ if( in_array( $val['category_parent_id'], $res_list ) ){ $res_list[] = $c_catid; unset( $clist[ $c_catid ] ); $search_childs = true; } } } return $res_list; } $category_childs = ''; if ( $category_id && $ps_product_category->has_childs($category_id) ){ $category_childs = getCatergoryChildsList( $ps_product_category->getCategoryTreeArray(), $category_id ); $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN (".$category_id.",".implode(',',$category_childs).")"; } else { $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; }
|
|
|
|
|
Записан
|
|
|
|
mayson_ml
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 67
|
 |
« Ответ #248 : 04.01.2012, 00:49:00 » |
|
в файле shop_browse_queries.php есть 3 строки $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; это 71, 74 и 79 строка... в первом случае выдает Fatal error: Cannot redeclare getCatergoryChildsList() (previously declared in C:\home\sait.by\www\administrator\components\com_virtuemart\html\shop.browse.php:46) in C:\home\sait.by\www\administrator\components\com_virtuemart\html\shop_browse_queries.php on line 71 во втором ни чего не происходит в 3 Dreamweaver ругается на синтаксическую ошибку... поправьте если я что то не так делаю
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #249 : 04.01.2012, 10:00:13 » |
|
странно, тогда в 71 строке обернуть функцию в if (!function_exists('getCatergoryChildsList')) {
}
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #250 : 04.01.2012, 10:01:35 » |
|
у меня просто немного подругому организовано и в shop_browse_queries.php передается уже сформированый $category_childs
|
|
|
|
|
Записан
|
|
|
|
mayson_ml
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 67
|
 |
« Ответ #251 : 04.01.2012, 12:34:13 » |
|
пожалуй выложу код с 70 по 80 строку if ($category_id1) $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN(".$category_id1.")"; else $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; } if( !empty( $search_this_category ) && (!empty( $keyword ) || !empty( $manufacturer_id ) )) { $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; } elseif( empty( $keyword ) && empty( $manufacturer_id )) { if(!empty( $category_childs )) $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN (".$category_id.",".implode(',',$category_childs).")"; else $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; }
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #252 : 04.01.2012, 17:42:29 » |
|
ооо, так у Вас что-то своё. ($category_id1) Я дал решение для стандартного варианта
|
|
|
|
|
Записан
|
|
|
|
mayson_ml
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 67
|
 |
« Ответ #253 : 04.01.2012, 21:38:51 » |
|
сам ни чего не изменял...
|
|
|
|
|
Записан
|
|
|
|
svakg
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #254 : 07.01.2012, 22:24:31 » |
|
Здравствуйте!
Подскажите, пожалуйста, следующий вопрос.
Все сделал как описано на первой странице, все работает, но мне нужно чтобы в родительской категории выводились только подкатегории, товары выводились только в своих подкатегориях.
Joomla: 1.5.7 VirtueMart: 1.1.9 stable
ПРИМЕР: http://www.pulsetelecom.ru/shop/#ecwid:category=609619&mode=category&offset=0&sort=normal
Это файл - shop_browse_queries.php
if( $category_id ) { if( !empty( $search_this_category ) && (!empty( $keyword ) || !empty( $manufacturer_id ) )) { if ($category_id1) $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN(".$category_id1.")"; else $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; } elseif( empty( $keyword ) && empty( $manufacturer_id )) { if(!empty( $category_childs )) $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN (".$category_id.",".implode(',',$category_childs).")"; else $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id; } }
заранее благодарен!
|
|
|
|
« Последнее редактирование: 07.01.2012, 22:50:22 от svakg »
|
Записан
|
|
|
|
NoTimeToday
Новичок
Репутация: +0/-0
Offline
Сообщений: 1
|
 |
« Ответ #255 : 10.01.2012, 13:06:59 » |
|
Здравствуйте! Спасибо за очень полезный мануал - очень пригодилось! Интересует следующий вопрос: Как вывести только 3 товара в подкатегориях. Т.е. должно всё выглядеть так: 1 Категория - 1 подКатегория --1 товар, --2 товар, --3 товар - 2 подКатегория --1 товар, --2 товар, --3 товар
и т.д. virtuemart 1.1.4
заранее спасибо за совет!
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
Online
Пол: 
Сообщений: 2994
http://beagler.ru/
|
 |
« Ответ #256 : 10.01.2012, 21:33:54 » |
|
при выводе товара считать до 3 (на полном серъёзе)
|
|
|
|
|
Записан
|
|
|
|
svakg
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #257 : 12.01.2012, 23:14:51 » |
|
Подскажите, пожалуйста, на Ответ #255
|
|
|
|
|
Записан
|
|
|
|
tigra-uki
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 190
Joom'листка
|
 |
« Ответ #258 : 26.01.2012, 23:32:50 » |
|
Большое спасибо за решение. Все работает и на 1.1.9. Непонятно почему долго искала где подправить отступ списка выводящихся теперь товаров от вложенных категорий вверху и как задать им класс для ссылок на категории.
Нашла и подумала - может быть, кому-то облегчить поиски?
Идем в components/com_virtuemart/themes/default/templates/browse/includes файл browse_header_category.tpl.php
1) <div class="назначаем класс" style="text-align:left;"> <?php echo $navigation_childlist; ?> </div>
2) в CSS шаблона задаем отступы и свойства для ссылок этого класса.
|
|
|
|
|
Записан
|
|
|
|
ivanesx2008
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 75
|
 |
« Ответ #259 : 29.01.2012, 15:57:04 » |
|
Заметил одно НО! Товары выводятся без типов и характеристик, тоесть, если в подкатегории можно было отсортировать товары определенного типа по характеристикам, то в категории на уровень выше товары выводятся, но по характеристикам отфильтровать нельзя. как это можно поправить?
|
|
|
|
|
Записан
|
|
|
|
renata
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 55
|
 |
« Ответ #260 : 03.02.2012, 14:11:03 » |
|
Подскажите пожалуйста, у меня вывод товаров в категориях был установлен flypage_new.tpl и browse_2 До всех изменений выводились вот так а теперь Те категории, которые были созданы раньше так и отображаются, а все новые выводятся другим шаблоном (как на второй картинке) В настройке списка категорий смена flypage не приводит ни к каким результатам. Товары теперь выводятся так как в родительских так и в дочерних категориях. Подскажите пожалуйста, что нужно сделать, чтобы товары выводились так, как раньше (т.е. отображались как flypage_new.tpl)?
|
|
|
|
« Последнее редактирование: 03.02.2012, 15:37:26 от renata »
|
Записан
|
|
|
|
SV911
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 17
|
 |
« Ответ #261 : 08.02.2012, 01:35:47 » |
|
Очень интересная доработка и очень полезная. Все заработало отлично... А как сделать так, чтобы только в определенных категориях выводило товар из подкатегорий и в остальных работало по старому (нужно заходить в категорию). Очень нужно!
|
|
|
|
|
Записан
|
|
|
|
Moo
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #262 : 29.02.2012, 14:31:30 » |
|
Спасибо, воспользовался этим: "Вывод с заголовками подкатегорий для VM1.1.x (отображение DIV-ами без таблиц)" получил то что надо, хотелось бы одну правочку сделать, чтоб отображалось не только имя категории, но и ее описание и изображение. [___________] Название категории [____img____] Описание категории [___________] $products[$i]['product_category'] = $db_browse->f("category_id"); $products[$i]['product_category_name'] = $ps_product_category->get_name( $db_browse->f("product_id") );
Подскажите, пожалуйста, как по аналогии получить изображение категории и ее описание, чтоб вывести в шаблоне ($ps_product_category->get_field ?) $products[$i]['product_category_image']= $products[$i]['product_category_desc']= Заранее благодарен. upd Разобрался $products[$i]['product_category_name'] = $ps_product_category->get_name( $db_browse->f("product_id") ); $products[$i]['product_category_full_image'] = $ps_product_category->get_field($db_browse->f("category_id"),"category_full_image");
|
|
|
|
« Последнее редактирование: 29.02.2012, 21:25:52 от Moo »
|
Записан
|
|
|
|
neo3833
Осваиваюсь на форуме
 
Репутация: +0/-1
Offline
Сообщений: 57
|
 |
« Ответ #263 : 12.03.2012, 18:47:39 » |
|
с десяток человек написало вопрос, что то никто не может помочь в его решении. как все таки вывести чтоб разбивка на странице имела вид?
подкатегория 1 товар1, товар2.... подкатегория 2 товар1, товар2.... подкатегория 3 и т.д.
|
|
|
|
|
Записан
|
|
|
|
|
d0ublezer0
|
 |
« Ответ #264 : 19.03.2012, 11:29:48 » |
|
Эм, для VM2 подобное решение есть?
|
|
|
|
|
Записан
|
|
|
|
seo_ru
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 10
|
 |
« Ответ #265 : 30.03.2012, 10:55:49 » |
|
Поскажите а для Vm 1.1.9 как вывести описание подкатегории? Где что копать?
|
|
|
|
|
Записан
|
|
|
|
kreolka_8
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #266 : 09.04.2012, 10:21:54 » |
|
Добрый день! У меня почему то по-этому методу "Вывод с заголовками подкатегорий для VM1.1.x (отображение DIV-ами без таблиц)" В /administrator/components/com_virtuemart/html/shop.browse.php ищем: $products[$i]['product_name'] = shopMakeHtmlSafe( $product_name ); добавляем ниже $products[$i]['product_category'] = $db_browse->f("category_id"); $products[$i]['product_category_name'] = $ps_product_category->get_name( $db_browse->f("product_id") ); Сохраняем. В /administrator/components/com_virtuemart/html/shop_browse_queries.php ищем: if(!empty( $category_childs )) $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN (".$category_id.",".implode(',',$category_childs).")"; меняем на if(!empty( $category_childs )){ $where_clause[] = "`#__{vm}_product_category_xref`.`category_id` IN (".$category_id.",".implode(',',$category_childs).")"; $orderbyField = '`#__{vm}_category`.`category_id`,' . $orderbyField; } Сохраняем. В /components/com_virtuemart/themes/default/templates/browse/includes/browse_notables.tpl.php ищем: foreach( $products as $product ) { выше добавляем $tmp_cur_subcategory = ''; ищем: /*** Now echo the filled cell ***/ выше добавляем if( $tmp_cur_subcategory != $product['product_category'] ){ $row++; echo "\n</div><br class=\"clr\" />"; echo '<h3>'.$product['product_category_name'].'</h3>'; $tmp_cur_subcategory = $product['product_category']; } Сохраняем, пробуем... не выводятся заголовки категорий. Вид остается прежний: Категория1 Категория2 Категория3 Товар Товар Товар Все сортируется, но не выводятся заголовки. Перепроверяла, делаю по написанному. Скорее всего этот файл не срабатывает: /components/com_virtuemart/themes/default/templates/browse/includes/browse_notables.tpl.php Ссылка на результат: http://www.deepvvater.com/internet-magazin/category/171.html
|
|
|
|
« Последнее редактирование: 09.04.2012, 13:42:59 от kreolka_8 »
|
Записан
|
|
|
|
kreolka_8
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #267 : 09.04.2012, 11:41:26 » |
|
Извиняюсь, как раз таки для отображении DIV-ами все работает! Спасибо огромное tsesl за хак! Но как же быть с отображением в виде Product Listing wich a table ? Пробовала поменять режим вывода дивами, но для моего шаблона не подходит, все съезжает или друг на друга наезжает! Подскажите пожалуйста!
|
|
|
|
« Последнее редактирование: 09.04.2012, 13:16:00 от kreolka_8 »
|
Записан
|
|
|
|
pisklov74
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 23
|
 |
« Ответ #268 : 26.04.2012, 09:35:33 » |
|
Эм, для VM2 подобное решение есть?
Поддерживаю... нужно подобное рещшение для VM 2, подскажите пожалуйста
|
|
|
|
|
Записан
|
|
|
|
Ravilka
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 21
|
 |
« Ответ #269 : 21.05.2012, 23:31:29 » |
|
Поставил Часть IIб "Отображение товаров из подкатегорий произвольной вложенности (для ветки VM1.1.x)", всё работает. Но как включаю SEF в настройках, у меня при нажатии на родителскую категорию подсвечивается как родительская категория так и 1 подкатегория  . Вывод категорий с помощью стандартного mod_menu и вот этого Роутера http://awesome-design.com/joomla/chpu-dlya-virteumart-a-routerphp.html. Помогите пожалуйста, буду рад если кто добавит SEF и для ссылок внутри корзины (не работает редактирование профиля без регистрации) Те получается что родительская категория наследует какие-то настройки из подкатегорий, в Вирте ставлю вывод 3 товаров в строке для родителя, а у меня показывает 2 товара из 1 подкатегории
|
|
|
|
« Последнее редактирование: 23.05.2012, 15:15:59 от Ravilka »
|
Записан
|
|
|
|
|