Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


cherkas

Recommended Posts

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

 

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

Змінено користувачем cherkas
Надіслати
Поділитися на інших сайтах

Мой модуль "Персонализованные шаблоны" для того чтобы была возможность назначать отдельный шаблон для категорий. Далее делаем копию шаблона 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){
   //Показать
}
Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах

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

Змінено користувачем halfhope
Надіслати
Поділитися на інших сайтах

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

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);

Змінено користувачем cherkas
Надіслати
Поділитися на інших сайтах

OCSHOP Версия 1.5.6.4.1

 

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

Змінено користувачем cherkas
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.