Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 273 Ответов
  • 93063 Просмотров

так и просиццо - "...ты гоняешь стаи туч..." )).

По делу:
Нужно рекурсивную функцию замутить при составлении массива дочерних категорий и прогнать весь массив категорий от функции getCategoryTreeArray через нее...

был бы весьма благодарен, если бы у вас нашлось решение этого вопроса:)
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Не прогон всего дерева, а просмотр на 2 уровня вниз. Обычно, такой вложенности бывает достаточно.
Вместо
Код
if ( $category_id && $ps_product_category->has_childs($category_id) ){
$child_categories = $ps_product_category->get_child_list($category_id);
$category_childs = array();
foreach($child_categories as $cc) $category_childs[] = $cc['category_id'];
}
пишем
Код
if ( $category_id && $ps_product_category->has_childs($category_id) ){
$child_categories = $ps_product_category->get_child_list($category_id);
$category_childs = array();
foreach($child_categories as $cc) {
$category_childs[] = $cc['category_id'];
if ( $cc['category_id'] && $ps_product_category->has_childs($cc['category_id']) ){
$child_categories1 = $ps_product_category->get_child_list($cc['category_id']);
foreach($child_categories1 as $ccc) $category_childs[] = $ccc['category_id'];
}

}
}
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
beagler, буквально сегодня одному заказчику понадобилось отобразать вплоть до 5-го уровня... Для этого и проще прогнать все дерево, чтобы не плодить лишние запросы к БД, ибо каждый вызов get_child_list - 3 запроса и has_childs еще 1...

За видение проблемы - респекты!

Мое решение:
[spoiler title=Список товаров из подкатегорий с произвольной вложенностью VM1.1.х]
Вместо старого моего кода:

if ( $category_id && $ps_product_category->has_childs($category_id) ){
	
$child_categories $ps_product_category->get_child_list($category_id);
	
$category_childs = array();
	
foreach(
$child_categories as $cc$category_childs[] = $cc['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 );
}

[/spoiler]

ЗЫ. Сорри, что 3 раза правил пост 8)
« Последнее редактирование: 24.06.2009, 17:50:21 от tsesl »
FAQ смотрел? Версию указал?
*

gDenisk

  • Захожу иногда
  • 77
  • 0 / 0
Подскажите пожалуйста, а как можно выводить товары из родительской с подкатегориями и названиями, так чтобы они были упорядочены. Т.е. с float:left.
*

gDenisk

  • Захожу иногда
  • 77
  • 0 / 0
В VirtueMart 1.0х выводятся только 2 колонки, скажите - а как можно вывести 4?
*

gDenisk

  • Захожу иногда
  • 77
  • 0 / 0
А можно ли среди отобранных товаров всех подкатегорий выполнить сортировку по категориям?

ОЧЕНь актуальный вопрос.
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
было на первой странице - вывод с заголовками подкатегорий...
FAQ смотрел? Версию указал?
*

gDenisk

  • Захожу иногда
  • 77
  • 0 / 0
Мог бы кто-нибудь подсказать. Например при выводе navigation_pathway выводится полный путь от главной до товара. А можно ли при выводе товаров выводить и наименование главной категории к которой принадлежит товар.
Например:
Дерево категорий: Мужские -> H -> Hugo Boss -> Hugo Boss parfume.
И при выводе духов Hugo Boss parfume выводить тип, к которым они принадлежат: Мужские.
*

gDenisk

  • Захожу иногда
  • 77
  • 0 / 0
Вывод заголовков с подкатегориями нашел, только они парсятся очень странно. На всех шаблонах 2-3 категории нормально, а дальше по всей ширине страницы расползаются, посмотрите?

Подскажитие пожалуйста, как отредактировать вывод подкатегорий товара отдельным списком на странице при нажатии на категорию в меню "Категории товаров" ?
VirtueMart 1.1.3
Joomla 1.5.9
Т.е. сейчас при нажатии на категорию товаров в модуле, страница остается пустой.

[вложение удалено Администратором]
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
Brant_123, если при нажатии на Маркеры необходимо отобразить все товары из вложеных категорий (DLX, PROTO и т.д.) - тогда велкам в нашу секту!

ps. решение на первой странице... без смайлов...
FAQ смотрел? Версию указал?

Нет, все товары из одной категории выводить не надо.
Посмотрите второе вложение. Там при нажатии на категорию "маркеры" выпадает список подкатегорий в модуле + появляется список покатегорий с логотипами на самой странице. Как такое осуществить, на VirtueMart 1.0. так было, но после миграции на Joomla 1.5.9. и VirtueMart 1.1.3. такого не могу найти.

[вложение удалено Администратором]
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
такое должно быть. Не скажу про картинки , но по крайней мере список подкатегорий точно... Тема для магазина какая используется? Если не родная default, то возможно в ней тупо нет этого отображения...
FAQ смотрел? Версию указал?
*

delphine

  • Захожу иногда
  • 189
  • 30 / 0
Понимаю что не туда, но может подскажете.
Как сделать тоже самое "Вывод товаров из подкатегорий в родительскую категорию" но в  Mosets Tree?
Не дружу с дизайном.
Приветствуются обмен ссылками или
Z879646195991 | R637245146155 | E222695044531 | U162157337447 | Y381916949633 | B493612164919 | Я.Деньги 41001254998875
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
вообще да, немного не туда... А если по делу - то ковырять нужно, смотреть реализацию... Вот тут и вылазит профильность 8)
FAQ смотрел? Версию указал?
*

