Страница просмотра VirtueMart показывает подкатегории и родительские продукты - как изменить порядок? - PullRequest
0 голосов
/ 15 июня 2011

В настоящее время у меня есть сайт Joomla 1.5 с установленным VirtueMart. Иерархия товарных категорий выглядит примерно так:

категория a, с подкатегорией a1 и продуктами 1,2,3 (товары относятся к категории a, а не подкатегории a1)

На странице просмотра «категория a» я вижу плитку / блок для подкатегории a1, затем продукты 1, 2 и 3.

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

Я уверен, что это всего лишь случай переключения где-то двух блоков PHP, но я не могу найти где!

Кто-нибудь может помочь ...?

1 Ответ

1 голос
/ 15 июня 2011

Самый простой способ - отредактировать один из следующих файлов (в зависимости от вашей конфигурации) в каталоге /components/com_virtuemart/themes/default/templates/browse/includes/:

browse_notables.php     (div layout) and/or
browse_layouttable.php  (table layout) and/or
browse_listtable.php    (table for product list)

Найдите строку:

<?php echo $browsepage_header; ?>

и переместитедо конца файла (или до последних продуктов, если вы предпочитаете).

Обратите внимание, что $browsepage_header содержит различное содержимое в зависимости от того, как вызывается страница просмотра virtuemart, поэтому вы можете получить некоторые побочные эффекты(первое, о чем я могу подумать, это описание производителя после списка продуктов).

Лучшим способом было бы добавить переменную $ browsepage_footer, отображаемую в нижней части каждого из перечисленных выше файлов и содержащую список дочерних категорий.при необходимости.

Список дочерних категорий создается в файле шаблона:

/components/com_virtuemart/themes/default/templates/common/categoryChildlist.tpl.php

, и такой результат можно получить, редактируя файл модели:

/administrator/components/com_virtuemart/html/shop.browse.php

Аналогкак это сделано в этом фрагменте:

$browsepage_footer = $tpl->fetch( 'browse/includes/browse_orderbyformbottom.tpl.php' );
$tpl->set( 'browsepage_footer', $browsepage_footer ); 
...