LordBelial 0 Опубликовано 14 марта, 2014 Жалоба Share Опубликовано 14 марта, 2014 По умолчанию, в стандартном шаблоне две корзины. Одна (с лева) полностью работает на Ajax (т.е. добавляются без перезагрузки страницы), а та, которая в верхнем Main Menu (cart-content-box-pull), показывает товар только перезагрузки страницы. В админке Настройки-Магазин "Разрешить Ajax" поставил "Да" , но изменений не заметил. Верхняя корзина, для отображения товаров, просит перезагрузку. Как включить (сделать) Ajax для верхней корзины, что бы товары появлялись там без перезагрузки страницы, как в VamShop1? И где хранятся js скрипты от этих корзин? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 марта, 2014 Жалоба Share Опубликовано 15 марта, 2014 Пока что никак, может в будущих версиях верхняя тоже станет ajax. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 15 марта, 2014 Автор Жалоба Share Опубликовано 15 марта, 2014 И где хранятся js скрипты от этих корзин? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 марта, 2014 Жалоба Share Опубликовано 15 марта, 2014 js код в /app/Vendor/smarty/vam_plugins/block.product_form.php php код в /app/Controller/CartController.php Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 15 марта, 2014 Автор Жалоба Share Опубликовано 15 марта, 2014 Спасибо. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 23 марта, 2014 Автор Жалоба Share Опубликовано 23 марта, 2014 Инструкция как допилить Ajax для корзины в верхнем меню при условии, что боковая корзина не нужна. в /app/Controller/CartController.php меняем if ($this->RequestHandler->isAjax()) { $this->Smarty->display("{shopping_cart template='cart-content-box'}"); die(); } else { $this->redirect('/product/' . $content['Content']['alias'] . $config['URL_EXTENSION']); } на if ($this->RequestHandler->isAjax()) { $this->Smarty->display("{shopping_cart template='cart-content-box-pull'}"); die(); } else { $this->redirect('/product/' . $content['Content']['alias'] . $config['URL_EXTENSION']); } из файла app/webroot/js/vamshop.js удаляем // Shoping cart SHOW/HIDE // ----------------------------------------------------------------------------- $('.shopping-cart .cart').hover( function(){ $('.shopping-cart .cart-dropdown').show(); }, function (){ $('.shopping-cart .cart-dropdown').hide(); } ); $('.shopping-cart .cart-dropdown').bind({ mouseenter: function(){ $(this).show(); }, mouseleave: function(){ $(this).hide(); } }); $('ul.icons.check a').click(function(){ if ($(this).closest('li').hasClass('on')) { $(this).closest('li').removeClass('on'); return false; } else { $(this).closest('li').addClass('on'); return false; } }); создаем фаил app/webroot/js/cart.js с кодом // Shoping cart SHOW/HIDE // ----------------------------------------------------------------------------- $('.shopping-cart .cart').hover( function(){ $('.shopping-cart .cart-dropdown').show(); }, function (){ $('.shopping-cart .cart-dropdown').hide(); } ); $('.shopping-cart .cart-dropdown').bind({ mouseenter: function(){ $(this).show(); }, mouseleave: function(){ $(this).hide(); } }); $('ul.icons.check a').click(function(){ if ($(this).closest('li').hasClass('on')) { $(this).closest('li').removeClass('on'); return false; } else { $(this).closest('li').addClass('on'); return false; } }); в Админке - Оформление - Микро шаблоны открывает cart-content-box-pull и конце прописываем <script type="text/javascript" src="{base_path}/js/cart.js"></script> В основном шаблоне метку {shopping_cart template='cart-content-box-pull'} "обёртываем" в блок <div id="shopping-cart-box"></div> , т.е. у на должно получиться <div id="shopping-cart-box"> {shopping_cart template='cart-content-box-pull'} </div> ===================================================== Возможно можно и как-нибудь по другому сделать сверху Аякс корзину, поэтому кому надо думайте и решайте сами ;) Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 23 марта, 2014 Автор Жалоба Share Опубликовано 23 марта, 2014 И все же это костыль, который "на коленках" получи доделать. До полноценной Аякс корзины не дотягивает. Надеюсь разработчики в ближайшее время исправят этот косяк и сделают полноценную Аякс корзину. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 23 марта, 2014 Жалоба Share Опубликовано 23 марта, 2014 Почему костыль? Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 23 марта, 2014 Автор Жалоба Share Опубликовано 23 марта, 2014 потому что когда удаляешь из этой корзины товар страница перезагружается, а по хорошему товар должен удаляться без перезагрузки страницы Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 23 марта, 2014 Автор Жалоба Share Опубликовано 23 марта, 2014 Мне кажется, что есть более изящное решение, но мне было замарачиться лень :) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 марта, 2014 Жалоба Share Опубликовано 24 марта, 2014 Это да, пока только добавление ajax. Ссылка на сообщение Поделиться на другие сайты
LordBelial 0 Опубликовано 24 марта, 2014 Автор Жалоба Share Опубликовано 24 марта, 2014 Ещё в /app/Vendor/smarty/vam_plugins/functions.shopping_cart.php закомментировать: // Quit if we passed the param and the cart is empty if ((!isset($params['showempty']))||($params['showempty'] == false)) { //echo '<div id="shopping-cart-box"></div>'; return; } Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения