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

StrikerXP

Користувачі
  
  • Публікації

    78
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем StrikerXP

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

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

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

  2. Цитата

    <?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>

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

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

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

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

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

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

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

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

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

     

    21.thumb.jpg.486700d33de4f138c2a1cd7549b12b74.jpg 

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

      

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

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

     

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

    вав.jpg

     

    21.jpg

  7. В Вашем случае лучше нести свое эго высоко-высоко чтоб бы показать что Вы умнее других. Наглеть надо в меру, слишком наглых (и умных) никто не уважать не будет.  Для меня эта полемика закончена.
    Если кому то будет надо сменить краски на значке наличия товара то здесь уже достаточно информации что бы разобраться.

  8. Только что, Tom сказал:

    В итоге помог код Dimasscus , код которого не виден...но он есть )))))))®

    Внес эту строчку 

    <?php echo ($stock == 0)? '<span class="label label-danger">' . $stock . '</span>' : '<span class="label label-success">' . $stock . '</span>'; ?></li>

    вместо Вашей и все пошло как надо 

     

    убрал код из модификатора контролера и все заработало как я и хотел

     

  9. Только что, Tom сказал:

    Понимаю обидно. Но увы факт.

    Мой модификатор достаточно было открыть и изменить название шаблона.

    Или опять не факт?

     

    Не в обиде дело, а в подходе.
    Ваш модификатор (пути до шаблона) я переделал но ничего не изменилось

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

Important Information

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