delphine

  • Захожу иногда
  • 189
  • 30 / 0
Ну да. Тогда буду ковырять...
Не дружу с дизайном.
Приветствуются обмен ссылками или
Z879646195991 | R637245146155 | E222695044531 | U162157337447 | Y381916949633 | B493612164919 | Я.Деньги 41001254998875
*

G.FlouZ

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
*решение дано в ознакомительных целях для задания направления мышлению. Навешивание рюшечек и оптимизацию делайте сами своими умами 8)

[spoiler title=Часть IIб "Отображение товаров из подкатегорий произвольной вложенности (для ветки VM1.1.x)"]
В файле /administrator/components/com_VirtueMart/html/shop.browse.php ищем строку $dbp = new ps_DB;
Под ней добавляем:


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 );
}


Далее открываем /administrator/components/com_VirtueMart/html/shop_browse_queries.php, находим код:


	
} elseif( 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;
	
}


Сохраняем, проверяем...
[/spoiler]

Всем удачи!
Воспользовался этим, спс все робит :), но неудобство мне кажется в том, что когда заходишь в подкатегорию, сверху все подкатегории пропадают, остается лишь список товара и переходить в другую подкатегорию не оч удобно :)
Возможно ли сделать так.. Допустим у меня категория с подкатегориями
Категория "Оборудование"
Подкатегории "Барное", "Тепловое", "Эл.Механическое" и т.д.
При заходе в подкатегорию "Барное" чтоб эти подкатегории отображались и в самой подкатегории? :)
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
делал подобное, но там стояла задача не погружаться ниже 3-го уровня в отображении подкатегорий. Но там еще и товары были разбиты на группы подкатегорий.

Пример.
Имеем структуру типа:
+Категория 1
+Категория 2
     -Категория 2.1
          *Категория 2.1.1
          *Категория 2.1.2
          *Категория 2.1.3
               #Категория 2.1.3.1
               #Категория 2.1.3.2
     -Категория 2.2
     -Категория 2.3
+Категория 3

Пока мы гуляем по категориям до 3-го уровня сверху все как обычно, т.е. список подкатегорий. Как только мы вошли в Категория 2.1.1...Категория 2.1.3 то сверху остался список от родительского уровня, т.е. Категория 2.1.1 - Категория 2.1.3...

Товары отображались разбитыми по блокам категорий. Когда мы находились в Категория 2.1 список товаров имел вид:

Категория 2.1
Товар
....
Товар

Категория 2.1.1
Товар
....
Товар

