Перейти к содержанию

Рекомендуемые сообщения

Приветствую! Как вывести категории на странице поиска, чтобы видеть в каких категориях лежит найденный товар в ocstore 2.3

Нашел два варианта для 1.5.5.1.2 , попытался делать по аналогии, но ни чего не вышло

http://webxeon.ru/opencart/cats

 

Можно ли реализовать так же на 2.3? Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тоже интересует под ocstore 2.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

точно также, заменив keyword на seach

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 23.10.2017 в 16:14, chukcha сказал:

точно также, заменив keyword на seach

Заменил keyword на seach тут

public function getSearchCategories($keyword) {
    $query = $this->db->query("SELECT c.category_id, c.image, cd.name 
    FROM " . DB_PREFIX . "category c 
    LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) 
    WHERE cd.name LIKE '%" . $keyword . "%' 
    AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' 
    AND c.status = '1'");
    return $query->rows;
}

И получил не определенную переменную

  • Notice: Undefined variable: search_categories in /var/www/www-root/data/www/site.ru/catalog/view/theme/royal/template/product/search.tplon line 24Warning: Invalid argument supplied for foreach() in /var/www/www-root/data/www/site.ru/catalog/view/theme/royal/template/product/search.tplon line 24

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$this->data  заменить на  $data (если для 2.x)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 23.10.2017 в 17:14, chukcha сказал:

заменив keyword на seach

зачем?  keyword там в методе модели как аргумент.  а при вызове и так 

$this->model_catalog_category->getSearchCategories($search);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а  get['keyword']

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, fanatic сказал:

$this->data  заменить на  $data (если для 2.x)

Поменял. Тоже самое! 

  • Notice: Undefined variable: search_categories in /var/www/www-root/data/www/aquahome.by/catalog/view/theme/site.ru/template/product/search.tplon line 24Warning: Invalid argument supplied for foreach() in /var/www/www-root/data/www/site.ru/catalog/view/theme/royal/template/product/search.tplon line 24

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В model 

public function getSearchCategories($keyword) {
    $query = $this->db->query("SELECT c.category_id, c.image, cd.name 
    FROM " . DB_PREFIX . "category c 
    LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) 
    WHERE cd.name LIKE '%" . $keyword . "%' 
    AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' 
    AND c.status = '1'");
    return $query->rows;
}

 

В controller

  

          $data['search_categories'] = array();
$search_cats = $this->model_catalog_category->getSearchCategories($search);        
    foreach($search_cats as $category) {
        if($category['image']) {
            $image = $category['image'];
        } else {
            $image = false;
        }
    $data['search_categories'][] = array(
        'thumb' => $image,
        'name' => $category['name'],
        'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
    );
}

 

tpl

<div class="row">
        <div class="col-sm-3">
          <ul>
        <?php foreach($search_categories as $category) { ?>
            <li><?php echo '<a href="' . $category['href'] . '">'; ?>
<img width="180" src="/image/<?php echo $category['thumb'];?>"><span><?php echo $category['name'];?></span></a></li>
        <?php }    ?>
    </ul>
        </div>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

помогите решить за вознаграждение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, michnoff сказал:

помогите решить за вознаграждение

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

только, наверно нужно добавить проверку.  если не найдено категорий, выводить соответствующее сообщение, или не выводить блок вообще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, chukcha сказал:

а  get['keyword']

хоть убейте, не понял о чем вы. что в 1.5, что в 2.x   

$this->request->get['search']

или не это?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, Tom сказал:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это дефолтный опенкарт 2.3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос остается открытым! Ocmod Tom  решил вопрос, но не в том направлении - выводит категории товара, в названии которых есть искомая фраза (в названии категорий, а не товаров) Необходимо выводить категории, в которых лежит найденный товар - ищем Samsung, показывает все категории , в которых есть товары с "Samsung"

В 12.11.2017 в 21:09, michnoff сказал:

помогите решить за вознаграждение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 часов назад, michnoff сказал:

выводит категории товара, в названии которых есть искомая фраза (в названии категорий, а не товаров)

так это, было ясно с самого начала

В 12.11.2017 в 19:41, michnoff сказал:

LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id)      WHERE cd.name LIKE '%" . $keyword . "%' 

 

17 часов назад, michnoff сказал:

Необходимо выводить категории, в которых лежит найденный товар

как вариант

 

