Jump to content


Photo
- - - - -

Вывод кнопки купить


Best Answer Cheren-dow , 01 March 2014 - 19:21

axeld, доброго времени суток.

Через код можно скрыть кнопку купить следующим образом.

1. Открываем файл 

сайт\media\zoo\applications\jbuniversal\elements\jbpriceadvance\jbpriceadvance.php

Тут находим метод _renderTmplDefault

И заменяем его на 

protected function _renderTmplDefault($params)
    {
        $layout = $this->getLayout('tmpl_default.php');
        $prices = $this->_getTmplPrices($params);
        $item   = $this->getItem();
		
		$mainHash = $this->_getHash();
        $prices   = array($mainHash => $prices[$mainHash]);
        $basic    = $this->_getBasicData();

       
        return self::renderLayout($layout, array(
            'skuTmpl'           => $this->_renderSku($params),
            'balanceTmpl'       => $this->_renderBalance($params),
            'countTmpl'         => $this->_renderCount($params),
            'pricesTmpl'        => $this->_renderPrices($params, $prices),
            'buttonsTmpl'       => $this->_renderButtons($params),
            'prices'            => $prices,
            'isInCart'          => (int)$this->app->jbcart->isExists($item),

            'basketUrl'         => $this->_getBasketUrl(),
            'addToCartUrl'      => $this->app->jbrouter->element($this->identifier, $item->id, 'ajaxAddToCart'),
            'removeFromCartUrl' => $this->app->jbrouter->element($this->identifier, $item->id, 'ajaxRemoveFromCart'),
            'modalUrl'          => $this->app->jbrouter->element($this->identifier, $item->id, 'ajaxModalWindow', array(
                'elem_layout'   => $params->get('_layout'),
                'elem_position' => $params->get('_position'),
                'elem_index'    => $params->get('_index'),
            )),
			
			'balance'     			=> $prices[$mainHash]['prices'][$params->get('currency_default', 'EUR')]['price'],

            'interfaceParams'   => array(
                'currencyDefault' => $params->get('currency_default', 'EUR'),
                'startValue'      => (int)$params->get('count_default', 1),
                'multipleValue'   => (int)$params->get('count_multiple', 1),
                'advFieldText'    => (int)$this->config->get('adv_field_text', 0),
                'advAllExistShow' => (int)$this->config->get('adv_all_exists_show', 1),
            ),
        ));
    }

2. Открываем файл шаблона 

сайт\media\zoo\applications\jbuniversal\elements\jbpriceadvance\tmpl\tmpl_default.php

После этой строчки

$iniqId = uniqid('jbprice-adv-');

Пишем

$balance = (int)$balance;

Дальше находим

<?php echo $buttonsTmpl; ?>

И меняем на

<?php 
	if($balance){
		echo $buttonsTmpl;
	}
?>

 После проделанных работ кнопка добавить должна не выводится если цена равна 0

Go to the full post


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

#1 axeld

axeld
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 01 March 2014 - 16:28

Здравствуйте. Такая ситуация: У некоторых товаров нет цены. То есть 0 руб.. При этом выводится кнопка купить. Как сделать чтобы не выводилась кнопка купить если цена 0 рублей ?


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 01 March 2014 - 19:09

Добрый день.

 

Попробуйте включить эту опцию

94i_200x0.png


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 01 March 2014 - 19:21   Best Answer

axeld, доброго времени суток.

Через код можно скрыть кнопку купить следующим образом.

1. Открываем файл 

сайт\media\zoo\applications\jbuniversal\elements\jbpriceadvance\jbpriceadvance.php

Тут находим метод _renderTmplDefault

И заменяем его на 

protected function _renderTmplDefault($params)
    {
        $layout = $this->getLayout('tmpl_default.php');
        $prices = $this->_getTmplPrices($params);
        $item   = $this->getItem();
		
		$mainHash = $this->_getHash();
        $prices   = array($mainHash => $prices[$mainHash]);
        $basic    = $this->_getBasicData();

       
        return self::renderLayout($layout, array(
            'skuTmpl'           => $this->_renderSku($params),
            'balanceTmpl'       => $this->_renderBalance($params),
            'countTmpl'         => $this->_renderCount($params),
            'pricesTmpl'        => $this->_renderPrices($params, $prices),
            'buttonsTmpl'       => $this->_renderButtons($params),
            'prices'            => $prices,
            'isInCart'          => (int)$this->app->jbcart->isExists($item),

            'basketUrl'         => $this->_getBasketUrl(),
            'addToCartUrl'      => $this->app->jbrouter->element($this->identifier, $item->id, 'ajaxAddToCart'),
            'removeFromCartUrl' => $this->app->jbrouter->element($this->identifier, $item->id, 'ajaxRemoveFromCart'),
            'modalUrl'          => $this->app->jbrouter->element($this->identifier, $item->id, 'ajaxModalWindow', array(
                'elem_layout'   => $params->get('_layout'),
                'elem_position' => $params->get('_position'),
                'elem_index'    => $params->get('_index'),
            )),
			
			'balance'     			=> $prices[$mainHash]['prices'][$params->get('currency_default', 'EUR')]['price'],

            'interfaceParams'   => array(
                'currencyDefault' => $params->get('currency_default', 'EUR'),
                'startValue'      => (int)$params->get('count_default', 1),
                'multipleValue'   => (int)$params->get('count_multiple', 1),
                'advFieldText'    => (int)$this->config->get('adv_field_text', 0),
                'advAllExistShow' => (int)$this->config->get('adv_all_exists_show', 1),
            ),
        ));
    }

2. Открываем файл шаблона 

сайт\media\zoo\applications\jbuniversal\elements\jbpriceadvance\tmpl\tmpl_default.php

После этой строчки

$iniqId = uniqid('jbprice-adv-');

Пишем

$balance = (int)$balance;

Дальше находим

<?php echo $buttonsTmpl; ?>

И меняем на

<?php 
	if($balance){
		echo $buttonsTmpl;
	}
?>

 После проделанных работ кнопка добавить должна не выводится если цена равна 0


  • 0
Изображение
 




Click to return to top of page in style!