prestashop admin сортировка и фильтрация в виде списка - PullRequest
0 голосов
/ 12 ноября 2018

Я создал собственный модуль для импорта n товаров (Prestashop 1.6.1.7) все в порядке, но когда я пытаюсь отфильтровать поиск (есть 1882 записей) фильтр не работает Я прочитал другой пост о проблеме, но я не понимаю, есть ли проблема в моем контроллере или я что-то забыл. У меня есть одна таблица (cpld_articles), где хранятся эти данные

это мой контроллер

require_once (_PS_MODULE_DIR_ . 'forniture/classes/cpld.core.php');

class AdminFornitureController extends ModuleAdminController {

protected $position_identifier = 'id';

public function init() {



    // Set variables
    $this->context = Context::getContext();
    $this->table = 'cpld_subcategory';
    $this->article_table = 'cpld_articles';
    $this->className = 'cpld';
    $this->identifier = 'id';
    $this->_defaultOrderBy = 'id';
    $this->bootstrap = true;
    $this->lang = false;

    $this->addRowAction('edit');
    $this->addRowAction('view');
    $this->addRowAction('update');
    $this->addRowAction('import');

    $this->fields_list = array(
            'id' => array(
            'title' => $this->l('ID'),
            'align' => 'center', 
            'width' => 50,
            'type' => 'int'
        ),

        'id_parent' => array(
            'title' => $this->l('ParentID'),
            'width' => 50,
            'class' => 'fixed-width-xs',
            'type' => 'int'
        ),
        'categoria_app' => array(
            'title' => $this->l('Categoria > Sottocategoria'),
            'width' => 200
        ),
        'titolo' => array(
            'title' => $this->l('Titolo'),
            'width' => 150,
            'type' => 'text',
            'filter_key' => $this->table.'!titolo',
        ),
        'n_articoli' => array(
            'title' => $this->l('N° Articoli'),
            'width' => 50,
            'type' => 'int',
        ),
        'abilitato' => array(
            'title' => $this->l('Abilitato'),
            'type' => 'bool',
            'active' => true,
            'filter_key' => $this->table.'!abilitato',
            'class' => 'fixed-width-sm'
        ),
        //'abilitato' => array('title' => $this->l('abilitato'), 'active' => '1', 'class' => 'fixed-width-sm'),
        'ricarico' => array(
            'title' => $this->l('Ricarico %'),
            //'type' => 'editable',
            'width' => 50,
            'type' => 'int',
            'filter_key' => 'ricarico',
            'search' => true
        ),
        'reg_iva' => array(
            'title' => $this->l('IVA'),
            'width' => 50,
            'type' => 'int',
            'filter_key' => 'reg_iva',
            'search' => true
        ),
        'data_ins' => array(
            'title' => $this->l('Date Add'),
            'type' => 'datetime'
        ),
        'data_upd' => array(
            'title' => $this->l('Date Upd'),
            'type' => 'datetime'
        ),
    );

    // Call of the parent constructor method
    parent::init();

}

Это cpld.core.php

class cpld extends ObjectModel {

/** @var string Name */
public $id;
public $cod_int;
public $id_parent;
public $categoria_app;
public $titolo;
public $n_articoli;
public $abilitato;
public $ricarico;
public $reg_iva;
public $cat_presta;
public $data_ins;
public $data_upd;
public static $definition = array(
    'table' => 'cpld_subcategory',
    'primary' => 'id',
    'multilang' => FALSE,
    'fields' => array(
        'id' => array('type' => self::TYPE_INT),
        'cod_int' => array('type' => self::TYPE_INT),
        'id_parent' => array('type' => self::TYPE_INT),
        'categoria_app' => array('type' => self::TYPE_STRING),
        'titolo' => array('type' => self::TYPE_STRING),
        'n_articoli' => array('type' => self::TYPE_INT),
        'abilitato' => array('type' => self::TYPE_ENUM),
        'ricarico' => array('type' => self::TYPE_INT),
        'reg_iva' => array('type' => self::TYPE_INT),
        'cat_presta' => array('type' => self::TYPE_STRING),
        'data_ins' => array('type' => self::TYPE_DATE),
        'data_upd' => array('type' => self::TYPE_DATE)
    ),
);

Спасибо за вашу поддержку

...