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

Добрый день!

У меня такая проблема: стоит virtuemart версии 1.0.12 stable & Джумла такой же версии, включен встроенный СЕФ.

На материале постраничный вывод работает отлично, т.е. генерируются ссылки такого вида "component/option,com_frontpage/Itemid,1/limit,10/limitstart,10/", а вот при работе с virtuemart'oм, генерируются ссылки вида "/index.php?option=com_virtuemart&page=shop.browse&category_id=3&keyword=&manufacturer_id=0&Itemid=51&orderby=product_name&limit=30&limitstart=30", что не есть хорошо  :(

Где нужно копать, чтобы сделать их дружелюбными с помощью встроенного СЕФа?
Или придется ставить альтернативу (но у меня более 3500 товаров и возможны тормоза - вычитал на форуме)?

Выслушаю все мнения и советы.

Заранее благодарю.

Уже сам разобрался, если у кого была подобная проблема, то вот решение:

будем править файл /includes/pageNavigation.php , необходимо найти такой цикл :

Код
		for ($i=$start_loop; $i <= $stop_loop; $i++) {
$page = ($i - 1) * $this->limit;
if ($i == $this_page) {
$txt .= '<span class="pagenav">'. $i .'</span> ';
} else {
строки 122-126, и дописать после

Код
				
if(strrpos($link, 'com_virtuemart') != false) { //проверяем, есть ли в URL наш компонент
$link = str_replace( '=', ',', $link); //заменяем "=" на ","
$link = str_replace( '&amp;', '/', $link); //заменяем "&" на "/"
$link = str_replace( '&', '/', $link); //заменяем "&" на "/"
$link = str_replace( 'index.php?', 'component/', $link); //заменяем "index.php?" на "component/"
$txt .= '<a href="'. $link .'/limitstart,'. $page .'" class="pagenav"><strong>'. $i .'</strong></a> '; //формируем ссылку
}
else // если мы не нашли в УРЛе наш компонент, то выводим стандартную ссылку (не хакнутую)
$txt .= '<a href="'. sefRelToAbs( $link .'limitstart='. $page ) .'" class="pagenav"><strong>'. $i .'</strong></a> ';

В итоге должен получится такой кусок кода:

Код
		for ($i=$start_loop; $i <= $stop_loop; $i++) {
$page = ($i - 1) * $this->limit;
if ($i == $this_page) {
$txt .= '<span class="pagenav">'. $i .'</span> ';
} else {
if(strrpos($link, 'com_virtuemart') != false) {
$link = str_replace( '=', ',', $link);
$link = str_replace( '&amp;', '/', $link);
$link = str_replace( '&', '/', $link);
$link = str_replace( 'index.php?', 'component/', $link);
$txt .= '<a href="'. $link .'/limitstart,'. $page .'" class="pagenav"><strong>'. $i .'</strong></a> ';
}
else
$txt .= '<a href="'. sefRelToAbs( $link .'limitstart='. $page ) .'" class="pagenav"><strong>'. $i .'</strong></a> ';

}
}

Всем спасибо за внимание и потраченное время.  ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart 1.1.4 и https дополнительные фото товаров

Автор Sergey1984

Ответов: 0
Просмотров: 319
Последний ответ 23.10.2018, 19:58:44
от Sergey1984
JComments + VirtueMart (решение проблемы рейтинга товаров)

Автор Oleksii

Ответов: 9
Просмотров: 2514
Последний ответ 13.09.2018, 23:26:17
от bgg87
VMExport YML - Компонент для управления экспортом товаров из VirtueMart 1.1.x на Яндекс.Маркет

Автор jeka5555

Ответов: 5
Просмотров: 2969
Последний ответ 02.07.2017, 21:25:46
от vipiusss
VirtueMart каталог не показывает все категории товаров

Автор vasyun

Ответов: 1
Просмотров: 516
Последний ответ 14.06.2017, 20:30:51
от vasyun
Проблемы с поиском товаров в VirtueMart

Автор fashion_ff

Ответов: 10
Просмотров: 4651
Последний ответ 29.05.2017, 12:54:06
от OutLaw1