Не работают теги

Тема в разделе "OpenCart", создана пользователем timon86, 23 апр 2013.

  1. timon86

    timon86

    Регистрация:
    26 мар 2013
    Сообщения:
    29
    Симпатии:
    2
    Добрый день. Не работают теги товара http://sport.frostweb.ru/casein-protein?search=PureProtein Например нажимаю "ПРОТЕИН" и не находит подобный товар. Версия Opencart 1.5.5.1. В чем может быть причина?
     
  2. Grek

    Grek

    Регистрация:
    18 янв 2013
    Сообщения:
    172
    Симпатии:
    18
    Поиск по тегам не работали еще в версии 1.5.4.1 (я, например, не нашел нормального решения, а тем поднималось много по этому вопросу). Может не пофиксили и в версии 1.5.5.1?)
     
  3. timon86

    timon86

    Регистрация:
    26 мар 2013
    Сообщения:
    29
    Симпатии:
    2
    Получается можно смело их удалять?
     
  4. dbunt1tled

    dbunt1tled

    Регистрация:
    18 фев 2013
    Сообщения:
    233
    Симпатии:
    44
    Ну когда я вводил их в ручную поиск работал у меня хорошо, после генерации DeadCow поиск перестал работать
     
  5. PapaLama

    PapaLama

    Регистрация:
    26 апр 2013
    Сообщения:
    27
    Симпатии:
    1
    тот же вопрос 1.5.4.1 теги не пашут ( кто то что то придумал ?
     
  6. moonstyles

    moonstyles

    Регистрация:
    13 апр 2013
    Сообщения:
    157
    Симпатии:
    7
    тот же вопрос - теги работают только если уникальный тег для товара, тобиш если товар 1 то всё норм, если же 2 товара с одинаковым тегом - ненаходит. http://tehnodiler.if.ua/Integrated_appliances/hobs/AKT680IXL.html
     
  7. moonstyles

    moonstyles

    Регистрация:
    13 апр 2013
    Сообщения:
    157
    Симпатии:
    7
    нашлось решениє проблемы с тегами !

    для 1.5.4.х

    Открываем catalog/model/catalog/product.php и заменяем в ней 2 одинаковые строки:

    $sql .="MATCH(pd.tag) AGAINST('". $this->db->escape(utf8_strtolower($data['filter_tag']))."')";
    на

    $implode = array();

    $words = explode(' ', trim(preg_replace('/\s\s+/',' ', $data['filter_tag'])));foreach($words as $word){
    $implode[]="LCASE(pd.tag) LIKE '%". $this->db->escape(utf8_strtolower($word))."%'";}if($implode){
    $sql .=" ". implode(" OR ", $implode);}
    --- добавлено: 5 июн 2013 в 08:42 ---
    для 1.5.5.1

    Решение есть:
    В файле: /catalog/controller/product/search.php
    Находим:
    ['filter_tag']

    и заменяем на:
    ['tag']
     
    dbunt1tled нравится это.
  8. Serkist

    Serkist

    Регистрация:
    8 фев 2013
    Сообщения:
    350
    Симпатии:
    72
    что-то не пойму, о чем вы.
    http://verose.ru/uniseks/zazhigalki/zazhigalka-zippo-playboy.html
    теги работают..генерирую deadcow automod 2.1
    пробовал прописывать этот код:
    ==============
    для 1.5.4.х

    Открываем catalog/model/catalog/product.php и заменяем в ней 2 одинаковые строки:

    $sql .="MATCH(pd.tag) AGAINST('". $this->db->escape(utf8_strtolower($data['filter_tag']))."')";
    на

    $implode = array();

    $words = explode(' ', trim(preg_replace('/\s\s+/',' ', $data['filter_tag'])));foreach($words as $word){
    $implode[]="LCASE(pd.tag) LIKE '%". $this->db->escape(utf8_strtolower($word))."%'";}if($implode){
    $sql .=" ". implode(" OR ", $implode);}
    ==============
    разницы абсолютно никакой не вижу
     
  9. moonstyles

    moonstyles

    Регистрация:
    13 апр 2013
    Сообщения:
    157
    Симпатии:
    7
    Я пишу теги вручную без модулей, у меня проблема решылась. У вас ето не теги а - метки. они у вас работают немного странно.
     
  10. Serkist

    Serkist

    Регистрация:
    8 фев 2013
    Сообщения:
    350
    Симпатии:
    72
    А о каких тегах тогда идет речь?
    и почему странно работают?
     
  11. moonstyles

    moonstyles

    Регистрация:
    13 апр 2013
    Сообщения:
    157
    Симпатии:
    7
    Дабы не розводить флуд, последний мой комент. может вы спецыально так настроили, но при переходе по тегу - Зажигалка ZIPPO "Леопардовый Playboy", находит товар с другими тегами - Зажигалка La Geer "Дама пик".. мне ето показалось странным. Я создавал тему отдельную, но администрацыя закрыла её ссылаясь на ету, потому написал решениэ по тегам ( меткам сдесь ). Мне помогло, может быть поможет ещо комуто. Всем удачи.
     
    Serkist нравится это.
  12. keeperate

    keeperate

    Регистрация:
    18 июл 2013
    Сообщения:
    2
    Симпатии:
    0
  13. branday

    branday

    Регистрация:
    28 июл 2013
    Сообщения:
    1
    Симпатии:
    2
    Хочу поделиться решением проблемы.
    В общем суть была следующая. В opencart поиск настроен на таблицу product_tag, а тэги по крайней мере в версии 1.5.4.1 находятся в таблице product_description. Вот собственно и вся проблема.
    Решается изменением в файле catalog/model/catalog/search_mr.php
    Что меняем. Во первых я закомментировал строку
    PHP:
    // if (!empty($data['filter_tag'])) {
    // $sql .= " LEFT JOIN " . DB_PREFIX . "product_tag pt ON (p.product_id = pt.product_id)";
    // }
    повторяется 2 раза,
    далее заменил все строки pt.(ранее это был псевдоним для таблицы product_tag) на pd.(псевдоним таблицы product_description, где и сидят наши теги).
    Вот собственно и все.

    Вот мой полностью рабочий файл
     
    termotorg.shop и ronin99981 нравится это.
  14. Vor704

    Vor704

    Регистрация:
    2 июл 2013
    Сообщения:
    123
    Симпатии:
    15
    Файл catalog/model/catalog/search_mr.php от модуля поиска с морфологией походу. в стандарт не входит

    А для чего тогда нужен product_tag, если ищет теги в product_description? У меня 1.5.4.1. Поиск работает нормально и ищет в product_description, но таблица product_tag тоже есть. Это таблица от deadcow automod или версий помоложе?
     
  15. oltreyn

    oltreyn

    Регистрация:
    7 фев 2014
    Сообщения:
    67
    Симпатии:
    4
    Просто В файле: /catalog/controller/product/search.php меняем 'filter_tag' на 'tag', и вуаля! :wink: