Доброго времени суток, уважаемые. Никак не могу понять почему не получается положить товар в корзину. При нажитии на кнопку "Купить товар" ничего не происходит. Подскажите, как это можно исправить. http://krasko-pult.ru/
Спасибо всем, кто мог бы помочь, с этим вопросом, но не смог по каким-то причинам. Если вдруг кто-то столкнётся с этой проблемой, то решение было таким: в глобальных настройках VirtueMart -> Сайт -> Вид -> Выберите шаблон для магазина -> кнопка "настройки" ->"Use Ajax to add, update or delete products from the cart?" - нужно поставить "no".
У меня немного другая проблема: при добавлении каких-либо свойств товар не кладется в корзину. У вас на сайте http://krasko-pult.ru/ эта проблема каким-то образом решена. Как вы это сделали?
Я очень рад, что вы тут счастливые, но может кто то знает как подружить jquery с етим скриптом, чтобы аджакс-добавление в корзину все таки работало? а то отключение не самое лучшее решение.... Если прочтет какой то мегга-джаваскриптер, может поможет, там вот такой код: Код (CODE): function handleAddToCart( formId, parameters ) { formCartAdd = document.getElementById( formId ); var callback = function(responseText) { updateMiniCarts(); // close an existing mooPrompt box first, before attempting to create a new one (thanks wellsie!) if (document.boxB) { document.boxB.close(); clearTimeout(timeoutID); } document.boxB = new MooPrompt(notice_lbl, responseText, { buttons: 2, width:400, height:150, overlay: false, button1: ok_lbl, button2: cart_title, onButton2: handleGoToCart }); setTimeout( 'document.boxB.close()', 3000 ); } var opt = { // Use POST method: 'post', // Send this lovely data data: $(formId), // Handle successful response onComplete: callback, evalScripts: true } new Ajax(formCartAdd.action, opt).request(); } ето типа ф-я, которая вызывается при клике на добавить в корзину, конфликты с джквери наверное с етой ф-ей, которая обновляет содержимое корзины: Код (CODE): function updateMiniCarts() { var callbackCart = function(responseText) { carts = $$( '.vmCartModule' ); if( carts ) { try { for (var i=0; i<carts.length; i++){ carts[i].innerHTML = responseText; try { color = carts[i].getStyle( 'color' ); bgcolor = carts[i].getStyle( 'background-color' ); if( bgcolor == 'transparent' ) { // If the current element has no background color, it is transparent. // We can't make a highlight without knowing about the real background color, // so let's loop up to the next parent that has a BG Color parent = carts[i].getParent(); while( parent && bgcolor == 'transparent' ) { bgcolor = parent.getStyle( 'background-color' ); parent = parent.getParent(); } } var fxc = new Fx.Style(carts[i], 'color', {duration: 1000}); var fxbgc = new Fx.Style(carts[i], 'background-color', {duration: 1000}); fxc.start( '#222', color ); fxbgc.start( '#fff68f', bgcolor ); if( parent ) { setTimeout( "carts[" + i + "].setStyle( 'background-color', 'transparent' )", 1000 ); } } catch(e) {} } } catch(e) {} } } var option = { method: 'post', onComplete: callbackCart, data: { only_page:1,page: "shop.basket_short", option: "com_virtuemart" } } new Ajax( live_site + '/index2.php', option).request(); } Ето всё в файле components/com_virtuemart/themes/default/theme.js
это можно сделать только при помощи замены знака "$" в скрипте для Jquery на слово "Jquery" и вписание перед самим скриптом Jquery.noconflict(); тогда Jquery перестанет конфликтовать с MooTools и скрипт добавления в корзину будет работать нормально
Не в том дело, неработает же даже если я ничего не дописываю, достаточно просто подключить библиотеку и ппц будет, ну тоесть тот скрипт имеет конфликты с самой библиотекой. А вообще то проблему я решил по другому, если кому надо, вот тут описал - http://forum.virtuemart.ru/viewtopic.php?f=27&t=5462
С Выключенным Ajax при добавлении товара сразу перебрасывает в корзину (что не совсем удобно для пользователя), У меня товар кладется даже с включенным Ajax, я заметил немного с другой баг Mozilla Firefox и Google Chrome тоже не добавляется ЕСЛИ В настройках VirtueMart Вкладка безопасность Site URL адрес сайта написан без www http://mysait.ru/ ,а в браузере открыт сайт с www то товар не добавиться в корзину, и также наоборот проходит. Товар добавляется в корзину только есть одинаковый адрес сайта и в настройках и в адресной строке. пытался в настройках ставить через запятую http://mysait.ru/, http://www.mysait.ru/ - так тоже не работает У Вас тоже самое? Может кто-то из опытных пользователей подскажет в чем проблема?
У меня вот другая трабла, при добавлении какого либо товара счетчик стоит на нуле, никто не знает как исправить, главное товар то добавляется в корзину, а счетчик стоит на месте. Может кто сможет помочь?
Решил эту проблему путем настройки файла .htaccess в корневой директории где лежит Joomla если его нет создайте его с помощью Блокнота только удалите .txt из имени. Обратите внимание файл имеет вид .htaccess а не htaccess.txt или .htaccess.txt В файле должно быть прописано следующее и сохранен он должен быть в директории где joomla Код: ## # @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $ # @package Joomla # @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL # Joomla! is Free Software ## ##################################################### # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE # # The line just below this section: 'Options +FollowSymLinks' may cause problems # with some server configurations. It is required for use of mod_rewrite, but may already # be set by your server administrator in a way that dissallows changing it in # your .htaccess file. If using it causes your server to error out, comment it out (add # to # beginning of line), reload your site in your browser and test your SEF url's. If they work, # it has been set by your server administrator and you do not need it set here. # ##################################################### ## Can be commented out if causes errors, see notes above. Options +FollowSymLinks # # mod_rewrite in use RewriteEngine On RewriteCond %{HTTP_HOST} ^presentall\.ru$ RewriteRule ^(.*)$ http://www.presentall.ru/ ########## Begin - Rewrite rules to block out some common exploits ## If you experience problems on your site block out the operations listed below ## This attempts to block the most common type of exploit `attempts` to Joomla! # # Block out any script trying to set a mosConfig value through the URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Block out any script that includes a <script> tag in URL RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ index.php [F,L] # ########## End - Rewrite rules to block out some common exploits # Uncomment following line if your webserver's URL # is not directly related to physical file paths. # Update Your Joomla! Directory (just / for root) # RewriteBase / ########## Begin - Joomla! core SEF Section # RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/index.php RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] RewriteRule (.*) index.php RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] # ########## End - Joomla! core SEF Section В файле может и много лишнего кода но главные две строчки тут это и распологаться они должны сразу после строки RewriteEngine On Код: RewriteCond %{HTTP_HOST} ^presentall\.ru$ RewriteRule ^(.*)$ http://www.presentall.ru/ Делают они следующее если пользователь обращается к сайту по адресу presentall.ru то сделать редирект на www.presentall.ru (который должен быть указан во всех настройках Joomla как основной адрес сайта)
После того, как понял, что страницы с полным адресом вида http://www. работают правильно, я сделал тоже самое, только проще. В панели управления сайтом поставил редирект на полное название сайта, если пользователь ввел неполное. А на прошлом хосте у меня можно было внести псевдонимы сайта и там все работало прекрасно, так как в псевдониме сайто стояло и неполное название сайта, то есть без www. Вобщем получается, что это зависит от хостинга, ну и на прямую от полного названия сайта. После исправлений проверил - работает во всех браузерах.