Авторизация



Лицензионный софт
Dr.Web сканер online
Donate
Yandex
 
Yandex
Введите сумму: 
 руб.
счёт 410011559727938
 
Сейчас на сайте
  • [Bot]
  • [Yandex]
Сейчас на сайте:
  • 2 гостей
  • 2 роботов
Новые пользователи:
  • Barbarasfign
  • DennisMism
Всего пользователей: 117
Статистика
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday117
mod_vvisit_counterYesterday201
mod_vvisit_counterThis week1134
mod_vvisit_counterLast week1594
mod_vvisit_counterThis month2932
mod_vvisit_counterLast month6349
mod_vvisit_counterAll days514690

Online (20 minutes ago): 5
Your IP: 3.233.239.20
,
Today: Дек 14, 2019

Иногда нужно сделать так, что бы в Virtuemart стандартный модуль категорий товаров выводил не все опубликованные категории, а только выборочные. Тоесть представилась возможность размещения нескольких модулей с разными категориями товаров.

Ниже приведен хак как это можно сделать очень быстро. Вы можете "изуродовать" ваш стандартный модуль или сделать из него еще один модифицированный и добавить в модули сайта.

 

Итак, сначала делаем изменения в файле /modules/mod_product_categories/mod_product_categories.xml

Добавляем в секцию params
< param name="show_categories" type="text" default=""
label="Categories"
description="Категории для показа" />

 

Затем изменяем файл /modules/mod_product_categories/mod_product_categories.php, где добавляем (жирным):

$jscook_type = $params->get( 'jscook_type', 'menu' );
$menu_orientation = $params->get( 'menu_orientation', 'hbr' );
$show_categories = $params->get( 'show_categories', '' );
$_REQUEST['root_label'] = $params->get( 'root_label', 'Shop' );

 

И наконец модифицируем файл /administrator/components/com_virtuemart/classes/ps_product_category.php

Находим функцию "get_category_tree" и добавляем в самом начале определения функции:

function get_category_tree( $category_id=0,
$links_css_class="mainlevel",
$list_css_class="mm123",
$highlighted_style="font-style:italic;font-weight: bold;" ) {

global $sess, $show_categories;
$show_array_categories=explode(" ",$show_categories);

$categories = ps_product_category::getCategoryTreeArray(); // Get array of category objects

Далее находим и добавляем:


if (
in_array( $category_tmp[$row_list[$n]]["category_child_id"] , $show_array_categories, true)
or
in_array( $category_tmp[$row_list[$n]]["category_parent_id"] , $show_array_categories, true)
)
{

$html .= '
< a title=".$catname." style="display:block;'.$style.'" class=". $css_class ." href="'." $sess-="$sess-" > url(URL."index.php?page=shop.browse&category_id=".$category_tmp[$row_list[$n]]["category_child_id"]) .'" '.$append.'>'
. str_repeat("   ",$depth_list[$n]) . $catname
. ps_product_category::products_in_category( $category_tmp[$row_list[$n]]["category_child_id"] )
.'';
}
}
}
return $html;
}

 

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

 

 

Комментарии 

 
#6 123 19.01.2015 16:17
Непашет ваш патч ниразу
Цитировать
 
 
#5 Никита 21.10.2013 10:08
Здравствуйте
virtuemart 1.1.9 joomla 1.5.25 при добавлении в функцию "get_category_tr ee" if пропадает весь модуль
Цитировать
 
 
#4 Андрей 31.01.2013 16:28
Здравствуйте.
Как уже отмечалось выше, ничего не меняется при прописании конкретных категорий в модуле mod_product_cat egories, после предложенной Вами доработки.
Откликнитесь пожалуйста. Может есть ещё какие-то ньюансы?
Проверял на VirtueMart 1.1.7, Joomla 1.5.25.
Ничего не меняется, все категории выводятся скопом, как обычно.
Цитировать
 
 
#3 Наталья 28.06.2012 14:08
Здравствуйте,ка к у вас написано все вводилось но при просмотре показывает пустую страницу.. как надо поступать с этой проблеммой..спасибо
Цитировать
 
 
#2 serjazz 14.02.2012 16:09
Здравствуйте.
Выполнил все вышеперечисленн ое, все отпарсилось хорошо, но эффекта никакого не происходит. Как выводилось все кучей, так и выводится... В чем может быть проблема? Версия VirtueMart 1.1.9 stable. на joomla 1.5.
Цитировать
 
 
#1 winram 07.02.2012 11:22
Здравствуйте.
Установил VirtueMart 2 RUS, начал настраивать....и,- засада, раньше в модуле категорий была возможность выбрать отображение списка (links, dTreе.. и т.д)сейчас такого нет.
Есть отдельный модуль для такого отображения или может во 2-м вирте это где-то зарыто???? помогите разобраться.
Спасибо.
Цитировать