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

Dutch

  • Глобальный модератор
  • 219
  • 88 / 2
  • Проф. разработка больших порталов с нуля!
SEF для VirtueMart (Joomla 1.5)
« : 20.12.2008, 04:31:51 »
На данный момент в компоненте интернет-магазина VirtueMart для Joomla 1.5 отсутствует роутер ссылок, который конвертирует ссылки.

Предлагаю Вашему вниманию роутер, который написал именно для последней на сегодня версии VirtueMart 1.1.2 stable.

Основной принцип работы роутера:

В Joomla 1.5 все ссылки имеют вид http://example.com/shop.html?page=shop.browse&category_id=1 (категории), в то время как роутер превращает их в более красивый и короткий вид - http:// example.com/shop/shop.browse/1.html

Сам роутер превращает 90% ссылок. Ссылка для обработки роутером заказов в интернет-магазине я не делал, чтобы предотвратить какие-либо ошибки и в принципе для этой части магазина нам красивые ссылки не так уж и важны, ведь основная задача у нас короткие ссылки для категорий и товаров, а также для индексации поисковыми машинами.

Замечания:

Роутер ссылок корректно работает с включенными расширениями (суффиксами) файлов и с отключенной функцией mod_rewrite в настройках Joomla. Если отключить функцию суффиксов для файлов и оставить включенный функцию mod_rewrite, будут возникать ошибки 404, это связано с тем, что параметрах URL используется точка (например: shop.browse).

Поэтому для корректной работы роутера предлагаю 2 варианта настроек SEF в конфигурации Joomla:

1. включена функция mod_rewrite и расширения (суффиксы) файлов;
2. отключена функция mod_rewrite, а расширение (суффиксы) файлов могут быть включены или отключены.

Применение:

1. Распаковать архив;
2. Залить файл router.php в папку components/com_virtuemart/;
3. Включить и настроить SEF в конфигурации Joomla согласно замечаний (см. выше).

Загрузить файл роутера: router.zip

Обсуждение роутера на украинском языке на форуме Joomla! Україна: SEF для VirtueMart (Joomla 1.5)
---------------------------------------------------------------------
Поднимаю в шапку:

from Beagler - переделанный роутер от E-FusionSoft Technologies  yes!
скачать

добавил транслитерацию.
Описание:
1. В плагине ТС обрабатываются только страницы shop.browse и shop.product_details. В этом - также и shop.feed shop.ask checkout.index account.billing account.shipto account.shipping shop.registration shop.recommend shop.tos shop.cart account.index account.order_details shop.waiting_list shop.search store.index - практически все страницы страницы VM
2. Самое главное - в ссылках не shop.browse и shop.product_details
3. Вид ссылки:
карточка товара - /component/virtuemart/details/8/2/elektroinstrumenti/tsirkulyarnaya-pila.html
категория -          /component/virtuemart/category/2/elektroinstrumenti.html
слова category и details можно менять (в начале файла), а 8 и 2 - это id категории и товара.

Update from 16.10.2009 - исправил ошибку с русскими названиями.

Для того, чтобы роутер заработал в модулях ссылки должна вызываться через JRoute::_(), а не через sefRelToAbs()

Пример:
было
Код
$sess->purl($router_url);
изменили
Код
$sess->purl( JRoute::_($router_url));

Внимание! Если после установки роутера получаете белый лист - скорее всего у Вас в PHP не включен модуль mbstring (предоставляет функции для обработки строк в мультибайтных кодировках )


from sova - Добавил в роутер от beagler украинскую транслитерацию.


[вложение удалено Администратором]
« Последнее редактирование: 05.04.2012, 17:04:12 от smart »
*

