Блог старого компьютера

Блог старого компьютера


Главная Joomla VirtueMart 1 не добавляет товар в корзину

VirtueMart 1 не добавляет товар в корзину

23.01.2014 17:05 Администратор Joomla
Печать PDF

Речь пойдет о старом и ужасном виртуамарте. Думаю каждый кто с ним сталкивался помнит как постоянно что то глючит, постоянно что то приходится исправлять, доделывать, допиливать. Есть конечно люди которые очень любят виртумарт и считают его шикарным и быстрым способом развернуть интернет магазин, для таких людей я бы посоветовал посмотреть как ужасно овормлена корзина, разве можно с таким убогим продуктом выходить на рынок.

Лично я постоянно переделывал таблицу которая находилась к корзине, так оставлять просто неприлияно. Если кто то захочет сказать что я все таки использую этот компонент, то я отвечу так, иногда по тз необходимо его использовать, либо просят помочь с исправлением внутрених и внешних(дизайнерских недочетов).

Как то давно мне написал клиент у которого не работало добавление в корзину, точнее оно вроде бы иногда работало, а иногда нет. Изучив вопрос я понял что проблема в конфликте путей которые указаны в конфигах joomla и VirtueMart. Во первых не стоит в файле конфигурации joomla (configuration.php) указывать переменную $live_site, сайт и без этого отлично работает. Далее заглянем в файл конфигурации виртумарта virtuemart.cfg.php который находится по следующему пути /administrator/components/com_virtuemart. В нем есть 2 константы URL и SECUREURL. Кстати эти константы необходимо менять на правильные если вы сменили название домена, по этой причине многие новички испытывали сложности в переносе сайта на другой либо основной домен. Я советую заменить эти константы на следующий код, благодря ему нам не придется постоянно при переносе сайта на хостинг править конфиг виртумарта.

$url = 'http://'.$_SERVER['HTTP_HOST']."/";
define( 'URL', $url );
define( 'SECUREURL', $url );

На сколько вы поняли этот код сам берет нужные ему пути из глобального массива $_SERVER.

Далее чтоб ни каких ошибок не возникало так же советую в файл .htacces вставить следующие строки после строки "RewriteEngine on":

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Эти строки полезны во первых тем что у нас сайт будет при наборе его с www перекидывать на адрес без www, а это полезно для поисковых систем. Второе и главное это то что благодаря этим строкам несмотря на то что указано у нас в конфигах (адрес с www или без) нас будет кидать на основной адрес сайта.

А теперь собственно кульминация для тех кого интересует корень проблемы. Суть проблемы неработающей корзины заключается в том что если в одном конфиге сайт указан с www, а в другом без то возможна беда которая заключается в том что аякс не может выполнять кроссдоменные запросы, а адрес www.site.ru и site.ru для него являются разными доменами.

Хочу так же на последок сказать о том что мы сегодне говорили о VirtueMart первой версии.

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела