Jump to content


Photo
- - - - -

Корзина появляющаяся только после заказа


Best Answer joejoker , 08 August 2013 - 19:54

К сожалению alexmixaylov, не совсем прав. В шаблоне можно всего лишь убрать надпись "Ваша корзина пуста". При этом сам модуль будет отрендерен.

 

Для того чтобы модуль выводился только тогда, когда в корзине что то есть, нужно править файл модуля mod_jbzoo_basket.php. Но, Вы должны учитывать то, что данное изменение может затереться при обновлении. Это раз. А во-вторых, корзина будет отрисована только после обновления страницы, или переходе на другую.

 

В общем, для того что бы спрятать сам модуль, когда в корзине ничего нет, нужно в данном файле, сразу после строки:

require_once dirname(__FILE__) . DS . 'helper.php';

Добавить вот этот код:


$basketHelper = new JBZooBasketHelper($params);
$basketItems = $basketHelper->getBasketItems();
if(!empty($basketItems)){

А закрывающую, фигурную скобку поместить в самом конце файла.

 

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

 

Дело в том что на данном этапе, нет полной ajax синхронизации модуля с самой корзиной.

 

 

Go to the full post


  • This topic is locked This topic is locked
6 replies to this topic

#1 registr

registr
  • JBZoo User (rus)
  • User rate: 0
  • posts: 1210
  • topics: 345

Posted 08 August 2013 - 08:18

Можно ли сделать чтоб модуль корзины отображался только после того как покупатель что-то закажет?


  • 0

#2 alexmixaylov

alexmixaylov
  • JBZoo User (rus)
  • User rate: 7.7
  • posts: 679
  • topics: 142

Posted 08 August 2013 - 10:57

Легко

Нужно править default.php корзины


  • 0

#3 registr

registr
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 1210
  • topics: 345

Posted 08 August 2013 - 18:11

в ПХП не силен, может подскажете какой именно файл и что там поменять?


  • 0

#4 joejoker

joejoker
  • JBZoo User (rus)
  • User rate: 6.8
  • posts: 305
  • topics: 5

Posted 08 August 2013 - 19:54   Best Answer

К сожалению alexmixaylov, не совсем прав. В шаблоне можно всего лишь убрать надпись "Ваша корзина пуста". При этом сам модуль будет отрендерен.

 

Для того чтобы модуль выводился только тогда, когда в корзине что то есть, нужно править файл модуля mod_jbzoo_basket.php. Но, Вы должны учитывать то, что данное изменение может затереться при обновлении. Это раз. А во-вторых, корзина будет отрисована только после обновления страницы, или переходе на другую.

 

В общем, для того что бы спрятать сам модуль, когда в корзине ничего нет, нужно в данном файле, сразу после строки:

require_once dirname(__FILE__) . DS . 'helper.php';

Добавить вот этот код:


$basketHelper = new JBZooBasketHelper($params);
$basketItems = $basketHelper->getBasketItems();
if(!empty($basketItems)){

А закрывающую, фигурную скобку поместить в самом конце файла.

 

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

 

Дело в том что на данном этапе, нет полной ajax синхронизации модуля с самой корзиной.

 

 


  • 0
В мире все совсем не сложно, если самому не усложнять.
Разработка индивидуальных решений для ZOO /JBZoo /Joomla

#5 alexmixaylov

alexmixaylov
  • JBZoo User (rus)
  • User rate: 7.7
  • posts: 679
  • topics: 142

Posted 08 August 2013 - 21:02

Я пробовал у себя удалить вывод 

 

else {
    echo '<p>' . JText::_('JBZOO_CART_ITEMS_NOT_FOUND') . '</p>';

 

в конце упомянутого файла

оставил только 

 

else {
    echo '';
 
или сделать так
else {
    echo '<div class="clr"></div>';
 
работает в обоих случаях
 
Насколько это правильно,  не могу сказать, наверное не очень :)
затрется при обновлении 100%
 
но работает и аякс, кстати тоже норм

 


  • 0

#6 joejoker

joejoker
  • JBZoo User (rus)
  • User rate: 6.8
  • posts: 305
  • topics: 5

Posted 09 August 2013 - 04:32

alexmixaylov, Я про это и говорил. Так вы удаляете только надпись "Ваша корзина пуста". Весь остальной html код, включая код от самой joomla будет отрендерен. Если у модуля задан заголовок, то он тоже будет отрисован. 


  • 0
В мире все совсем не сложно, если самому не усложнять.
Разработка индивидуальных решений для ZOO /JBZoo /Joomla

#7 alexmixaylov

alexmixaylov
  • JBZoo User (rus)
  • User rate: 7.7
  • posts: 679
  • topics: 142

Posted 09 August 2013 - 13:11

Я понял, если задать модулю оформление, имя, рамку картинку фоновую и т.д это все прорисуется  в любом случае

у меня пока голая корзина(кроме надписи ничего нет) поэтому все работает норм

 

спс за ликбез


  • 0




Click to return to top of page in style!