Перейти к содержанию
cherkas

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

Рекомендуемые сообщения

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

 

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

Изменено пользователем 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.