19th

  • Осваиваюсь на форуме
  • 31
  • 3 / 0
  • бу(це)ски
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #1 : 13.09.2009, 20:08:18 »
Версия Joomla: 1.5.14. Версия Virtuemart: 1.1.3 stable
При использовании этого роутера возникали ошибки с использованием корзины (удалить, обновить товары, "далее".

С помощью bardus был найден следующий метод:

В: /administrator/components/com_virtuemart/html/basket.php
Меняем:
Код
	// UPDATE CART / DELETE FROM CART 
$action_url = $mm_action_url.basename($_SERVER['PHP_SELF']);
На:
Код
	// UPDATE CART / DELETE FROM CART 
$action_url = $mm_action_url.'index.php';
В: /administrator/components/com_virtuemart/html/checkout.index.php
Меняем:
Код
    // We have something in the Card so move on
    if ($perm->is_registered_customer($auth['user_id'])) { // user is logged in and a registered customer
$basket_html .= '<form action="'. SECUREURL.basename($_SERVER['PHP_SELF']).'" method="post" name="adminForm">

На:
Код
    // We have something in the Card so move on
    if ($perm->is_registered_customer($auth['user_id'])) { // user is logged in and a registered customer
$basket_html .= '<form action="'. SECUREURL.'"index.php"." method="post" name="adminForm">
В: /components/com_virtuemart/themes/default/templates/pages/shop.cart.tpl.php
Меняем:
Код
   else {
    $href = $sess->url( $_SERVER['PHP_SELF'].'?page=checkout.index&ssl_redirect=1', true);
    $href2 = $sess->url( $mm_action_url . "/index2.php?page=checkout.index&ssl_redirect=1", true);
На:
Код
  else {
           $href = $sess->url('index.php?page=checkout.index&ssl_redirect=1', true);
           $href2 = $sess->url( $mm_action_url . "/index2.php?page=checkout.index&ssl_redirect=1", true);
*

Sulpher

  • Живу я здесь
  • 2113
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #2 : 24.09.2009, 12:34:35 »
Решил отказаться от использования сторонних SEF компонентов ввиду их неповоротливости и увеличения нагрузки, в пользу родного SEF Joomla и mod_rewrite (в связке с плагином ukr_rus_allias от oppo получается отличный результат). Я бы хотел увидеть данный router "облагороженным", реализующим ЧПУ.
Немного теории:

browse:
Сейчас: katalog/shop.browse/79.html
Нужно:  katalog/santehnika/dushevye-poddony.html
Т.е.  формат  такой:  идет  алиас  VirtueMart из меню (допустим, katalog),
далее, вложенность категорий:
- Сантехника
    - Душевые поддоны

Т.е.  категория  и  ее  подкатегория.

flypage:
Сейчас: katalog/shop.product_details/85/flypage.tpl/1197.html?manufacturer_id=22
Нужно:  katalog/santehnika/dushevye-poddony/1234-dushevoj-poddon-gustavsberg.html


Формирование  названия  товара таким образом: категория - подкатегория - артикул-название товара.html
присутствие   артикула   избавит   от  проблемы  дублирования ссылок у товаров с одинаковым названием.

manufacturer:
А вот формирование ссылки на производителя: katalog/shop.browse.html?manufacturer_id=23
Тоже нужна транслитерация: katalog/manufacturers/gustavsberg.html


Механизм работы router'а описан Dutch'ем в начале топика.  В нашем случае стоит задача непростая, поскольку, как я понимаю, у VirtueMart нет таблицы для SEF записей, равно как и алиасов у товаров и категорий, то формирование ЧПУ ссылок на лету приведет к большому количеству запросов к БД, что делает непривлекательным  подобное  изменение. Если это действительно  так, то, пожалуй, придется добавить новое поле алиаса в таблицы категорий, товаров и производителей, а плагин транслитерации будет при сохранении забивать автоматом алиас... С  другой  стороны,  данный  способ непривлекателен в плане добавления товаров через CSV (не писать же руками еще и алиасы к тысячам товаров).

Какое же решение будет оптимальным?
*

Sulpher

  • Живу я здесь
  • 2113
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #3 : 15.10.2009, 21:56:04 »
компонент работает, спасибо.

однако вот эта http://joomlaforum.ru/index.php/topic,77040.30.html проблема до сих пор не решена. не сочтите за оффтоп.
А какое отношение имеет описанная в этом топике проблема к данному роутеру? Я просмотрел тему, в ней нет упоминания об использовании router'а от Dutch'а, там описана проблема с SEF.
*

efrem

  • Новичок
  • 3
  • 0 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #4 : 15.10.2009, 22:38:21 »
извините, кривенько предложение построил.

просто мне показалось, что люди, разбирающиеся в принципах работы  джумловской SEF могут помочь с решением проблемы, тем паче, что речь идет, опять же, про VirtueMart  :'(
*

livsi

  • Осваиваюсь на форуме
  • 12
  • 1 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #5 : 28.10.2009, 11:22:19 »
1 - не добавлять поле в таблицу продуктов\категорий, а добавить дополнительную таблицу, где хранить соответствие (object_id, alias, type), где type это тип объекта (категория\товар\производитель)
Вот с этим пунктом в общем то вопрос - если ДОБАВЛЯТЬ поле - оно полуавтоматически подхватывается CSV Improved. Подхват данных из сторонней таблицы - более проблематичен. Или я не прав?
(параллельная тема - http://joomla-support.ru/thread15790.html)
Ну и по поводу роутера - ссылки с корзины и оформления заказа не то что к SEF стандарту приводить излишне но и от поисковиков прятать за тегами nofollow и noindex стоит - они в выдаче абсолютно лишние. Так что мой выбор - первоначальный вариант от L. K. Lalitesh
« Последнее редактирование: 28.10.2009, 11:30:06 от livsi »
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #6 : 28.10.2009, 11:23:42 »
Вот с этим пунктом в общем то вопрос - если ДОБАВЛЯТЬ поле - оно полуавтоматически подхватывается CSV Improved.
Мы в наших проектах не используем CSV Improved, есть свое решение для импорта\экспорта данных, потому вопрос неатуален
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

varakuta

  • Осваиваюсь на форуме
  • 14
  • 0 / 1
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #7 : 03.11.2009, 01:09:41 »
Привет всем

При нажатии "Оформить Заказ" выбрасывает на главную страницу

http://autobase.com.ua/

до того как это стало происходить установил com_sh404SEF_RC_1.5.2.255

ничего не настраивал.. поклацал. .увидел что заказ не оформляется и удалил, но ничего не исправилось (

при отключении
 SEF-ссылки (ЧПУ) 
 mod_rewrite

переходит на страницу оформления...
но мнеж нужно с ЧПУ )))

да, вот еще
у меня стоит Joomla inbuilt SEF Router for VirtueMart Extension Specific Addon
но с ним работало все
после sh404SEF перестало или я туплю...



заранее благодарю за помощь
« Последнее редактирование: 03.11.2009, 01:46:29 от varakuta »
*

oshaly

  • Захожу иногда
  • 60
  • 0 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #8 : 04.11.2009, 18:08:05 »
установила, у меня путь к товару такой
/component/virtuemart/shop.product_details/1/flypage.tpl/1.html
не красиво как-то.
как убрать /component/virtuemart  и  flypage.tpl ?

хотя до этого устанавливала VirtueMart Integrator for SEF Service Map 2, но потом отключила - может он повлиял еще?
*

varakuta

  • Осваиваюсь на форуме
  • 14
  • 0 / 1
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #9 : 04.11.2009, 20:00:57 »
как бы понял что это проблема моего шаблона.. на дружит он зараза с router.php

теперь вариант это найти отличия )))

и какие файлы отвечают за оформление заказа и что в них не так )))

мож кто подскажет? ))
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #10 : 04.11.2009, 21:23:26 »
нашел более продвинутый роутер от E-FusionSoft Technologies
добавил транслитерацию.

[вложение удалено Администратором]
*

19th

  • Осваиваюсь на форуме
  • 31
  • 3 / 0
  • бу(це)ски
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #11 : 04.11.2009, 23:50:01 »
нашел более продвинутый роутер от E-FusionSoft Technologies
добавил транслитерацию.
Для неспециалистов - в чем продвинутость?
*

oshaly

  • Захожу иногда
  • 60
  • 0 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #12 : 05.11.2009, 01:08:49 »
скачала  новый - счас вообще нет урлов, ни у категорий, ни у продуктов
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #13 : 05.11.2009, 10:35:43 »
1. В плагине ТС обрабатываются только страницы shop.browse и shop.product_details. В этом - также и shop.feed shop.ask checkout.index account.billing account.shipto account.shipping shop.registration shop.recommend shop.tos shop.cart account.index account.order_details shop.waiting_list shop.search store.index - практически все страницы страницы VM
2. Самое главное - в ссылках не shop.browse и shop.product_details
3. Вид ссылки - для категории - /category/2/power-tools.html для flypage - /details/7/2/power-tools/chain-saw.html
слова category и details можно менять (в начале файла), а 7 и 2 - это id категории и товара.
*

varakuta

  • Осваиваюсь на форуме
  • 14
  • 0 / 1
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #14 : 06.11.2009, 00:32:57 »
а проблема работы шаблона
My Store Plazza
с router.php
заключалась в файле
ps_session.php
administrator/components/com_virtuemart/classes

