Вход • Регистрация

Поиск по артикулам на сайте

  • 05 января 2016 г.
  • Здравствуйте, коллеги. Нужно реализовать поиск по артикулам на сайте.
    Вывод артикула в товарах реализрван так

    //вывод артикула
    if (!empty($result["id"]))
    {
    echo '<div class="shop_article">' . $this->_('ARTICLE') . ': <span class="shop_article_value">' . $result["id"] . '</span></div>';
    }

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

    • 05 января 2016 г.
    • По умолчанию в cms реализован поиск по артикулам, остается присвоить артикулам товара значения их id. На мой взгляд больше делать ничего не придётся.
      • 05 января 2016 г. , редакция: 05 января 2016 г.
      • Проблема в том, что у многих товаров (например в магазине автозапчастей) указывается в артикуле каталожный номер номенклатуры для удобного поиска. Таким образом можно легко найти в базе ту или иную деталь по её заводскому номеру.
        • 05 января 2016 г. , редакция: 05 января 2016 г.
        • Тогда можно создать характеристику (например, тип - строчка и назвать ее как Внутренний артикул). Туда и писать id, поиск по характеристикам тоже есть в cms
          • 05 января 2016 г.
          • У меня товары, через 1С выгружаются, все ищет по артикулу Хотя артикул не характеристика. Видимо alex (bigsport), что то не до разобрал
      • 13 января 2016 г.
      • в каком файле это лучше сделать?
  • 07 января 2016 г.
  • В свое время добавлял в функцию list_search файл shop.model.php
    такой код
    Код
    if(!empty($_GET['article']))// поиск по артикулу
    {

    $count = DB::query_result(
    "SELECT COUNT(DISTINCT s.id) FROM {shop} AS s "
    . ($this->diafan->_users->role_id ? " LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='shop' AND a.element_type='element'" : "")
    . " WHERE s.[act]='1' AND s.trash='0' and s.id=%d "
    ." AND s.date_start<=%d AND (s.date_finish=0 OR s.date_finish>=%d)",
    intval($_GET['article']), $time, $time
    );
    if($count>0)
    $this->diafan->redirect(BASE_PATH.$this->diafan->_route->link($this->diafan->_site->id, intval($_GET['article']), 'shop'), '301');
    else
    $this->result["error"] = $this->diafan->_('Извините, ничего не найдено.', false);
    return $this->result;
    }

    Поиск по артикулу включен и поиск по нему заменен на редирект в случае если такой идентификатор найден. Не готовый рецепт, но для начала достаточно.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум