Jump to content
Sign in to follow this  
cherkas

Получить переменную с сумой в корзине в фаил product.tpl и id главной категории этого товара

Recommended Posts

Собственно вопрос в теме.

 

Нужно не выводить кнопку купить в продуктах одной из категорий если сумма покупок меньше заданой

Edited by cherkas

Share this post


Link to post
Share on other sites

Мой модуль "Персонализованные шаблоны" для того чтобы была возможность назначать отдельный шаблон для категорий. Далее делаем копию шаблона category.tpl называем ее category_add_to_cart_off.tpl. В нее добавляем примерно такой алгоритм:

$cart_total = $this->cart->getTotal(); //это не точно. Описание класса cart вот здесь http://halfhope.ru/2014/05/30/%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BE%D0%B4-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2-opencart-1/

if($cartTotal >= 3000){
   //Показать
}

Share this post


Link to post
Share on other sites

Этим модулем я могу спрятать кнопку купить в категории, это хорошая подсказка, Вам + (не могу поставить только). Но этот модуль не решает мою проблему, я спрашивал про product.tpl

Share this post


Link to post
Share on other sites

Пробовал вставить Ваш код в product.php в контроллере и в product.tpl соответственно, но не заработало, ошибка вывода переменной $cartTotal

Share this post


Link to post
Share on other sites

Для показа содержимого переменных используйте var_dump($varname);

Edited by halfhope

Share this post


Link to post
Share on other sites

экспериментальным методом пока получил переменную, но только с руб. в конце
 

public function index() { 
	

				$this->language->load('module/cart');

	

		// Totals
		$this->load->model('setting/extension');

		$total_data = array();					
		$total = 0;
		$taxes = $this->cart->getTaxes();

		// Display prices
		if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
			$sort_order = array(); 

			$results = $this->model_setting_extension->getExtensions('total');

			foreach ($results as $key => $value) {
				$sort_order[$key] = $this->config->get($value['code'] . '_sort_order');
			}

			array_multisort($sort_order, SORT_ASC, $results);

			foreach ($results as $result) {
				if ($this->config->get($result['code'] . '_status')) {
					$this->load->model('total/' . $result['code']);

					$this->{'model_total_' . $result['code']}->getTotal($total_data, $total, $taxes);
				}

				$sort_order = array(); 

				foreach ($total_data as $key => $value) {
					$sort_order[$key] = $value['sort_order'];
				}

				array_multisort($sort_order, SORT_ASC, $total_data);			
			}		
		}

		$this->data['totals'] = $total_data;

		$this->data['heading_title'] = $this->language->get('heading_title');

		$this->data['text_items'] = sprintf($this->currency->format($total));

...

 
 
тут наверняка есть лишнее

а в tpl следуюший код
 

$totalcart = explode(' ', $text_items, 2);

<?php echo $totalcart[0]; ?>

криво конечно, но по другому у меня не получается.

 

Я не очень хорошо знаю php по этому, честно даже понятия не имею куда вписать var_dump($varname);

Edited by cherkas

Share this post


Link to post
Share on other sites

Какая версия?

Share this post


Link to post
Share on other sites

OCSHOP Версия 1.5.6.4.1

 

кусок указанного кода контроллера взял из модуля корзины

Edited by cherkas

Share this post


Link to post
Share on other sites

У меня $this->cart->getTotal(); выводит float 1427.9528, что правильно, без руб.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.