Помощь Вывести цену скидки другой группы

romzes6961

Гуру форума
Регистрация
6 Дек 2014
Сообщения
141
Реакции
85
Есть две цены, одна та что указывается в карточке товара, вторая создана в скидках для группы оптовики от 1 единицы.Нужно вывести для покупателей кто не в группе оптовики две цены,розничную и оптовую.как скидка не выводиться потому что другая группа покупателей при заходе на сайт.
как будет выглядеть условия для вывода со скидкы группы оптовики с количеством 1???
пробовал так с указанием id группы не помогло, да я и в php не особо разбераюсь(
опенкарт 2.1.0.1
Код:
<?php foreach ($product['discounts'] as $discount) { ?> <?php if ($discount['product_discount[customer_group_id]'] == 2) { ?> <?php echo $discount['price']; ?> <?php } ?> <?php } ?>
кто что подскажет?
 
Нужно вывести для покупателей кто не в группе оптовики две цены,розничную и оптовую.
Но доступна будет только розничная? Оптовая только для ознакомления?
Вопрос еще актуален? А то ответа на мои вопросы так и не услышал.
 
Последнее редактирование:
Я задавал подобные вопросы на форумах OCF, OCFR. Все заканчивается тем, что вы должны кого-то нанять и за нормальные бабки, и вам запилят. Если предложить небольшие бабки, то обижаются. Бесплатно разбираться мало кто будет. Так что нужно искать головастого программиста, сам в такой ситуации.
 
Вот решение для 1.5.5.1, можете перековырять и сделать по типу.

1 - В файл catalog/controller/product/product.php
дописываете:


Код:
            $this->load->model('account/customer_group');
            $customerGroupsList = $this->model_account_customer_group->getCustomerGroups();
         
            $this->data['wholeSpecials'] = array();
            if ($this->customer->isLogged()) {
                $ws_customer_group_id = $this->customer->getCustomerGroupId();
            } else {
                $ws_customer_group_id = $this->config->get('config_customer_group_id');
            }
            foreach ($customerGroupsList as $customerGroup) {
                if ($customerGroup['customer_group_id'] != $ws_customer_group_id) {
                    $customerGroupName = $customerGroup['name'];
                 
                    $wholeSpecial = $this->model_catalog_product->getWholeProductSpecialData($this->request->get['product_id'], $customerGroup['customer_group_id']);
                 
                    if ($wholeSpecial) {
                        $this->data['wholeSpecials'][] = array(
                            'price'    => $this->currency->format($this->tax->calculate($wholeSpecial['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))),
                            'customerGroup' => $customerGroupName
                        );
                    }
                }
            }


2 - В файл 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;
        }
    }
3 - В нужное место карточки товара в файл tpl
Код:
        <?php if ($wholeSpecials) { ?>
        <br />
        <div class="discount">
          <?php foreach ($wholeSpecials as $wholeSpecial) { ?>
            <?php echo "Для группы ".$wholeSpecial['customerGroup'].": ".$wholeSpecial['price'].""; ?>
            <br />
          <?php } ?>
        </div>
        <?php } ?>
Все.
 
Последнее редактирование модератором:
Назад
Сверху