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

Сдвигаються "Сопуствующие товары" в карточке товара OCStore 2.1.0


StrikerXP

Recommended Posts

Стоит модуль Bulk specials editor + the countdown timer. И на товарных позициях в которых включена акция с этим таймером идет сдвиг Сопутствующих товаров. На фото сверху то как выглядят товары с таймером, с низу без. Из того что я нашел проблема вероятно кроется в этом участке кода (фото 2). Как это исправить?

вав.jpg

 

21.jpg

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


45 минут назад, StrikerXP сказал:

Стоит модуль Bulk specials editor + the countdown timer. И на товарных позициях в которых включена акция с этим таймером идет сдвиг Сопутствующих товаров. На фото сверху то как выглядят товары с таймером, с низу без. Из того что я нашел проблема вероятно кроется в этом участке кода (фото 2). Как это исправить?

вав.jpg

 

21.jpg

А в поддержке модуля что говорят?

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


11 минут назад, StrikerXP сказал:

Поддержки уже нет. Сайт закрыт

Странно. Я только что смотрел на офсайте- автор присутствует в обсуждении. Возможно вы качали не с офсайта?

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


Я его уже тоже нашел на этом форуме но он больше не заниматься поддержкой
 

  

В 14.12.2020 в 16:09, kagan сказал:

Данный модуль больше не поддерживается автором (с 14/12/2020), любые вопросы/ошибки будут проигнорированы.

 

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


4 минуты назад, StrikerXP сказал:

Я его уже тоже нашел на этом форуме но он больше не заниматься поддержкой
 

  

 

Печаль

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


13 минут назад, StrikerXP сказал:

Я его уже тоже нашел на этом форуме но он больше не заниматься поддержкой
 

  

 

Смотрите в модификаторе что именно ломает верстку и исправьте под свой шаблон. Или если нет знаний- в платные услуги обратитесь

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


4 часа назад, StrikerXP сказал:

Стоит модуль Bulk specials editor + the countdown timer. И на товарных позициях в которых включена акция с этим таймером идет сдвиг Сопутствующих товаров. На фото сверху то как выглядят товары с таймером, с низу без. Из того что я нашел проблема вероятно кроется в этом участке кода (фото 2). Как это исправить?

 

где-то неправильно закрываются теги. в одном случае сопутка в <div id="content">, в другом случае нет.

кроме того, вставлены непонятно зачем какие-то левые теги <div class="clearfix visible-md"></div>

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

31 минуту назад, Blast сказал:

где-то неправильно закрываются теги. в одном случае сопутка в <div id="content">, в другом случае нет.

кроме того, вставлены непонятно зачем какие-то левые теги <div class="clearfix visible-md"></div>

Да, в этом участке after идет после div, а должно быть перед (в предыдущем фото я неверно скриншот сделал). Слева - как должно быть, справа - как недолжно. Но как это исправить?

 

21.thumb.jpg.486700d33de4f138c2a1cd7549b12b74.jpg 

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


2 минуты назад, StrikerXP сказал:

Да, в этом участке after идет после div, а должно быть перед (в предыдущем фото я неверно скриншот сделал). Слева - как должно быть, справа - как недолжно. Но как это исправить?

 

21.thumb.jpg.486700d33de4f138c2a1cd7549b12b74.jpg 

Искать что модифицирует верстку

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


3 минуты назад, StrikerXP сказал:

Искал, не могу найти

Ну пойдем от логики:

Если отключить модификатор модуля Bulk- проблема остается? Отключить модификатор, обновить кеш модификаторов, проверить состояние страницы

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


Только что, Dimasscus сказал:

Ну пойдем от логики:

Если отключить модификатор модуля Bulk- проблема остается? Отключить модификатор, обновить кеш модификаторов, проверить состояние страницы

Если даже отключить "Таймер" в настройках модуля проблема исчезает. Но тогда из этого модуля толку особо нет:)

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


Цитата

<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name>Bulk specials editor + the countdown timer</name>
  <version>3.2.6</version>
  <author>Dashko L. (kagan). Email: [email protected]</author>
  <code>Bulk specials editor + the countdown timer</code>
  <link>http://opencart-modules.com</link>

<!--
  *******************************************************************************
  *  Module: Bulk specials editor + the countdown timer
  *  
  *  Web-site: http://opencart-modules.com
  *  Email: [email protected]
  *  © Leonid Dashko
  *
  *  Below source-code or any part of the source-code cannot be resold or distributed.
  ******************************************************************************
-->

<!-- Output timer on the detailed product page -->
<file path="catalog/model/catalog/product.php">
  <operation error="log">
    <search><![CDATA[getProduct($product_id) {]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    $this->load->model('extension/module/timer');
    $timer_exist = $this->model_extension_module_timer->checkExistenceExtension('module', 'timer');
    
    $timer_query = '';

    if($timer_exist){
      $timer_query .= "
        (SELECT date_start FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND (ps.date_start = '0000-00-00' OR ps.date_start < NOW()) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS date_start, 
        (SELECT date_end FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS date_end, 
        (SELECT timer FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS timer, ";
    }
    
    $hours_days = ($hours_days = $this->config->get('hours_and_days_settings')) ? $hours_days['module_status'] : false;
    
    if($hours_days){
        $timer_query .= "
            (SELECT weekdays FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int) $this->config->get('config_customer_group_id') . "' AND (ps.date_start = '0000-00-00' OR ps.date_start < NOW()) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS weekdays,
            (SELECT hours FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int) $this->config->get('config_customer_group_id') . "' AND (ps.date_start = '0000-00-00' OR ps.date_start < NOW()) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS hours, ";
    }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[pd.name AS name, p.image,]]></search>
    <add position="replace"><![CDATA[ pd.name AS name, p.image, $timer_query ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[$query->row['date_modified'],]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    'timer'          => ($timer_exist) ? $query->row['timer'] : '',
    'date_start'     => ($timer_exist) ? $query->row['date_start'] : '',
    'date_end'       => ($timer_exist) ? $query->row['date_end'] : '',
    'datetime_end'   => ($hours_days && !is_null($query->row['date_end'])) ? $this->model_extension_module_timer->getFullDateTime($query->row['date_end'], $query->row['weekdays'], $query->row['hours']) : '',
    /* Bulk Specials Editor */
    ]]></add>
   </operation>
</file>

<file path="catalog/controller/product/product.php">
  <operation error="log">
    <search><![CDATA[if ((float)$product_info['special']) {]]></search>
    <add position="replace"><![CDATA[
    /* Bulk Specials Editor */
    $this->load->model('extension/module/timer');
    $timer_exist = $this->model_extension_module_timer->checkExistenceExtension('module', 'timer');

    $hours_days = ($hours_days = $this->config->get('hours_and_days_settings')) ? $hours_days['module_status'] : false;

    $data['timer_custom_css_styles'] = $this->model_extension_module_timer->getCustomCSSStyles();

    $this->load->language('extension/module/timer');
    $data['text_timer_heading'] = $this->language->get('text_timer_heading');

    $data['timer'] = false; 
    $timer_settings = $this->config->get('timer_general_settings');

    $data['discount_label'] = isset($timer_settings['timer_product_page_discount_label_status']) ? 1 : 0;

    if ((float)$product_info['special']) {
      if($timer_exist && isset($timer_settings['timer_product_page_status'])){
        $product_info['date_end'] = ($hours_days && isset($product_info['datetime_end'])) ? $product_info['datetime_end'] : $product_info['date_end'];

        $data['special_date_diff'] = $this->model_extension_module_timer->getSpecialDateDiff($product_info['date_end']);
        $data['percentage_discount'] = $this->model_extension_module_timer->calculateTotalDiscount($product_info['price'], $product_info['special']);
        $data['timer'] = $product_info['timer'];

        // Load .js files and .css if we need it 
        $this->document->addStyle('catalog/view/javascript/timer/css/timer.css');
        $this->document->addScript('catalog/view/javascript/timer/jquery.plugin.min.js');
        $this->document->addScript('catalog/view/javascript/timer/jquery.countdown.min.js');


        $lang = mb_strtolower($this->language->get('code'));

        if ($lang !== 'en') {
            $this->document->addScript('catalog/view/javascript/timer/jquery.countdown-' . $lang . '.js');
        }
      } else {
        $data['timer'] = false;
      }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>    

<file path="catalog/view/theme/*/template/product/product.tpl">
  <operation error="log">
    <search><![CDATA[<?php if ($price]]></search>
    <add position="before"><![CDATA[
    <?php /* Bulk Specials Editor */ ?>
    <?php if($timer){ ?>
    <?php echo $timer_custom_css_styles;?>
    <div class="product-timer-block">
      <div class="prices-block">
        <span class="special-price"><?php echo $special; ?></span>
        <span class="old-price"><?php echo $price; ?></span>
      </div>
      <div class="timer">
        <div class="text"><?php echo $text_timer_heading; ?></div>
        <div class="countdown"></div>
      </div>
      <div class="clearfix"></div>
    </div>

    <script type="text/javascript">
      $(document).ready(function() {
        $('.countdown').opencartCountdown({until: <?php echo $special_date_diff; ?>});
      });
    </script>

    <ul class="list-unstyled">
      <?php if ($tax) { ?>
      <li><?php echo $text_tax; ?> <?php echo $tax; ?></li>
      <?php } ?>
      <?php if ($points) { ?>
      <li><?php echo $text_points; ?> <?php echo $points; ?></li>
      <?php } ?>
      <?php if ($discounts) { ?>
      <li>
        <hr>
      </li>
      <?php foreach ($discounts as $discount) { ?>
      <li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?></li>
      <?php } ?>
      <?php } ?>
    </ul>

    <?php } ?>
    <?php /* Bulk Specials Editor */ ?>
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[if ($price)]]></search>
    <add position="replace"><![CDATA[if ($price /* Bulk Specials Editor */ && !$timer  /* Bulk Specials Editor */)]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[<ul class="thumbnails">]]></search>
    <add position="before"><![CDATA[
    <?php /* Bulk Specials Editor */ ?>
    <?php if(isset($timer) && $discount_label && isset($percentage_discount)){ ?>
    <div class="discount-sticker">
      - <?php echo $percentage_discount; ?>%
    </div>
    <?php } ?>
    <?php /* Bulk Specials Editor */ ?>
    ]]></add>
  </operation>

  <!-- /* Integration with UniShop theme (should also disable "$price" replacement ) */ -->
  <!-- <operation error="log">
    <search><![CDATA[<li><span class="old_price"><?php echo $price; ?></span><span><?php echo $special; ?></span></li>]]></search>
    <add position="replace"><![CDATA[<li style="<?php echo ($timer ? 'display: none;' : ''); ?>"><span class="old_price"><?php echo $price; ?></span><span><?php echo $special; ?></span></li>]]></add>
  </operation>
  <operation error="log">
    <search index="1"><![CDATA[<hr />]]></search>
    <add position="replace"><![CDATA[]]></add>
  </operation>
  -->
</file>


<!-- Output timer on category/special pages and in modules -->
<!-- Count all timers and load scripts/styles -->
<file path="catalog/controller/product/category.php|catalog/controller/product/special.php|catalog/controller/product/manufacturer.php|catalog/controller/product/search.php|catalog/controller/module/featured.php|catalog/controller/module/bestseller.php|catalog/controller/module/latest.php|catalog/controller/module/special.php">
  <operation error="log">
    <search><![CDATA[public function index(]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    private $total_timers = 0;
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[$this->load->model('catalog/product');]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    $this->load->model('extension/module/timer');
    $timer_exist = $this->model_extension_module_timer->checkExistenceExtension('module', 'timer');
    
    $hours_days = ($hours_days = $this->config->get('hours_and_days_settings')) ? $hours_days['module_status'] : false;

    $this->load->language('extension/module/timer');
    $data['text_timer_on_products_page'] = $this->language->get('text_timer_on_products_page');
    
    $timer_settings = $this->config->get('timer_general_settings');
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[$price,]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    'special_date_diff'  => $timer == 1 ? $special_date_diff : '',
    'percentage_discount'=> $timer == 1 ? $percentage_discount : '',
    'timer'              => $timer,
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="skip">
    <search><![CDATA[$data['header']]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    if($this->total_timers > 0) {
      # Loading custom styles for timer 
      $data['timer_custom_css_styles'] = $this->model_extension_module_timer->getCustomCSSStyles();

      $this->document->addStyle('catalog/view/javascript/timer/css/timer.css');
      $this->document->addScript('catalog/view/javascript/timer/jquery.plugin.min.js');
      $this->document->addScript('catalog/view/javascript/timer/jquery.countdown.min.js');

      $lang = mb_strtolower($this->language->get('code'));

      if ($lang !== 'en') {
          $this->document->addScript('catalog/view/javascript/timer/jquery.countdown-' . $lang . '.js');
      }
    }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>
<file path="catalog/controller/module/featured.php|catalog/controller/module/bestseller.php|catalog/controller/module/latest.php|catalog/controller/module/special.php">
  <!-- Load styles for OpenCart 2.2 -->
  <operation error="log">
    <search><![CDATA[return $this->load->view(]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    if($this->total_timers > 0) {
      # Loading custom styles for timer 
      $data['timer_custom_css_styles'] = $this->model_extension_module_timer->getCustomCSSStyles();

      $this->document->addStyle('catalog/view/javascript/timer/css/timer.css');
      $this->document->addScript('catalog/view/javascript/timer/jquery.plugin.min.js');
      $this->document->addScript('catalog/view/javascript/timer/jquery.countdown.min.js');

      $lang = mb_strtolower($this->language->get('code'));

      if ($lang !== 'en') {
          $this->document->addScript('catalog/view/javascript/timer/jquery.countdown-' . $lang . '.js');
      }
    }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>

  <operation error="log">
    <search><![CDATA[if (file_exists(DIR_TEMPLATE . $this->config->get('config_template')]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    if($this->total_timers > 0) {
      # Loading custom styles for timer 
      $data['timer_custom_css_styles'] = $this->model_extension_module_timer->getCustomCSSStyles();

      $this->document->addStyle('catalog/view/javascript/timer/css/timer.css');
      $this->document->addScript('catalog/view/javascript/timer/jquery.plugin.min.js');
      $this->document->addScript('catalog/view/javascript/timer/jquery.countdown.min.js');

      $lang = mb_strtolower($this->language->get('code'));

      if ($lang !== 'en') {
          $this->document->addScript('catalog/view/javascript/timer/jquery.countdown-' . $lang . '.js');
      }
    }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>


<!-- Do the replacement ONLY on Category, Special pages and Bestseller, Latest, Special modules (because of output the data through $result variable) -->
<file path="catalog/controller/product/category.php|catalog/controller/product/special.php|catalog/controller/product/manufacturer.php|catalog/controller/product/search.php|catalog/controller/module/bestseller.php|catalog/controller/module/latest.php|catalog/controller/module/special.php">
  <operation error="log">
    <search><![CDATA[if ((float)$result['special']) {]]></search>
    <add position="replace"><![CDATA[
    /* Bulk Specials Editor */
    $timer = false;

    if ((float)$result['special']) {
      if ($timer_exist) {
        $timer = $result['timer'];

        $result['date_end'] = ($hours_days && isset($result['datetime_end'])) ? $result['datetime_end'] : $result['date_end'];

        $special_date_diff   = $this->model_extension_module_timer->getSpecialDateDiff($result['date_end']);
        $percentage_discount = $this->model_extension_module_timer->calculateTotalDiscount($result['price'], $result['special']);

        $this->total_timers++;
      } else {
        $timer = false;
      }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>

<!-- Do the replacement ONLY in the Featured Module (because of output the data through $product_info variable) -->
<file path="catalog/controller/module/featured.php">
  <operation error="log">
    <search><![CDATA[if ((float)$product_info['special']) {]]></search>
    <add position="replace"><![CDATA[
    /* Bulk Specials Editor */
    $timer = false;

    if ((float)$product_info['special']) {
      if ($timer_exist) {
        $timer = $product_info['timer'];

        $product_info['date_end'] = ($hours_days && isset($product_info['datetime_end'])) ? $product_info['datetime_end'] : $product_info['date_end'];

        $special_date_diff   = $this->model_extension_module_timer->getSpecialDateDiff($product_info['date_end']);
        $percentage_discount = $this->model_extension_module_timer->calculateTotalDiscount($product_info['price'], $product_info['special']);

        $this->total_timers++;
      } else {
        $timer = false;
      }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>


<!-- To separate display on different pages (Category, Special page + in modules) -->
<file path="catalog/controller/product/category.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if ($timer_exist && isset($timer_settings['timer_category_page_status'])) {]]></add>
  </operation>
</file>
<file path="catalog/controller/product/special.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if($timer_exist && isset($timer_settings['timer_special_page_status'])) {]]></add>
  </operation>
</file>
<file path="catalog/controller/product/search.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if($timer_exist && isset($timer_settings['timer_search_page_status'])) {]]></add>
  </operation>
</file>
<file path="catalog/controller/product/manufacturer.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if($timer_exist && isset($timer_settings['timer_manufacturer_page_status'])) {]]></add>
  </operation>
</file>
<file path="catalog/controller/module/featured.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if($timer_exist && isset($timer_settings['timer_in_featured_module_status'])) {]]></add>
  </operation>
</file>
<file path="catalog/controller/module/bestseller.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if($timer_exist && isset($timer_settings['timer_in_bestseller_module_status'])) {]]></add>
  </operation>
</file>
<file path="catalog/controller/module/latest.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if($timer_exist && isset($timer_settings['timer_in_latest_module_status'])) {]]></add>
  </operation>
</file>
<file path="catalog/controller/module/special.php">
  <operation error="log">
    <search><![CDATA[if ($timer_exist) {]]></search>
    <add position="replace"><![CDATA[if($timer_exist && isset($timer_settings['timer_in_special_module_status'])) {]]></add>
  </operation>
</file>


<!-- Output timer on Category, Special pages -->
<file path="catalog/view/theme/*/template/product/category.tpl|catalog/view/theme/*/template/product/special.tpl|catalog/view/theme/*/template/product/manufacturer_info.tpl|catalog/view/theme/*/template/product/search.tpl">
  <operation error="log">
    <search index="0"><![CDATA[<?php if ($product['price']]]></search>
    <add position="replace"><![CDATA[
    <?php /* Bulk Specials Editor */ ?>
    <?php if ($product['timer']) { ?>
      
    <div class="timer-block">
      <div class="prices-block">
        <span class="special-price"><?php echo $product['special']; ?></span>
        <span class="old-price"><?php echo $product['price']; ?></span>
        <span class="percentage-discount"><?php echo $text_timer_on_products_page . '-' . $product['percentage_discount']; ?>%</span>
      </div>
      <div class="timer_<?php echo $product['product_id'];?>"></div>
    </div>

    <script type="text/javascript">
      $(document).ready(function() {
        $('.timer_<?php echo $product['product_id'];?>').opencartCountdown({until: <?php echo $product['special_date_diff']; ?>});
      });
    </script>

    <?php } ?>
    <?php /* Bulk Specials Editor */ ?>
    
    <?php if ($product['price'] /* Bulk Specials Editor */  && !$product['timer'] /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>


<!-- Output timer in Modules: Featured, Bestseller, Latest, Special -->
<file path="catalog/view/theme/*/template/module/featured.tpl|catalog/view/theme/*/template/module/bestseller.tpl|catalog/view/theme/*/template/module/latest.tpl|catalog/view/theme/*/template/module/special.tpl">
  <operation error="log">
    <search><![CDATA[<?php if ($product['price']]]></search>
    <add position="replace"><![CDATA[
    <?php /* Bulk Specials Editor */ ?>
    <?php if ($product['timer']) { ?>
      
    <div class="timer-block">
      <div class="prices-block">
        <span class="special-price"><?php echo $product['special']; ?></span>
        <span class="old-price"><?php echo $product['price']; ?></span>
        <span class="percentage-discount"><?php echo $text_timer_on_products_page . '-' . $product['percentage_discount']; ?>%</span>
      </div>
      <div class="timer_<?php echo $product['product_id'];?>"></div>
    </div>

    <script type="text/javascript">
      $(document).ready(function() {
        $('.timer_<?php echo $product['product_id'];?>').opencartCountdown({until: <?php echo $product['special_date_diff']; ?>});
      });
    </script>

    <?php } ?>
    <?php /* Bulk Specials Editor */ ?>
    
    <?php if ($product['price'] /* Bulk Specials Editor */  && !$product['timer'] /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>

<!-- Loading custom styles in the template -->
<file path="catalog/view/theme/*/template/product/category.tpl|catalog/view/theme/*/template/product/special.tpl|catalog/view/theme/*/template/product/manufacturer_info.tpl|catalog/view/theme/*/template/product/search.tpl">
  <operation error="log">
    <search><![CDATA[<?php echo $footer;]]></search>
    <add position="before"><![CDATA[
    <?php /* Bulk Specials Editor */ ?>
    <?php if(isset($timer_custom_css_styles)) echo $timer_custom_css_styles; ?>
    <?php /* Bulk Specials Editor */ ?>
    ]]></add>
  </operation>
</file>
<file path="catalog/view/theme/*/template/module/featured.tpl|catalog/view/theme/*/template/module/bestseller.tpl|catalog/view/theme/*/template/module/latest.tpl|catalog/view/theme/*/template/module/special.tpl">
  <operation error="log">
    <search><![CDATA[<?php foreach ($products]]></search>
    <add position="before"><![CDATA[
    <?php /* Bulk Specials Editor */ ?>
    <?php if(isset($timer_custom_css_styles)) echo $timer_custom_css_styles; ?>
    <?php /* Bulk Specials Editor */ ?>
    ]]></add>
  </operation>
</file>

<!-- To prevent matches in classes in modules-->
<file path="catalog/view/theme/*/template/module/featured.tpl">
  <operation error="log">
    <search><![CDATA[timer_<?php echo $product['product_id'];?>]]></search>
    <add position="replace"><![CDATA[timer_featured_<?php echo $product['product_id'];?>]]></add>
  </operation>
</file>
<file path="catalog/view/theme/*/template/module/bestseller.tpl">
  <operation error="log">
    <search><![CDATA[timer_<?php echo $product['product_id'];?>]]></search>
    <add position="replace"><![CDATA[timer_bestseller_<?php echo $product['product_id'];?>]]></add>
  </operation>
</file>
<file path="catalog/view/theme/*/template/module/latest.tpl">
  <operation error="log">
    <search><![CDATA[timer_<?php echo $product['product_id'];?>]]></search>
    <add position="replace"><![CDATA[timer_latest_<?php echo $product['product_id'];?>]]></add>
  </operation>
</file>
<file path="catalog/view/theme/*/template/module/special.tpl">
  <operation error="log">
    <search><![CDATA[timer_<?php echo $product['product_id'];?>]]></search>
    <add position="replace"><![CDATA[timer_special_<?php echo $product['product_id'];?>]]></add>
  </operation>
</file>


<!-- ============================= -->
<!-- Manipulation in the admin panel-->

<!-- Changes in the Model -->
<file path="admin/model/catalog/product.php">
  <operation error="log">
    <search><![CDATA[as $product_special) {]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    $this->load->model('catalog/timer');
    
    if($this->model_catalog_timer->checkExistenceExtension('module', 'timer')){
      $timer = "timer = '" . $this->db->escape($product_special['timer']) . "', product_special_group_id = '" . (int) $product_special['product_special_group_id'] . "',";
    } else {
      $timer = '';
    }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[date_start = '" . $this->db->escape($product_special['date_start']) . "',]]></search>
    <add position="replace"><![CDATA[date_start = '" . $this->db->escape($product_special['date_start']) . "', $timer]]></add>
  </operation>
  <!-- Full search by product name and model -->
  <operation error="log">
    <search><![CDATA[$sql .= " AND pd.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";]]></search>
    <add position="replace"><![CDATA[$sql .= " AND pd.name LIKE '%" . $this->db->escape($data['filter_name']) . "%'";]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[$sql .= " AND p.model LIKE '" . $this->db->escape($data['filter_model']) . "%'";]]></search>
    <add position="replace"><![CDATA[$sql .= " AND p.model LIKE '%" . $this->db->escape($data['filter_model']) . "%'";]]></add>
  </operation>
</file>


<file path="admin/controller/catalog/product.php">
  <operation error="log">
    <search><![CDATA[function getForm() {]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    $this->load->model('catalog/timer');
    
    $data['special_groups'] = $this->model_catalog_timer->getSpecialGroups();

    $timer_exist = $this->model_catalog_timer->checkExistenceExtension('module', 'timer');

    if($timer_exist){
      $data['timer'] = true;
    } else {
      $data['timer'] = false;
    }
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[$this->language->get('entry_customer_group');]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    $data['entry_special_group'] = $this->language->get('entry_special_group');
    $data['entry_timer'] = $this->language->get('entry_timer');
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[$product_special['price'],]]></search>
    <add position="after"><![CDATA[
    /* Bulk Specials Editor */
    'timer'                    => ($timer_exist) ? $product_special['timer'] : '',
    'product_special_group_id' => ($timer_exist) ? $product_special['product_special_group_id'] : 0,
    /* Bulk Specials Editor */
    ]]></add>
   </operation>
</file>

<file path="admin/view/template/catalog/product_form.tpl">
  <operation error="log">
    <search><![CDATA[<td colspan="5">]]></search>
    <add position="replace"><![CDATA[
    <!-- Bulk Specials Editor --> 
    <?php if($timer){ ?>
      <td colspan="7">
    <?php } else { ?>
      <td colspan="5">
    <?php } ?>
    <!-- Bulk Specials Editor -->
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[<td class="text-right"><input type="text" name="product_special[<?php echo $special_row; ?>][priority]]]></search>
    <add position="before"><![CDATA[
    <!-- Bulk Specials Editor -->
    <?php if($timer){ ?>
      <td class="text-left">
        <select name="product_special[<?php echo $special_row; ?>][product_special_group_id]" class="form-control">
          <option value="0"></option>
          <?php foreach ($special_groups as $special_group) { ?>
          <?php if ($special_group['product_special_group_id'] == $product_special['product_special_group_id']) { ?>
          <option value="<?php echo $special_group['product_special_group_id']; ?>" selected="selected"><?php echo $special_group['name']; ?></option>
          <?php } else { ?>
          <option value="<?php echo $special_group['product_special_group_id']; ?>"><?php echo $special_group['name']; ?></option>
          <?php } ?>
          <?php } ?>
        </select>
      </td>
    <?php } ?>
    <!-- Bulk Specials Editor -->
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[<td class="text-left"><button type="button" onclick="$('#special-row]]></search>
    <add position="before"><![CDATA[
    <!-- Bulk Specials Editor -->
    <?php if($timer){ ?>
      <td class="center">
        <select name="product_special[<?php echo $special_row; ?>][timer]" class="form-control">
          <option value=1 <?php if($product_special['timer'] == 1){ echo "selected"; } ?>><?php echo $text_enabled; ?></option>
          <option value=0 <?php if($product_special['timer'] == 0){ echo "selected"; } ?>><?php echo $text_disabled; ?></option>
        </select>
      </td>
    <?php } ?>
    <!-- Bulk Specials Editor -->
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[html += '  <td class="text-right"><input type="text" name="product_special[' + special_row + '][priority]]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    <?php if($timer){ ?>
      html += '  <td class="text-left"><select name="product_special[' + special_row + '][product_special_group_id]" class="form-control">';
      html += '    <option value="0"></option>';
      <?php foreach ($special_groups as $special_group) { ?>
      html += '    <option value="<?php echo $special_group['product_special_group_id']; ?>"><?php echo addslashes($special_group['name']); ?></option>';
      <?php } ?>
      html += '  </select></td>';
    <?php } ?>
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[html += '  <td class="text-left"><button type="button" onclick="$(\'#special-row' + special_row + '\').remove();]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    <?php if($timer){ ?>
      html += '<td class="center"><select name="product_special[' + special_row + '][timer]" class="form-control"> <option value=1 selected><?php echo $text_enabled; ?></option> <option value=0 ><?php echo $text_disabled; ?></option></select></td>';
    <?php } ?>
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  <operation error="log">
    <search><![CDATA[<?php echo $footer; ?>]]></search>
    <add position="before"><![CDATA[
    <!-- Bulk Specials Editor -->
    <?php if($timer){ ?>
      <script type="text/javascript">
        $('<td class="text-left"><?php echo $entry_special_group; ?></td>').insertAfter( $('#tab-special table thead td:first') );
        $('<td class="text-center"><?php echo $entry_timer; ?></td>').insertBefore( $('#tab-special table thead td:last') );   
      </script>
    <?php } ?>
    <!-- Bulk Specials Editor -->
    ]]></add>
  </operation>
</file>

<!-- Replacement in languages files -->
<file path="admin/language/english/catalog/product.php|admin/language/en-gb/catalog/product.php">
  <operation>
    <search><![CDATA[$_['entry_customer_group']]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    $_['entry_special_group'] = 'Special group';
    $_['entry_timer']         = 'Timer';
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
  </file>
  
  <file path="admin/language/russian/catalog/product.php|admin/language/ru-ru/catalog/product.php">
  <operation>
    <search><![CDATA[$_['entry_customer_group']]]></search>
    <add position="before"><![CDATA[
    /* Bulk Specials Editor */
    $_['entry_special_group'] = 'Группа акций';
    $_['entry_timer']         = 'Таймер';
    /* Bulk Specials Editor */
    ]]></add>
  </operation>
</file>

</modification>

Собственно код модификатора

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


Только что, StrikerXP сказал:

Если даже отключить "Таймер" в настройках модуля проблема исчезает. Но тогда из этого модуля толку особо нет:)

Вот. Значит проблему вносит таймер. Смотрим в файл модификатора и ищем проблему

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


3 минуты назад, Dimasscus сказал:

Вот. Значит проблему вносит таймер. Смотрим в файл модификатора и ищем проблему

Я логику понимаю но я не настолько эксперт в данном вопросе. Поэтому и спросил здесь:)

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


3 минуты назад, StrikerXP сказал:

Собственно код модификатора

Модификатор подключает на страницу товара свои скрипты и стили. Смотрите в них для начала

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


Только что, StrikerXP сказал:

Я логику понимаю но я не настолько эксперт в данном вопросе. Поэтому и спросил здесь:)

Ну по фотографиям и обрывкам кода сложно чем то помочь кроме теории

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


1 минуту назад, Dimasscus сказал:

Ну по фотографиям и обрывкам кода сложно чем то помочь кроме теории

Что именно предоставить?

 

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


7 минут назад, StrikerXP сказал:

Что именно предоставить?

 

Вы просили подсказать куда копать- вам подсказали вплоть до файла. Сделать правки без доступов- не получится. 

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


скорее всего у вас изначально кривая верстка в карточке товара и какие-то теги открываются/закрываются в разных условиях. в модификаторе вроде все чётко

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

3 минуты назад, Blast сказал:

скорее всего у вас изначально кривая верстка в карточке товара и какие-то теги открываются/закрываются в разных условиях. в модификаторе вроде все чётко

Там скрипт может добавлять что то

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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