Задать вопрос
  • Как вывести"Вы экономите" в Opencart2?

    dim565
    @dim565
    Здравствуйте! Работает при установке для товара цены акции (не скидки), думаю это более логично.
    На странице товара
    /catalog/controller/product/product.php
    Найти:
    $data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
    Добавить после:
    $data['discount_amount'] = $this->currency->format($this->tax->calculate(($product_info['price'] - $product_info['special']), $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);

    /catalog/view/theme/default/template/product/product.tpl
    Найти:
    <li>
    <h2><?php echo $special; ?></h2>
    </li>
    Добавить после:
    <li class="discount_amount">
    <?php echo 'Вы экономите '.$discount_amount; ?>
    </li>

    На странице категории
    /catalog/controller/product/category.php
    Найти:
    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
    Добавить после:
    $discount_amount = $this->currency->format($this->tax->calculate(($result['price'] - $result['special']), $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
    Найти:
    'price'       => $price,
    'special'     => $special,
    Добавить после:
    'discount_amount' => $discount_amount,

    /catalog/view/theme/default/template/product/category.tpl
    Найти:
    <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span>
    Добавить после:
    <span class="discount_amount"><?php echo 'Вы экономите '.$product['discount_amount']; ?></span>

    Проверено на чистом OpenCart 2.3.0.2. По-хорошему, надо бы создать модификатор ocmod в формате xml, а не редактировать код напрямую, но это уже другой уровень.
    Ответ написан
    1 комментарий
  • Как сделать доступ только с 1 useragent?

    dim565
    @dim565
    Тоже возникла необходимость блокировать всех User-Agents, кроме одного (белый список). Максимум добился вот такого вида в .htaccess:
    SetEnvIfNoCase User-Agent "Chrome/40.0.2214.111 Safari/537.36 OPR/27.0.1689.69" mozno
    Order Deny,Allow
    Deny from All
    Allow from env=mozno

    Результат - доступ только с Opera 27.0.1689.69.
    Но почему-то, если пишу полный useragent, например вот так "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 OPR/27.0.1689.69" — перестаёт заходить и с Opera, хотя через access_log строчка на 100% соответствует той, что пишу.

    Можно попробовать тоже самое с RewriteEngine, но для меня первый вариант подошёл.
    Ответ написан
    Комментировать