заменил его на оригинальный с офсайта
и оформление заказа заработало
*

everestrus

  • Захожу иногда
  • 97
  • 3 / 0
  • Moto на территории UA
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #15 : 07.11.2009, 12:27:18 »
Решил отказаться от использования сторонних SEF компонентов ввиду их неповоротливости и увеличения нагрузки, в пользу родного SEF Joomla и mod_rewrite (в связке с плагином ukr_rus_allias от oppo получается отличный результат). Я бы хотел увидеть данный router "облагороженным", реализующим ЧПУ.
Немного теории:

browse:
Сейчас: katalog/shop.browse/79.html
Нужно:  katalog/santehnika/dushevye-poddony.html
Т.е.  формат  такой:  идет  алиас  VirtueMart из меню (допустим, katalog),
далее, вложенность категорий:
- Сантехника
    - Душевые поддоны

Т.е.  категория  и  ее  подкатегория.

flypage:
Сейчас: katalog/shop.product_details/85/flypage.tpl/1197.html?manufacturer_id=22
Нужно:  katalog/santehnika/dushevye-poddony/1234-dushevoj-poddon-gustavsberg.html


Формирование  названия  товара таким образом: категория - подкатегория - артикул-название товара.html
присутствие   артикула   избавит   от  проблемы  дублирования ссылок у товаров с одинаковым названием.

manufacturer:
А вот формирование ссылки на производителя: katalog/shop.browse.html?manufacturer_id=23
Тоже нужна транслитерация: katalog/manufacturers/gustavsberg.html


Механизм работы router'а описан Dutch'ем в начале топика.  В нашем случае стоит задача непростая, поскольку, как я понимаю, у VirtueMart нет таблицы для SEF записей, равно как и алиасов у товаров и категорий, то формирование ЧПУ ссылок на лету приведет к большому количеству запросов к БД, что делает непривлекательным  подобное  изменение. Если это действительно  так, то, пожалуй, придется добавить новое поле алиаса в таблицы категорий, товаров и производителей, а плагин транслитерации будет при сохранении забивать автоматом алиас... С  другой  стороны,  данный  способ непривлекателен в плане добавления товаров через CSV (не писать же руками еще и алиасы к тысячам товаров).

Какое же решение будет оптимальным?

Всем привет!

вообщем я нашел как бы роутер файлик заплатил за него 10 евро! все он как бы работает то есть он показывает ссылки как написал чуть выше человек, но есть большое но.. если категории на русском он просто ставит цифры в урле
и получается вот такого плана ссылка http://moto.vn.ua/motoekipirovka/6-/15--.html
но если катагории на англиском то все просто супер  оно получается показывает в урле категории под категории и сам товар. я его купил и эти чуваки что его продают обещали поддержку. я им написал за этот бок они короче отказались фиксить сказали что не могу это сделать и вернули деньги, я так понял они его где то нарыли этот файлик. на этой ветке я нашел файлик который транслит делает но он что то коряво делает у меня все категории получаются в транслите rsrsrsrrsrrs такого плана!
могу дать файлик что у меня что бы кто то сделал под транслит.
Спасибо
*

everestrus

  • Захожу иногда
  • 97
  • 3 / 0
  • Moto на территории UA
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #16 : 07.11.2009, 12:30:58 »
кстати вот нашел прикольный вроде то что надо http://joomlaplugins.net/joomla-extension-download/doc_details/1-search-engine-friendly-router.html
*

myreg12345

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #17 : 13.11.2009, 13:54:15 »
нашел более продвинутый роутер от E-FusionSoft Technologies
добавил транслитерацию.

Я так понимаю, если добавлена транслитерация, то должно работать и с русскими названиями категорий и товаров?
Но почему-то с английскими названиями работает на ура, а при использовании кириллицы выкидывает на главную страницу сайта:(
Подскажите, пожалуйста, как быть?
*

Sulpher

  • Живу я здесь
  • 2113
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #18 : 16.11.2009, 12:53:51 »
нашел более продвинутый роутер от E-FusionSoft Technologies
добавил транслитерацию.
Не работает транслитерация.
Вот пример: у меня называется категория "насадки на кран". ссылка такая:
http://www.test2.ru/magazin/category/61/--/-.html

товар "Орион Swarovski"
http://www.test2.ru/magazin/details/1130/61/--/-/-swarovski.html

кстати вот нашел прикольный вроде то что надо http://joomlaplugins.net/joomla-extension-download/doc_details/1-search-engine-friendly-router.html
попробовал -действительно, кириллицу не кушает совсем: везде ссылка на главную сайта.
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #19 : 16.11.2009, 16:11:20 »
Не работает транслитерация.
Вот пример: у меня называется категория "насадки на кран". ссылка такая:
http://www.test2.ru/magazin/category/61/--/-.html

товар "Орион Swarovski"
http://www.test2.ru/magazin/details/1130/61/--/-/-swarovski.html
Странно, у меня транслитерация работает. Стоит именно этот роутер.
*

Sulpher

  • Живу я здесь
  • 2113
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #20 : 16.11.2009, 16:26:53 »
Странно, у меня транслитерация работает. Стоит именно этот роутер.
Какой из двух? Что предложил beagler или everestrus?
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #21 : 16.11.2009, 16:43:30 »
Тот что предложил beagler. До этого стоял тот который в первом посту.
Этот понравился больше, и ссылки красивее.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #23 : 16.11.2009, 17:32:30 »
Нашел ошибку, связанную с русской кодировкой, исправил, обновил в шапке.
Ссылки получаются вот такие:
карточка товара - /component/virtuemart/details/8/2/elektroinstrumenti/tsirkulyarnaya-pila.html
категория -          /component/virtuemart/category/2/elektroinstrumenti.html
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #24 : 16.11.2009, 17:35:15 »
Joomla 1.5.15 VirtueMart 1.1.4
адрес auto-tuner.ru.
Там правда не закончено ещё, так что сильно не пинайте.
*

myreg12345

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #25 : 16.11.2009, 17:47:19 »
To beagler
После обновления все заработало :D
Спасибо большое :)

А на счет карточки категории
Сейчас формируется ссылка, типа:
http://название_сайта/virtuemart/details/231/7/категория/подкатегория1/подкатегория1-1/товар.html

А можно сделать, чтобы отображалась в пути к товару только его категория, без вышестоящих?
Например:
http://название_сайта/virtuemart/details/231/7/подкатегория1-1/товар.html

А то при разветвленной иерархии категорий - ссылка товара получается довольно-таки длинной...
*

Sulpher

  • Живу я здесь
  • 2113
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #26 : 16.11.2009, 17:51:51 »
Меня интересует другое: а можно сделать, чтобы вместо цифрового обозначения категории выводилось название категории транслитом?
*

myreg12345

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #27 : 16.11.2009, 18:09:21 »
А зачем? Оно же будет дублировать тогда 2 раза одни и те же названия - сначала 2 раза названия категории, а потом 2 раза названия товара

http://название_сайта/virtuemart/details/231/7/категория/подкатегория1/подкатегория1-1/товар.html

Ведь тут 7-ка - это ID подкатегории1-1, а далее же выводится ее название транслитом! (стало выводится после того, как сегодня beagler подправил роутер этот) - так что скорее, лучше просто удалить отображение этих ID, если есть такая возможность :)
*

Autocom

  • Захожу иногда
  • 306
  • 3 / 0
Re: SEF для VirtueMart (Joomla 1.5)
« Ответ #28 : 16.11.2009, 18:29:17 »
Присоединяюсь. Возможно ли удалить ID категории и товара?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос с 1.5 на 3.5 + VirtueMart

Автор andrey488

Ответов: 4
Просмотров: 2618
Последний ответ 07.03.2017, 01:19:33
от SeBun
Проблема с установкой VirtueMart 1.1.4

Автор Tell

Ответов: 10
Просмотров: 6496
Последний ответ 02.01.2017, 17:28:01
от pomogu_chem_smogu
Проблемы с установкой VirtueMart

Автор inka

Ответов: 14
Просмотров: 7683
Последний ответ 03.09.2015, 01:44:49
от Amigos
mod VirtueMart latestprod способствовал появлению белого экрана

Автор smogrom

Ответов: 21
Просмотров: 3224
Последний ответ 15.01.2015, 11:50:23
от Schumaker
Русификация VirtueMart. Как ее сделать?

Автор Koriolan

Ответов: 52
Просмотров: 53843
Последний ответ 05.11.2014, 15:37:43
от Jiggy