Como melhorar o filtro de produtos no administrativo do Opencart

  • Olá,

    Hoje precisei fazer uma alteração simples em uma loja e gostaria de compartilhar ela. Estou fazendo isso em uma loja Opencart 1.5.1.2. Talvez em outra versão só mude o numero da linha.

    No administrativo, mais especificamente na parte de produtos, tem o campos de filtros. Isso ajuda bastante.

    Mas por enquanto o filtro só pega o começo do nome do produto. Se você buscar uma parte do meio do nome o filtro não vai trazer o resultado desejado. Por esse motivo essa modificação que vou passar fará com que traga todos os produtos que tenha o trecho pesquisado em qualquer posição do nome.

    Alteração no Arquivo product.php:

    Abra o arquivo “admin/model/catalog/product.php” e vá até a linha 338, coloque apenas o “%” nos pontos mostrado abaixo em vermelho:

    public function getProducts($data = array()) {
    if ($data) {
    $sql = "SELECT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "'";

    if (isset($data['filter_name']) && !is_null($data['filter_name'])) {
    $sql .= " AND LCASE(pd.name) LIKE '%" . $this->db->escape(mb_strtolower($data['filter_name'], 'UTF-8')) . "%'";
    }

    if (isset($data['filter_model']) && !is_null($data['filter_model'])) {
    $sql .= " AND LCASE(p.model) LIKE '%" . $this->db->escape(mb_strtolower($data['filter_model'], 'UTF-8')) . "%'";

    }

    if (isset($data['filter_price']) && !is_null($data['filter_price'])) {
    $sql .= " AND p.price LIKE '" . $this->db->escape($data['filter_price']) . "%'";
    }

    Adicionando apenas isso está pronto! Agora, a mesma palavra que pesquisada na imagem acima mostra todos os produtos que a contém, independente da posição:

    Essa alteração também afeta o modelo. Caso pesquise por “modelo”,  o termo pesquisado vai ser localizado em qual posição do texto.

    Download da Alteração para vQmod:

    Segue a alteração em vQmod (conheça mais sobre o vQmod acessando este link). É só adicionar o aquivo XML que estou passado na pasta “xml” de seu vQmod. Caso tenha dúvidas para instalar o vQmod, acesse aqui.

    Baixar alteração em XML

    Essa alteração foi bem simples porém pode ser de grande ajuda.

    Se inscreva em nosso curso de OpenCart que logo abriremos as inscrições.

    Forte abraço.



    Related Posts Plugin for WordPress, Blogger...




Comente aqui

* Nome, Email e comentário são obrigatórios