[Помощь] Создание ссылки "Все товары" в модуле VM

xenongattz

Создатель
Регистрация
4 Дек 2013
Сообщения
4
Реакции
0
Всем доброго времени суток!

Работаю на связке Joomla 2.5.14 + VirtueMart 2.0.18a.

Столкнулся с задачей, которую не могу решить ДО КОНЦА.
Она состоит в том, чтобы добавить ссылку в модуль mod_virtuemart_category, которая бы отображала все товары из всех категорий и подкатегорий, иными словами - все товары магазина.

Собственно, нашел вот такое решение Для просмотра ссылки Войди или Зарегистрируйся (читаем в самом низу статьи, перед комментами).

В файле /module/mod_virtuemart_category/tmpl/default.php, код:

Код:
echo '<ul id="bt_vm_navigation">';

foreach ($categories as $category) {
    $class = (!$category->childs)? 'class="current-cat"' : 'class="current-cat has_child"'; // has or not has child?
    $caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id);
    $active_style = (in_array( $category->virtuemart_category_id, $parentCategories))? ' id="vm_cat_active"' : '';
    $category_name = $category->category_name. '' .countProducts2($category->virtuemart_category_id);
    echo '<li'.$active_style.' '.$class.'>'.JHTML::link($caturl, $category_name);
   
    echo '<ul class="children">';
    if ($category->childs) {
        foreach ($category->childs as $child) {
            $child_active_style = (in_array( $child->virtuemart_category_id, $parentCategories))? ' id="vm_child_cat_active" class="current-cat"' : '';
            $child_caturl = JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id);
            $child_category_name = $child->category_name. '' .countProducts($child->virtuemart_category_id);
            echo '<li'.$child_active_style.'>'.JHTML::link($child_caturl, $child_category_name).'</li>';
        }
    }
    echo '</ul>';
   
    echo '</li>';
   
}
echo '</ul>';
?>

я изменил в соответствии с найденной статьей:

Код:
echo '<ul id="bt_vm_navigation">';
//===
echo '<li id="vm_cat_active" class="current-cat">' .
        '<a class="allproduct" href="' .
            JRoute::_('index.php?option=com_virtuemart&view=category&limit=5000&virtuemart_category_id=0').
        '">Все товары</a>' .
    '</li>';
//===
foreach ($categories as $category) {
    $class = (!$category->childs)? 'class="current-cat"' : 'class="current-cat has_child"'; // has or not has child?
    // .........далее ничего не изменено

Ссылка вывелась, переход происходит, однако:

1) Класс vm_cat_active для ссылки присвоен всегда, что, разумеется, не нужно.

2) Хотелось бы, чтобы отображалась общее количество всех товаров в скобках, как это происходит для категорий.

3) Полученный список товаров выводится с другим шаблоном, в отличие от ссылки на категорию/подкатегорию. У первого по три товара в строке - это много, а второй - по два.

4) Выводится также блок со списком подкатегорий перед списком всех товаров.

Пробовал реализовать сам, но моих знаний PHP пока недостает, чтобы справиться с этой задачей.

Буду благодарен за помощь. Заранее спасибо за ответы!
 
данная ссылка открывает страницу виртумарта по шаблону категории. Для начала надо сделать так, чтобы шаблон для этого был задан отдельный и лежал в папке с основным шаблоном сайта.(пока не придумал как, но логика такая)

1) - а как нужно? естественно класс присвоен всегда, вы же его явно в коде задали)
2) где именно должна показываться цифра с количеством? тут можно добавить счетчик на php или ява
4) можно будет поправить в шаблоне, главное сейчас это задать шаблон

на досуге еще попробую посмотреть код и может что-то допишу....

как я уже говорил сейчас по ссылке открывается шаблон категории, если вы в шаблоне сайта еще не сделали страничку с шаблоном для категории, тогда закинте файл
/components/com_virtuemart/views/category/tmpl/default.php
в папку
/templates/название_шаблона_сайта/html/com_virtuemart/category
после этого по умолчанию будет использоваться этот шаблон категории. Задача сделать ссылку с указанием дополнительного шаблона категории, тогда в нем можно все вышеперечисленное реализовать
 
Последнее редактирование:
Буквально на днях писал для своего заказа решение как вывести все подкатегории сайта что есть на странице с помощью PHP (я добавлял в бд сайта свои критерии, и по ним выводил, если критерий убрать будут выводится все подкатегории)
Если хочешь могу выложить код, писал на скорую руку, но рабочий полностью.
Подправить под вывод товаров а не подкатегорий думаю не составит тебе особого труда.

Если знаний php действительно недостает, выложи свой файл default.php, набросаю тебе код как время будет.
 
Назад
Сверху