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

Сделать отображение всех акционных цена на странице продукта.


Recommended Posts

Сделать отображение всех акционых цена на странице продукта.

Есть пять груп Default, Opt1, Opt2, Opt3, Opt4.

Для каждой групы своя цена указана через акции.

Нужно на странице продукта сделать вывод цен:

Розница (Default): 820.00 руб.

Опт1: 780.00 руб.

Опт2: 750.00 руб.

Опт3: 735.00 руб.

Опт4: 725.00 руб.

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


как вариант (вместо "Розница (Default): 820.00 руб." стандартный вывод цены):

[=== catalog/controller/product/product.php ===]

перед

$this->data['options'] = array();
добавить

			$this->load->model('account/customer_group');
			$customerGroupsList = $this->model_account_customer_group->getCustomerGroups();
			
			if ($this->customer->isLogged()) {
				$webme_customer_group_id = $this->customer->getCustomerGroupId();
			} else {
				$webme_customer_group_id = $this->config->get('config_customer_group_id');
			}
			foreach ($customerGroupsList as $customerGroup) {
				if ($customerGroup['customer_group_id'] != $webme_customer_group_id) {
					$customerGroupName = $customerGroup['name'];
					
					$webmeSpecial = $this->model_catalog_product->getWholeProductSpecialData($this->request->get['product_id'], $customerGroup['customer_group_id']);
					
					if ($webmeSpecial) {
						$this->data['webmeSpecials'][] = array(
							'price'    => $this->currency->format($this->tax->calculate($webmeSpecial['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))),
							'customerGroup' => $customerGroupName
						);
					}
				}
			}
[=== catalog/model/catalog/product.php ===]

перед

public function getProductSpecials($data = array()) {
добавить

	public function getWholeProductSpecialData($product_id, $customer_group_id_listed) {
		$query = $this->db->query("SELECT `price`, `date_end`, `customer_group_id` FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id_listed . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1");

		if ($query->num_rows) {
			return $query->row;
		} else {
			return FALSE;
		}
	}
[=== catalog/view/theme/default/template/product/product.tpl ===]

где надо, например перед

      </div>
      <?php } ?>
      <?php if ($options) { ?>
добавить

        <?php if ($webmeSpecials) { ?>
        <br />
        <div class="discount">
          <?php foreach ($webmeSpecials as $webmeSpecial) { ?>
			<?php echo "Для группы ".$webmeSpecial['customerGroup'].": ".$webmeSpecial['price'].""; ?>
			<br />
          <?php } ?>
        </div>
        <?php } ?>
обратите внимание:

текст "Для группы " забит прямо в код в шаблоне.

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

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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