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

lexxkrt

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

    347
  • З нами

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

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

  1. 10 minutes ago, sahman said:

    Для примера я хочу чтобы категории второго уровня были красным цветом а категории третьего уровня были написаны зеленым цветом

    в стилях в файле catalog/view/theme/ВашаТема/stylesheet/stylesheet.css

    для второго уровня

    #menu .dropdown-inner a

    для 3 уровня, как в моем примере, добавить стиль

    #menu .subcategory

  2. стандартный фильтр в категориях, работает по такому принципу

    допустим первая группа фильтров "производители". выбираем производителя. показываются в списке только товары данного производителя, здесь все нормально.

    вторая группа фильтров "мощность" выбираем мощность, показываются и производители ранее выбранной группы и товары у которых указана данная мощность других производителей, что уже в корне не верно.

    правильно было бы если показывались товары только выбранного производителя с указанной мощностью

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

    if (!empty($data['filter_filter'])) {
    	$implode = array();
    	$filters = explode(',', $data['filter_filter']);
    	foreach ($filters as $filter_id) {
    		$implode[] = (int)$filter_id;
    	}
    	$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";
    } 

    исправил код, кривовато на мой взгляд, но работает

    if (!empty($data['filter_filter'])) {
    	$implode = array();
    	$filters = explode(',', $data['filter_filter']);
    	foreach ($filters as $filter_id) {
    		$implode[] = (int)$filter_id;
    	}
    	$results = $this->db->query("SELECT * FROM ".DB_PREFIX."filter WHERE filter_id IN (" . implode(',', $implode) . ")");
    	$arr = array();
    	foreach ($results->rows as $row) {
    		$arr[$row['filter_group_id']][] = $row['filter_id'];
    	}
    	$pids = array();
    	foreach ($arr as $key=>$value) {
    		if(count($pids)==0){
    			$results = $this->db->query("SELECT p.product_id FROM ".DB_PREFIX."product p INNER JOIN ".DB_PREFIX."product_filter pf ON p.product_id=pf.product_id where pf.filter_id IN (".implode(",",$value).")");
    			if($results->num_rows){
    				foreach ($results->rows as $row) {
    					$pids[] = $row['product_id'];
    				}
    			}
    			if(count($pids)==0) break;
    		} else {
    			$results = $this->db->query("SELECT p.product_id FROM ".DB_PREFIX."product p INNER JOIN ".DB_PREFIX."product_filter pf ON p.product_id=pf.product_id where p.product_id IN (".implode(',',$pids).") AND pf.filter_id IN (".implode(",",$value).")");
    			$pids = array();
    			if($results->num_rows){
    				foreach ($results->rows as $row) {
    					$pids[] = $row['product_id'];
    				}
    			}
    			if(count($pids)==0) break;
    		}
    	}
    
    	if(count($pids)){
    		$sql .= "AND p.product_id in (".implode(',',$pids).")";
    	} else {
    		$sql .= "AND p.product_id in (0)";
    	}
    }

     

  3. уже 5 подобная тема на форуме за последнее время

     

    Народ какие стили вы о чем вообще.

    ему надо 4 колонки и картинку, по колонкам проблема с копипастом одноколончатого размещения в 4 колончатый, проверяйте переменные в цикле вместо child стоит categories/category

    и картинку ищи на форуме я писал решение, по умолчанию картинка субкатегории не передается

     

  4. пример

    контроллер catalog/common/menu.php

    <?php
    class ControllerCommonMenu extends Controller {
    	public function index() {
    		$this->load->language('common/menu');
    
    		// Menu
    		$this->load->model('catalog/category');
    
    		$this->load->model('catalog/product');
    
    		$data['categories'] = array();
    
        $categories = $this->model_catalog_category->getCategories(0);
    
        foreach ($categories as $category)
        {
            if ($category['top'])
            {
                // Level 2
                $children_data = array();
    
                $children = $this->model_catalog_category->getCategories($category['category_id']);
    
                foreach ($children as $child)
                {
                    // Level 3
                    $children_data1 = array();
                    $children1      = $this->model_catalog_category->getCategories($child['category_id']);
    
                    foreach ($children1 as $child1)
                    {
                        $filter_data = array(
                            'filter_category_id'  => $child1['category_id'],
                            'filter_sub_category' => true
                        );
    
                        $children_data1[] = array(
                            'name' => $child1['name'].($this->config->get('config_product_count') ? ' ('.$this->model_catalog_product->getTotalProducts($filter_data).')' : ''),
                            'href' => $this->url->link('product/category', 'path='.$category['category_id'].'_'.$child['category_id'].'_'.$child1['category_id'])
                        );
                    }
    
                    $filter_data = array(
                        'filter_category_id'  => $child['category_id'],
                        'filter_sub_category' => true
                    );
    
                    $children_data[] = array(
                        'name'     => $child['name'].($this->config->get('config_product_count') ? ' ('.$this->model_catalog_product->getTotalProducts($filter_data).')' : ''),
                        'children' => $children_data1,
                        'href'     => $this->url->link('product/category', 'path='.$category['category_id'].'_'.$child['category_id'])
                    );
                }
    
                // Level 1
                $data['categories'][] = array(
                    'name'     => $category['name'],
                    'children' => $children_data,
                    'column'   => $category['column'] ? $category['column'] : 1,
                    'href'     => $this->url->link('product/category', 'path='.$category['category_id'])
                );
            }
        }
    
    		return $this->load->view('common/menu', $data);
    	}
    }

    menu.twig

    {% if categories %}
    <div class="container">
      <nav id="menu" class="navbar">
        <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span>
          <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
        </div>
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav">
            {% for category in categories %}
            {% if category.children %}
            <li class="dropdown"><a href="{{ category.href }}" class="dropdown-toggle" data-toggle="dropdown">{{ category.name }}</a>
              <div class="dropdown-menu">
                <div class="dropdown-inner"> {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}
                  <ul class="list-unstyled">
                    {% for child in children %}
                    <li><a href="{{ child.href }}">{{ child.name }}</a></li>
                    {% if child.children %}
                      {% for child3 in child.children %}
                      <li class="subcategory"><a href="{{ child3.href }}">{{ child3.name }}</a></li>
                      {% endfor %}
                    {% endif %}
                    {% endfor %}
                  </ul>
                  {% endfor %}</div>
                <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a> </div>
            </li>
            {% else %}
            <li><a href="{{ category.href }}">{{ category.name }}</a></li>
            {% endif %}
            {% endfor %}
          </ul>
        </div>
      </nav>
    </div>
    {% endif %}

    можно вообще сделать рекурсией и тогда вообще не зависеть от вложенности категорий

    • +1 1
  5. 9 hours ago, anboza said:

    Поздравляю!

    Измените событие с onclick на onmouseover

    какое нафиг событие? стили надо прописать с приставкой :hover.

    9 hours ago, sahman said:

    как вывести на главной странице в выпадающем меню категории 3-го уровня?

    откуда взялись категории 3его уровня. в опенкарте в меню только второго загружаются

  6. On 11/30/2018 at 8:49 PM, omar572 said:

    Подскажите кто знает и есть ли вообще возможность добавления картинок в подкатегории на  opencart Version 3.0.2.0  как на картинке

    можно, элементарно

    контроллер product/category.php

    	$results = $this->model_catalog_category->getCategories($category_id);
    
    			foreach ($results as $result) {
    				$filter_data = array(
    					'filter_category_id'  => $result['category_id'],
    					'filter_sub_category' => true
    				);
    
    				// добавить отсюда
    				if ($result['image']) {
    					$thumb = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_category_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_category_height'));
    				} else {
    					$thumb = '';
    				}
    				// досюда
    
    				$data['categories'][] = array(
    					'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
    					'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
    					// добавить
    					,'thumb' => $thumb 
    				);
    			}

    далее в шаблоне product/category.twig добавить.

    {% if category.thumb %}<img src="{{ category.thumb }}" /> {% endif %}

    ну и сделать соответствующую разметку

  7. On 11/29/2018 at 11:37 PM, krutoperdoff said:

     

    В шаблоне вообще такого файла нет, только в дефолтном

    ну тогда обращайтесь к разработчику шаблона. я написал из чего получается данная ошибка, больше там вариантов возникновения данной ошибки нет

  8. On 11/23/2018 at 6:45 PM, niger said:

    Запросы к базе берутся из модели. А языковые шняги(не для товаров и категорий), как и powered берутся из файлов языковых версий. 

    И удаление запроса о валюте это экономия на спичках. 

    да ладно???

    $data['powered'] = sprintf($this->language->get('text_powered'), $this->config->get('config_name'), date('Y', time()));
    по твоему конфиги где хранятся?

  9. On 11/28/2018 at 4:19 PM, Muvka said:

    Здравствуйте. Нужно сделать так, чтобы перед resize изображения, обрезался белый фон у изображения до контента. Т.е. не удалялся белый фон, а именно обрезался фон до самой картинки. Есть у кого модифицированный resize? Или подскажите, как это можно сделать? Аналог тримминг в ФШ.

    Если есть модуль, то бесплатный.

     

    в library/image.php

     public function trim(){
            if($this->image){
              $im = imagecropauto($this->image,IMG_CROP_DEFAULT);
              if($im!==false){
                $this->image = $im;
                $this->width = imagesx($this->image);
                $this->height = imagesy($this->image);
              }
            }
            return $this;
          } 

    в catalog/model/tool/image.php в функции resize

                if ($width_orig != $width || $height_orig != $height) {
                    $image = new Image(DIR_IMAGE . $image_old);
                    $image->trim();
                    $image->resize($width, $height);
                    $image->save(DIR_IMAGE . $image_new);
                } else {
                    copy(DIR_IMAGE . $image_old, DIR_IMAGE . $image_new);
                }

    добавить вызов trim перед вызовом resize

    ну или модификатор

    autocrop.ocmod.zip

    • +1 1
  10. ищите уже было на форуме.

    это не имеет отношения к тройке, это коряво сделан шаблон

    в шаблоне product/category.twig вывода подкатегорий перепутана переменная, 

    вместо {% for child in category %}

    написано

    {% for category in categories %}

    сравнивайте с дефолтным шаблоном данный файл

  11. 1 hour ago, Tom said:

    Он же прям в заголовке...Как у картинок  убрать белые поля....

    И тут же решение

    может модераторы видят больше?) я вопроса в заголовке не вижу. в вашем посте вижу а в заголовке фраза больше на название романа похожа.

    а по теме вопроса imagecropauto при создании кэша картинки до ресайза 

    если картинок мало то фотошоп вполне сгодится

     

  12. On 11/8/2018 at 2:04 AM, Dimasscus said:

    Всем привет. не знаю что там может или не может встроенный чпу, но проблему с index.php?route=common/home он точно не осилил.

    Подскажите как эту глюч в тройке убрать? и .htaccess правил

    и с бубном танцевал- без результата.

    cjmmon/home не работает в стандартном сео. 

    https://www.opencart.com/index.php?route=marketplace/extension/info&amp;extension_id=27700

    и вроде как в Опенкарт Русская сборка, данная проблема пофикшена.

  13. On 11/10/2018 at 10:14 PM, asukhoia said:

    а как он может быть попутан? 

    вопрос задайте тому кто шаблон писал

    вместо переменных child и category подставлены category и categories соответственно, в указанной мной позиции.

    знаю потому что была такая же ерунда у меня при редактировании шаблона.

  14. 24 minutes ago, kJlukOo said:

    вот те арей сиарч

    
    {% if myVar in someOtherArray|keys %}

    и где тут проблема? и это не array_search() это array_key_exists(). какую это может вызвать проблему? это все-таки не $this->db->query(...)

     

    а наговнокодить можно и hello world написав

     

    мне нравится твиг потому что {{ var }} вместо <?php echo isset($var)?$var:""; ?> намного удобнее, это одна из причин

     

  15. 22 hours ago, asukhoia said:

    на данной странице в основном поле показываются подкатегории в 4 столбца одинаковых. как их убрать

    сравни в дефолтном шаблоне как сделан вывод вложенных категорий, скорее всего перепутана переменная

    {% if categories|length <= 5 %}
          <div class="row">
            <div class="col-sm-3">
              <ul>
                {% for category in categories %}
                <li><a href="{{ category.href }}">{{ category.name }}</a></li>
                {% endfor %}
              </ul>
            </div>
          </div>
          {% else %}
          <div class="row">{% for category in categories|batch((categories|length / 4)|round(1, 'ceil')) %}
            <div class="col-sm-3">
              <ul>
                {% for child in category %}
                <li><a href="{{ child.href }}">{{ child.name }}</a></li>
                {% endfor %}
              </ul>
            </div>
            {% endfor %}</div>
          <br />
          {% endif %}

    {% for child in category %}  вот здесь вероятно цикл попутан

     

  16. 7 hours ago, kJlukOo said:

    ну чето скорость тройки от твига умирает ... админка зависает на пару секунд при любом запросе

    кэш включи

    7 hours ago, kJlukOo said:

    и еще в твиге есть всякие функции типа аррей сиарч и тд.

    нет там таких функций

     

    7 hours ago, kJlukOo said:

    обычно эти функции и используют в говномодулях или шаблонах

    твиг не используется в модулях, только в шаблонах

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

Important Information

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