Проблема с формированием страницы заказа и мини-корзиной

5 года 3 мес. назад #4077 от RRR
Доброго времени суток!
Есть небольшие проблемы, но нигде не могу найти ответов. Думаю это будет не сложно для знатоков PHP.
Сам только недавно начал изучать. Поэтому прошу помощи!
Магазин на Joomla 2.5.6. + Virtuemart 2.0.6 и все вроде бы замечательно, кроме:

1) если находишься на главной странице магазина и кликаешь на ссылку "show cart" в мини-корзине, то формируется страница оформления заказа прямо на этой главной странице. А у меня там не маленькая галерея, созданная из главного модуля Virtuemart. И оформление заказа формируется в самом низу, под этой галереей. Пользователь соответственно не видит ничего. Если переходишь из других разделов сайта, то все нормально, формируется новая страница заказа. Загвоздка только с главной страницей. Подозреваю, что надо бы подправить ссылку, чтобы формировалась новая страница или как альтернатива поставить якорь.... но как?
Вот кусок кода, который отвечает за вывод основной корзины/страницы заказа, хотя я не уверен точно:
$data->cart_show = '<a class="vm_viewcart" href="' . JRoute::_("index.php?option=com_virtuemart&view=cart") . '">' . JText::_('COM_VIRTUEMART_CART_SHOW_MODAL') . '</a>';
$data->billTotal = $lang->_('COM_VIRTUEMART_CART_TOTAL').' : <strong>'. $data->billTotal .'</strong>';

2) В магазине используется в качестве мини-корзины модуль ICE VM CART, нормально работает, только почему после завершения заказа эта корзина не обнуляется, не становиться пустой? Может есть решение?

Всем заранее спасибо.

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

5 года 3 мес. назад #4080 от Wedal
RRR,
1) Ваша галерея, как я понимаю, привязана только к определенным страницам сайта. Создайте скрытое меню и добавьте в него ссылку на главную страницу Virtuemart. Затем убедитесь, что у модуля галереи не стоит галочка отображения для этого пункта меню. После этого все должно работать правильно.

2) Не использовал ICE VM CART, не знаю.
Спасибо сказали: RRR

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

5 года 3 мес. назад - 5 года 3 мес. назад #4086 от RRR
Попробовал не получилось.... :( Страница заказа упорно формируется на странице галереи внизу и пользователь ее не видит, потому как ему нужно прокрутить всю галерею и только в конце будет страница заказа.
Может я плохо объяснил?
Есть основное меню, в этом меню один из пунктов называется Gallery. Gallery это главная страница Virtiemart + привязан модуль Virtuemart Товары, который и есть эта галерея и отображается он, т.е. привязка модуля только на одной странице Gallery. Так вот, когда находишься на этой странице и кликаешь на "оформить заказ", то страница оформления заказа формируется тут же, но в самом низу. А если из других разделов сайта, например из какой-нибудь категории, то все нормально, формируется новая страница. Нужно чтобы всегда формировалась новая страница заказа.

Создал новое скрытое меню с ссылкой на главную Virtuemart. И поменял Gallery сделав не главной страницей Virtuemart. Результат тот же :(

вот так выглядит URL, когда находишься на странице галереи: site.ru/gallery.html
a вот так, когда нажимаешь "оформить заказ": site.ru/gallery/view/cart.html

В общем не знаю....

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

5 года 3 мес. назад #4090 от Wedal
RRR, модули привязываются к страницам по параметру ItemID. Он есть в URL(видно, когда отключен SEF). Так вот. ItemID - это, по сути, ID пункта меню, к которому привязывается модуль. Если URL не имеет ItemID, то Joomla не знает, показывать или нет модуль для этой страницы и по умолчанию показывает. Проверьте есть ли у страницы корзины ItemID. Если нет, это означает, что Virtuemart не привязан к пункту меню.

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

5 года 3 мес. назад #4092 от RRR
Спасибо за наводку...ItemId! Сейчас все получилось! Не знаю насколько профессионально я все сделал, где-то "методом тыка", но все замечательно. Теперь страница заказа/основная корзина всегда формируется на новой странице.

Опишу как все получилось, может кому пригодится...

1) Создаем скрытое меню с пунктом "Корзина" Virtuemart. Т.е. назначаем этот пункт "корзиной", при выборе из списка.
После сохранения доступен Id этого пункта меню. (Возможно такой пункт меню уже создан, тогда нужно только узнать ID)

2) Далее,находим документ.php который формирует ссылку (или код формирования этой ссылки) в мини-корзине, т.е. обычно это кнопка "show cart" или "оформить заказ". (Тут конечно все индивидуально, потому как у кого-то используются разные модули мини-карт)

3) У меня был код, отвечающий за формирование этой ссылки, такого вида:
$data->cart_show = '<a class="vm_viewcart" href="' . JRoute::_("index.php?option=com_virtuemart&view=cart") . '">' . JText::_('COM_VIRTUEMART_CART_SHOW_MODAL') . '</a>';

я изменил, просто добавив &Itemid=171, где id=171 это ID пункта меню "корзина", теперь код выглядит так:

$data->cart_show = '<a class="vm_viewcart" href="' . JRoute::_("index.php?option=com_virtuemart&view=cart&Itemid=171") . '">' . JText::_('COM_VIRTUEMART_CART_SHOW_MODAL') . '</a>';

Вот и все. Все заработало!

Остался открытым второй вопрос.... о модуле мини-корзины ICE VM CART.
На самом деле, дело не в модуле. Любая мини-корзина на сайте не обнуляется, после завершения покупки.
Может дело в кеше? Или возможно из за того, что не активирован (до конца) не один способ оплаты? Сайт пока в тестовом режиме....
И купить-то что-то можно(в этом плане все работает, т.к. количество товаров уменьшается после покупки), но может операция считается "не до конца завершенной"? Из за этого корзина не становится "пустой"....

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


Вверх