Категория 2.1.2
Товар
....
Товар
....
FAQ смотрел? Версию указал?
*

ruslannnn

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
На первой страничьке было решение как сортировать товары по категориям.
А как можно сделать что бы по умолчянию товары сортировались по цене, а не по наименованию (или как мы потом поменяли на категории)?
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
сортировка товаров настраивается в настройках магазина
FAQ смотрел? Версию указал?
*

ruslannnn

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
*

G.FlouZ

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
делал подобное, но там стояла задача не погружаться ниже 3-го уровня в отображении подкатегорий. Но там еще и товары были разбиты на группы подкатегорий.

Пример.
Имеем структуру типа:
+Категория 1
+Категория 2
     -Категория 2.1
          *Категория 2.1.1
          *Категория 2.1.2
          *Категория 2.1.3
               #Категория 2.1.3.1
               #Категория 2.1.3.2
     -Категория 2.2
     -Категория 2.3
+Категория 3

Пока мы гуляем по категориям до 3-го уровня сверху все как обычно, т.е. список подкатегорий. Как только мы вошли в Категория 2.1.1...Категория 2.1.3 то сверху остался список от родительского уровня, т.е. Категория 2.1.1 - Категория 2.1.3...
и так бы прокатило :) если не трудно выручи плз :)
*

triks

  • Новичок
  • 7
  • 0 / 0
Вывод с заголовками подкатегорий для 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") );

Сохраняем.

Tsesl, помоги пожалуйста, когда добавляю строчку
$products[$i]['product_category'] = $db_browse->f("category_id");ломается весь шаблон (стандартная позиция модулей <right> передвигается в конец страницы!!!) уже два дня бьюсь немогу понять из-за чего (((  Как эта строчка может быть связана с темплейтом?
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
смотри темплит вывода товаров магазина. Вероятно там незакрытый тэг какой...
FAQ смотрел? Версию указал?
*

triks

  • Новичок
  • 7
  • 0 / 0
Да в этом ипроблема что ничего не могу найти (
убираю эту строчку все нормально, посмотрел все шаблоны (Страница отображения категории + Просмотр представления (fly-страницы) категории) ничего нет, всё нормально, менял разные шаблоны и всё без изменений...
А что эта строчка делает $products[$i]['product_category'] = $db_browse->f("category_id");? она же вроде просто категорию определяет в шаблон страниц вроде никуда не втыкается ((
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
эта строчка присваивает элементу массива номер категории. И еще, все это для browse_notables.tpl.php делается, именно для отображения дивами без таблиц?
« Последнее редактирование: 16.07.2009, 14:55:16 от tsesl »
FAQ смотрел? Версию указал?
*

triks

  • Новичок
  • 7
  • 0 / 0
т.е. вероятнее всего ошибка в <div> тегах в темплейте отображения товаров (fly - страницы)
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
FAQ смотрел? Версию указал?
*

triks

  • Новичок
  • 7
  • 0 / 0
ок буду ковырять ещё...
а browse страница подкатегорий или главной категории?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Невидимая регистрация ( Покупка без регистрации ) V1.1.3

Автор urodoff

Ответов: 319
Просмотров: 105288
Последний ответ 27.10.2014, 15:27:02
от gaalferov
[Решено] Отобразить кол-во товаров из всех подкатегорий V1.1.3

Автор bazic

Ответов: 19
Просмотров: 12528
Последний ответ 18.09.2014, 06:39:33
от fila61
вывод категории и её подкатегорий на одной странице

Автор sega

Ответов: 44
Просмотров: 14198
Последний ответ 30.04.2014, 14:05:45
от ИринаМ
[Решено] Добавление Watermark к фото товара V1.0.15 V1.1.3

Автор mickymouse

Ответов: 52
Просмотров: 21282
Последний ответ 13.06.2013, 01:04:46
от richman
[Решено] Как изменить ,товаров в наличии 1 на "есть в наличии" V1.0.15 V1.1.3

Автор ButuzOFF

Ответов: 93
Просмотров: 39084
Последний ответ 17.05.2013, 21:10:44
от sa1981