category_for_search.ocmod.xml

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 16.11.2017 в 13:56, fanatic сказал:

так это, было ясно с самого начала

 

как вариант

 

category_for_search.ocmod.xml

Да!))) Работает! НО есть момент - находит товар в одной главной категории, потом в первой подкатегории и категории третьего уровня, а остальные (главные, категории второго уровня и третьего) не показывает. Т.е.показывает одну первую категорию с подкатегориями, а в остальных не ищет, хотят овар точно есть и в других категориях

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, michnoff сказал:

находит товар в одной главной категории, потом в первой подкатегории и категории третьего уровня,

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, fanatic сказал:

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

он не выводит все найденные категории, а только первую главную и ее подкатегорию, а остальные нет

Изменено пользователем michnoff

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
30 минут назад, michnoff сказал:

он не выводит все найденные категории,

 

adm_product.gif

search.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, fanatic сказал:

 

adm_product.gif

search.gif

Искал по запросу "grohe" и мне выдало только первую категорию (первая главная, категорию второго уровня и категории третьего уровня - Сантехника>Cмесители>Для раковины....)

 

 

Когда я уточнил категорию поиска показывает уже другие категории (По вложенности все в сантехнике - Сантехника>Инсталляции>Для унитазов.....)

 

 

111Безымянный.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
33 минуты назад, michnoff сказал:

Когда я уточнил категорию поиска показывает уже другие категории (По вложенности все в сантехнике - 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

когда вы уточняете поиск, находит уже другой список товаров, естественно и категории будут другие.

уточнение, никак не влияет на вывод категорий.  влияет список найденных товаров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От shchs
      350.00 руб
      Скачать/Купить дополнение


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

      Перед установкой дополнения, обязательно ознакомьтесь с порядком новой установки и обновления,
      описанном в файле "readme.rus" в архиве с модулем.
       
      Условия приобретения:
      1. Данное дополнение распространяется по принципу 1 лицензия - 1 домен + 1 тестовый домен.
      2. Поддомены считаются отдельным доменом!
      3. Тестовым доменом может быть только либо технический адреса хостинга, либо поддомен "test" основного домена.
      4. Модуль распространяется по принципу "как есть", со всеми его особенностями, достоинствами
      и недостатками, как имеющимися в данный момент так и выявленными в будущем, поэтому
      любые исправления или изменения модуля возможны только по воле автора и никак иначе.
      5. В модуле используется технология защиты, препятствующая несанкционированному использованию модуля,
      а также ограничивающая изменение файлов с его кодом.
      6. Данная защита не снимается ни при каких условиях.
      7. Применение средств и методов, позволяющих обойти используемую технологию защиты, являются незаконными.
      8. Лицензия возврату не подлежит!
      9. Продукт не является бесплатным программным обеспечением и не может распространяться в какой-либо форме где-либо без письменного согласия автора.
       
      Условия Тех.поддержки:
      1. Вопросы по поддержке вы также можете задавать по почте shchs@ya.ru, либо по скайпу: ashchs
      2. Активация дополнения выполняется в течении суток с момента покупки.
      3. Тех.поддержка оказывается в течении двух суток с момента поступления запроса.
       3.1 Тех.поддержка оказывается при предоставлении доступа в админ.панель и к файлам сайта по протоколу FTP.
      4. В условия тех.поддержки не входит:
       4.1 согласование работы дополнения с какими-то либо другими модулями.
       4.2 настройка и запуск дополнения на версиях opencart/ocstore отличных от явно заявленных.
       4.3 изменение работы или добавление каких-либо новых функций.
      5. Поддержка оказывается только легальным и добросовестным покупателям, купившим данный продукт непосредственно у автора, а также на сайте opencartforum.com
       
      Системные требования:
      1. Установленный на сервере IonCube loader последней версии
      2. Версия PHP минимум 5.3
      3. Opencart/Ocstore 1.5.4.1-1.5.6.x, 2.0.x.x, 2.1.x.x, 2.2.x.x, 2.3.x.x, 3.0.2.x
       
      Приобретая данное дополнение, вы тем самым соглашаетесь с системными требованиями, ограничениями, условиями покупки и тех.поддержки.
       
      Для приобретения дополнительных лицензий обращаться на shchs@ya.ru
       
      Возможно получение тестовой лицензии на 10 дней - писать на shchs@ya.ru
       
      Демо:
      http://test4.shchs.bget.ru/admin/
      demo
      demo
      Добавил shchs Добавлено 22.02.2018 Категория Поиск Системные требования Ioncube Loader Сайт разработчика Старая цена Метод активации Автоматическая активация Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От shchs
      SearchLive - Поиск с подсказками для интернет-магазина.
       
      Модуль "живого" поиска с подсказками совпадений. Поиск ведется по названию, описанию, модели, артикула и тегам товара, с возможностью настройки как полей для поиска, так и релевантности совпадений и набора исключаемых символов. Так же есть настройки вида и количества результатов.
      Файлы, отвечающие за механизм поиска, а соответственно и код в них открыт и легко может быть модифицирован под конкретные нужны.

      Перед установкой дополнения, обязательно ознакомьтесь с порядком новой установки и обновления,
      описанном в файле "readme.rus" в архиве с модулем.
       
      Условия приобретения:
      1. Данное дополнение распространяется по принципу 1 лицензия - 1 домен + 1 тестовый домен.
      2. Поддомены считаются отдельным доменом!
      3. Тестовым доменом может быть только либо технический адреса хостинга, либо поддомен "test" основного домена.
      4. Модуль распространяется по принципу "как есть", со всеми его особенностями, достоинствами
      и недостатками, как имеющимися в данный момент так и выявленными в будущем, поэтому
      любые исправления или изменения модуля возможны только по воле автора и никак иначе.
      5. В модуле используется технология защиты, препятствующая несанкционированному использованию модуля,
      а также ограничивающая изменение файлов с его кодом.
      6. Данная защита не снимается ни при каких условиях.
      7. Применение средств и методов, позволяющих обойти используемую технологию защиты, являются незаконными.
      8. Лицензия возврату не подлежит!
      9. Продукт не является бесплатным программным обеспечением и не может распространяться в какой-либо форме где-либо без письменного согласия автора.
       
      Условия Тех.поддержки:
      1. Вопросы по поддержке вы также можете задавать по почте shchs@ya.ru, либо по скайпу: ashchs
      2. Активация дополнения выполняется в течении суток с момента покупки.
      3. Тех.поддержка оказывается в течении двух суток с момента поступления запроса.
       3.1 Тех.поддержка оказывается при предоставлении доступа в админ.панель и к файлам сайта по протоколу FTP.
      4. В условия тех.поддержки не входит:
       4.1 согласование работы дополнения с какими-то либо другими модулями.
       4.2 настройка и запуск дополнения на версиях opencart/ocstore отличных от явно заявленных.
       4.3 изменение работы или добавление каких-либо новых функций.
      5. Поддержка оказывается только легальным и добросовестным покупателям, купившим данный продукт непосредственно у автора, а также на сайте opencartforum.com
       
      Системные требования:
      1. Установленный на сервере IonCube loader последней версии
      2. Версия PHP минимум 5.3
      3. Opencart/Ocstore 1.5.4.1-1.5.6.x, 2.0.x.x, 2.1.x.x, 2.2.x.x, 2.3.x.x, 3.0.2.x
       
      Приобретая данное дополнение, вы тем самым соглашаетесь с системными требованиями, ограничениями, условиями покупки и тех.поддержки.
       
      Для приобретения дополнительных лицензий обращаться на shchs@ya.ru
       
      Возможно получение тестовой лицензии на 10 дней - писать на shchs@ya.ru
       
      Демо:
      http://test4.shchs.bget.ru/admin/
      demo
      demo
    • От regau
      Перестал работать поиск в шапке. В чём может быть дело? При этоп доп.поиск работает
       
       
       
       
      http://pandasale.ru/
       
       
       
       
       
      search.tpl
       
       
    • От Pavel666
      Скачать/Купить дополнение


      Блок поиска
      Встраиваемый в схемы ajax  блок поиска, ну в принципе на фото все видно, поиск используется стандартный от опенкарт.
      Со стилями как можно заметить сильно не заморачивался 
      В админке можно поменять все стили на свои.
      Добавил Pavel666 Добавлено 15.11.2018 Категория Поиск Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3  
    • От Pavel666
      Встраиваемый в схемы ajax  блок поиска, ну в принципе на фото все видно, поиск используется стандартный от опенкарт.
      Со стилями как можно заметить сильно не заморачивался 
      В админке можно поменять все стили на свои.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.