Ответить Новая тема Новый опрос 
 Фильтр на странице в админ панели
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


16-06-2017 13:40
Привет, Создал новую страницу в админ панели, новый controller , потом на нее вывел инфу из бд. По умолчанию вверху додался фильтр по даным которые я вивел
(скрин прикрепляю), только вот он не работает (HTTP ERROR 500). Хочу спросить, как онг реализован, какие функции в controller отвечают за коректность работы, та же беда с выводом количества записей на странице. Спасибо!


Изображения:
e941f7dd-1b18-4022-48b4-65085de4ee28.png - Размер файла10.38KB, Скачиваний: 219 (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


16-06-2017 14:53
Когда мой контроллер виводит даные с другой таблицы то фильтр работает:
Код:
/**
* @property Organization $object
*/
  //Language::getIsoById($this->context->employee->id_lang))
class AdminRequestsNoSentControllerCore extends AdminController
{
public function __construct()
    {
         $this->bootstrap = true;
        $this->className = 'RequestsInProgress';
        $this->lang = false;
        $this->context = Context::getContext();
        $this->addRowAction('view');
        $this->table = 'request_list';


        
        $this->fields_list = array(
            'id_request_list' => array(
                            'title' => $this->l('Request ID'),
                            'align' => 'center',
                            'class' => 'fixed-width-xs'),
            /*'user_id' => array(
                            'title' => $this->l('User')
                            ),*/

            'customer' => array(
                            'title' => $this->l('Customer'),
                            'havingFilter' => true,
            ),

            'date' => array(
                            'title' => $this->l('Date'),
                            'type' => 'datetime'
                            ),
            'part_count' => array(
                            'title' => $this->l('Parts count'),
                            'orderby' => false,
                            'filter' => false,
                            'search' => false
                            )
        );

        parent::__construct();
    }
    
    
}

а если я вывожу с которой мне нужно то нет:
Код:
<?php
/**
* @property Organization $object
*/
  //Language::getIsoById($this->context->employee->id_lang))
class AdminRequestsNoSentControllerCore extends AdminController
{
    public function __construct()
    {
        $this->bootstrap = true;
        $this->className = 'AdminRequestsNoSent';
        $this->lang = false;
        $this->context = Context::getContext();
        $this->table = 'requests_parts';
        $this->addRowAction('send');
        $this->_select .= 'c.`company`, c.`lastname` ';
        $this->_where = ' AND (a.active = 0) ';//AND (a.`user_id` = c.`id_customer`)
        $this->_join .= 'LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`user_id`)';
        $this->_orderBy = 'date_add';
        $this->_orderWay = 'DESC';
        
        
        $this->fields_list = array(
        'company' => array(
                        'title' => $this->l('Organization'),
                        'align' => 'center'),
        'lastname' => array(
                        'title' => $this->l('Customer'),
                        'align' => 'center'),
        'name' => array(
                        'title' => $this->l('brand'),
                        'align' => 'center'),
        'part_number' => array(
                        'title' => $this->l('part_number'),
                        'align' => 'center'),
        'comment' => array(
                        'title' => $this->l('comment'),
                        'align' => 'center',
                        'filter' => false,),
        'date_add' => array(
                        'title' => $this->l('date_add'),
                        'align' => 'center'),
        /*'user_id' => array(
                        'title' => $this->l('User')
                        ),*/

        );
  

        //$brand = Db::getInstance ()->getValue('SELECT `id_customer` FROM `' . _DB_PREFIX_ . 'user_facebook` WHERE `id_facebook` = "90"');

    if(isset($_GET['id_carrier']))
    {
        //Db::getInstance()->Execute("UPDATE `"._DB_PREFIX_."requests_parts` SET `active`=1 where `id_requests_parts`='".(int)$_GET['id_carrier']."'");
        AdminRequestsNoSentController::sendEmail((int)$_GET['id_carrier']);
    }
    
        parent::__construct();
    }
}

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


16-06-2017 15:01
не могу понять, что отвечает за фильтр вывода данных


Сообщение отредактировал BigKasper (16-06-2017 16:05)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


16-06-2017 18:22
так тоже не работает:
Код:
'lastname' => array(
                        'title' => $this->l('Customer'),
                        'align' => 'center',
                        'filter_key' => 'c!lastname',
                        'filter' => true),
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


16-06-2017 20:44
нашол... проблема была в названии класа который прописал в AdminRequestsNoSentController.php
$this->className = 'AdminRequestsNoSent'; изменил на $this->className = 'RequestsNoSent'; и все работает
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос