ЧПУ Virtuemart 2.0

5 года 11 мес. назад #2615 от kvaru
Здравствуйте!

Установил релиз VirtueMart 2.0 на Joomla 1.7.
Ссылка на карточку товара выглядит так: /component/virtuemart/hand-tools/G01-detail.html.
У меня возникло два вопроса.
1.Подскажите как избавиться от "/component/virtuemart" и таким образом сократить url? так будет более человечная ссылка.
2. Если из настроек удаляю дописываемый SEO-суффикс -detail, то при открытии карточки товара происходит ошибка. Для чего этот SEO-суффикс -detail и как его убрать?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2628 от kvaru
неужели нет решения во 2-й версии viruemart как сделать человеческие url-лы?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2629 от bionetinfo

kvaru пишет: неужели нет решения во 2-й версии viruemart как сделать человеческие url-лы?

Наверное за 3 недели решение просто никто еще не успел найти или пока не спешат использовать VM2 по известным причинам.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2632 от Wedal
Ну я бы сказал так:
1) Если знания PHP позволяют, правим router.php от Virtuemart 2
2) Если п.1 не подходит, скачиваем SEF-компонент с поддержкой Virtuemart 2(например, SH404SEF, хотя я не уверен, что поддержка VM2 уже включена в него)
3) Если п.1 и п.2 не подходят, то либо довольствуемся тем, что есть, либо заказываем доработку за деньги, либо ждем, пока сообщество создаст решение.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 10 мес. назад #2676 от Lorian
Специальных компонентов не надо файл router.php хорошо написаны,
для того чтобы убрать .../component/virtuemart/....
Нужно смотреть файл не в виртумарте а в фаил router.php который Jooml-ы и находится в папочке
includes\ router.php ;) где и что подправить каждый решает для себя сам но формирование ссылок и парсинг производится в строчках 344-347 и 194-198 .... :) bingo .

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 10 мес. назад - 5 года 10 мес. назад #2679 от Lorian
Если не знаете PHP или жалко времени, то можно сделать проще создать в Joomle пункт меню с ссылкой на ..VirtueMart » Основная страница .... указать что на главной и выбрать шаблон который вы используите, потом перейдите в Virtuemart и зайдите в настройки .... настройки внешнего вида выберите шаблон .... и ....и ... все :laugh:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад #3078 от Lelik
Так и сделал, но такая вот штука. При оптимизации сайта yandex выдает все равно component/virtuemart/ куча страниц исключенных и пишет что страницаы являются каноническими. Вообще слишком много всего чего не видно на сайте а вылезает при оптимизации . Везде читаю, понимаю что это глюк вирту (при более ранней версии ни у кого ничего такого не было "кручу верчу запутать хочу вирту 2.0"что конкретно сделать - не могу пока понять. Наложение происходит созданной страницы как Вы советовали и страниц каталога.Подскажите !!
Вложения:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 8 мес. назад - 5 года 8 мес. назад #3402 от roggi
Блин а можно по подробнее что подправить? тоже ничего не выходит...

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 6 мес. назад #3807 от vagant
Здравствуйте а при помощи файла .htaccess можно убрать из ссылок этот суфикс -detail?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 6 мес. назад #3813 от Wedal
vagant, -detail можно изменить в общих настройках VM2.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 6 мес. назад #3816 от vagant
Я наверное не правильно выразился, стандартными средствами Joomla 2,5 и Virtuemart 2 можно было бы обойтись не прибегая к установке sh404sef
если бы исключить из ссылок товара суфикс -detail (то что он изменяется в настройках да видел, но если его там просто убрать то товары не показываются) и оставить отображение только последнего раздела исключить/katalog/:
www.site.ru/razdel/tovar-A141.html - так было в joomla 1,5 + sh404sef
www.site.ru/katalog/razdel/tovar-A141-detail.html - так сейчас с включенным стандартным сео
и еще
www.site.ru/razdel/info.html - так было в joomla 1,5 + sh404sef
www.site.ru/katalog/razdel/info.html - так сейчас с включенным стандартным сео

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 4 мес. назад - 5 года 4 мес. назад #3942 от maler1988
Способ "граблями".

файл router.php который находится в папке
includes\ router.php
370 строка
if (!$built) {
$tmp = 'component/'.substr($query, 4).'/'.$tmp;
}

вместо 'component/'.substr($query, 4).'/'.$tmp; я вставил 'katalog/'.$tmp; Где katalog - это ЧПУ ссылки в родительскую категорию Virtuemart (2.0.6). Теперь все ЧПУ рисуются правильно. домен /katalog/musik/metal/metllica_reload_1996 и т.п. а по ссылке /component/virtuemart/musik/metal/metllica_reload_1996 404 ошибка , т.е. задвоения поисковик не найдёт. И хлебные крошки кстати тоже правильные формируются. :)

Не очень профессионально, но разбираться некогда со всеми механизмами компонента.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 4 мес. назад #3967 от maler1988
Блин я извиняюсь! Этот способ не правильный. Дело в том что та строка отвечает за работу кучи компонентов, например поиска. Он тупо перестаёт работать. Вместо component/search?бля бля бля (параметры поиска), он выдаёт katalog?бля бля бля (параметры поиска). Пошёл другим путём, в файле шаблона категории товаров (/components/com_virtuemart/views/category/tmpl/default.php) строку echo JHTML::link($link, $product->product_name); заменил на такую конструкцию : <?php $link=str_replace('component/virtuemart', 'katalog', $product->link); echo JHTML::link($link, $product->product_name); ?> . Вроде всё работает! =)

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 3 мес. назад #4078 от marochka
if (count($segments) > 1 && $segments[0] == 'component')
{
$vars = 'com_'.$segments[1];
$vars = null;
$route = implode('/', array_slice($segments, 2));
}
else

меняем на

if (count($segments) > 1 && $segments[0] == 'component')
{
$vars = 'com_'.$segments[1];
$vars = null;
$route = implode('/', array_slice($segments, 2));
}
elseif($segments[0]=='katalog'){

$vars = 'com_virtuemart';
$vars = null;
$route = implode('/', array_slice($segments, 2));
}
else



if (!$built) {

$tmp = 'component/'.substr($query, 4).'/'.$tmp;


}

меяем на

if (!$built) {
if(substr($query, 4)!="virtuemart")
$tmp = 'component/'.substr($query, 4).'/'.$tmp;
else $tmp = 'katalog/'.$tmp;

}

слово katalog можно заменить на другое, главное не забыть сделать и там и там

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 1 нед. назад #4568 от AHTEPO
Здравствуйте друзья!
Проанализировав внушительное количество статей по преобразованию файлов router.php для VM2 так и не нашёл ответа на вопрос - можно ли получить ссылки типа mysite.ru/shop/5678 (или mysite.ru/shop/5678.html), где 5678 - номер товара (item id)?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 1 нед. назад #4570 от Wedal
AHTEPO, можно, но только правкой кода router.php.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 11 мес. назад #4661 от AHTEPO
Это и так понятно, но структура непонятна...

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 6 мес. назад #5684 от Иван Стругацкий
Подскажите пожалуйста как решить следующую проблему.
Был сай на Joomla 1.5 + VirtueMart + sh404SEF
В sh404SEF был включен пункт - "Добавить категории" - "только одна последняя"
Были ссылки www.site.ru/категория или подкатегория/товар.html
Переношу сайт на Joomla 2.5.11 + VirtueMart 2.0.20b
Сейчас ссылки www.site.ru/категория/подкатегория/товар.html - с включенным стандартным сео Joomla и VirtueMart и созданными пунктами меню.
Требуется в URL оставить только последнюю категорию то бишь так как было.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 6 мес. назад #5687 от Wedal
Иван, в Virtuemart 2 настройки SEF очень скудны. Все работает так, как задумано разработчиками. Изменить можно в файле components/com_virtuemart/router.php. Другой вариант - снова установить sh404SEF.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 1 мес. назад #6021 от mazurik
Стоит Virtuemart 2.0.24
Тут категории создаются вида xxx.ru/perednyaya-i-zadnyaya-podveska.html
нужно сделать адрес таким: xxx.ru/component/virtuemart/category/perednyaya-i-zadnyaya-podveska.html

Знаю, что это хуже для сео, но нужно именно так! Понимаю, что копать надо роутер, но куда именно вносить правки - не пойму.

Помогите, пожалуйста. Заранее спасибо!

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 1 мес. назад #6022 от mazurik
сделал все, как написал marochka, результата никакого! (((

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх