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

halfhope

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

    1 750
  • З нами

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

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

  1. Вычисление размера элемента, идет при событии окна - resize. Вызовите его при загрузке страницы. В файл common.js, после строки:

    $(document).ready(function(){

    Добавьте:

    $(window).trigger('resize');

     

    • +1 2
  2. 8 минут назад, ambalocha69 сказал:

    здесь другая проблема

    Я знаю)

    26 минут назад, halfhope сказал:

    В догонку, может пригодится.

     

    Пример из модуля

    <link rel="stylesheet" href="view/javascript/jquery/select2/select2.min.css">
    <link rel="stylesheet" href="view/javascript/jquery/select2/select2-bootstrap.min.css">
    <script src="view/javascript/jquery/select2/select2.full.min.js"></script>
    
    <select name="products[]" id="products_search" class="products" multiple="multiple">
      <?php if ($settings['products_parsed']): ?>
      <?php foreach ($settings['products_parsed'] as $product): ?>
      <option value="<?php echo $product['id']; ?>" selected><?php echo $product['name']; ?></option>
      <?php endforeach ?>
      <?php endif ?>
    </select>
    
    <script>
        $('#products_search').select2({
          dropdownParent: $('#el_settings'),
          theme: "bootstrap",
          placeholder: "<?php echo $text_form_autocomplete ?>",
          multiple: true,
          closeOnSelect: false,
          ajax: {
            url: '<?php echo $product_autocomplete ?>',
            dataType: 'json'
          }
        });
    </script>
    public function product_autocomplete()
    {
        
        $json = array();
        
        if (isset($this->request->get['term'])) {
            
            $this->load->model('catalog/product');
            $this->load->model('catalog/option');
            
            if (isset($this->request->get['limit'])) {
                $limit = $this->request->get['limit'];
            } else {
                $limit = 5;
            }
            
            $filter_data = array(
                'filter_name' => $this->request->get['term'],
                'filter_model' => '',
                'start' => 0,
                'limit' => $limit
            );
            
            $results = $this->model_catalog_product->getProducts($filter_data);
            
            foreach ($results as $result) {
                $json['results'][] = array(
                    'id' => $result['product_id'],
                    'text' => strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8'))
                );
            }
        }
        
        $this->response->addHeader('Content-Type: application/json');
        $this->response->setOutput(json_encode($json));
    }

     

  3. 7 минут назад, ambalocha69 сказал:

    насколько он утяжеляет страницу?

    если будет например 3000 таких элементов?

     

    Не знаю, но часто использую его в своих проектах, включая модули.

     

     

    В догонку, может пригодится. "Оптимизация опций и аттрибутов в OpenCart"

     

  4. 2 минуты назад, chukcha сказал:

    представляешь в код добавлять еще огромный селект
    а когда опций уже много, то этот селект рисуется на каждой опции

     

    Там и автокомплит есть, насколько помню.

  5. 42 минуты назад, ambalocha69 сказал:

    Может кто сталкивался с подобным и есть решение

     

    Думаю, это решение из разряда "по ситуации", дел на пару часов. Добавление в сборку повлечет проблемы с совместимостью.

     

    Можно заменить селекты на jquery select2, там есть поиск по значениям.

  6. Доброе утро. Какая-то переменная не объявлена в контроллере, но используется в шаблоне. Возможно, модификатор, который редактирует этот файл, не добавил запись в контроллер. Пришлите полный код ошибки и лог ocmod.

  7. Добрый день. Если имеете ввиду отдельный блок на главной странице, то это можно сделать каким-нибудь модулем настраиваемого меню или любым модулем для вывода HTML кода. Это из того, что в голову пришло.

  8. 18 минут назад, Prooksius сказал:

    тут можно даже проще:

     

    Я особо не старался) показал переменную и конструкцию swich, сам разберется. А если по хорошему, то ссылку нужно генерировать функцией $this->url->link(), а текст выводить через языковые переменные. Все остальное - костыли.

  9. 6 минут назад, Nameless сказал:

    старые, но интересные модули можно было перенести на поддержку площадки, а вырученные денежки оставлять на развите площадки

    Тогда модули надо выкупать, национализировать. Площадка же не Путин)

  10. Просто подумал, что:

    • Если акция стоит на сегодня, то она уже истекла. 
    • Если на завтра, то таймер будет показывать оставшееся время до завтра
    • Если на послезавтра, то таймер выведет 1 день+оставшееся время до завтра.

    Механизм акций сам по себе не учитывает часы, только дни до какого-то числа месяца (00:00 часов). А часы вычисляет и выводит только таймер.

  11. Ситуация похожа на проблему с модификаторами или конфигами админки.

     

    1 час назад, gussevdmitriy сказал:

    Хостер для устранения просит доступ в админку, но давать я ее не хотел бы.

     

    Пришлите мне в ЛС (фтп/админка).

  12. Добрый

    $this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "extended_layout` (`layout_module_id` int(11) NOT NULL, `layout_id` int(11) NOT NULL, `data` text NOT NULL, PRIMARY KEY (`layout_module_id`), KEY `layout_id` (`layout_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;");

    Или

    $check = $db->query("SELECT NULL FROM information_schema.TABLES WHERE (TABLE_SCHEMA = '$db_name') AND (TABLE_NAME = '" . DB_PREFIX . "$key')");
    if ($check->num_rows) {
    //do
    }
    • +1 1
×
×
  • Створити...

Important Information

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