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


14-06-2017 18:40
Нужно создать новую страныцу в админ панели и вывести на нее содержимое с базы. В админке есть вкладка администрирование, вот там я добавил свою новую страныцу, она успешно отобразилась на панели слева, только когда я перехожу на нее то пишет не обрнаружен controller, вопрос следующий, какие действия нужно предпринять после добавления страныци в "администрирование", какие файлі создать, и как должен выглядеть controller? спасибо
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


14-06-2017 19:18
все сделал. Дело в том что когда я создавал новый controller то мне показывался белый екран, и я не мог понять в чем дело. А нужно было всего навсего очистить кеш, и все работает.


Сообщение отредактировал BigKasper (14-06-2017 20:27)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


14-06-2017 20:35
Пример создания:
1) ПУ > Администрирование > Закладки :: Добавить новую закладку
Класс: "Test".
2) В директории /controllers/admin/ создаём файл TestController.php
Код:
<?php

class TestControllerCore extends AdminController
{
    public function __construct()
    {
        $this->bootstrap = true;
        parent::__construct();
    }

    public function initContent()
    {
        parent::initContent();
    }
}

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


14-06-2017 21:26
Цитата:( Алекс @ 14-06-2017 21:35 Смотреть сообщение )
Пример создания:
1) ПУ > Администрирование > Закладки :: Добавить новую закладку
Класс: "Test".
2) В директории /controllers/admin/ создаём файл TestController.php
Код:
<?php

class TestControllerCore extends AdminController
{
    public function __construct()
    {
        $this->bootstrap = true;
        parent::__construct();
    }

    public function initContent()
    {
        parent::initContent();
    }
}

3) Удалить файл /cache/class_index .php
а как сделать вывод текста из базы на эту страницу (самый простой пример)? Сделал так (посмотрел пример других controller):
Код:
class AdminRequestsNoSentControllerCore extends AdminController
{
    public function __construct()
    {
        $this->bootstrap = true;
        $this->className = 'AdminRequestsNoSent';
        $this->lang = false;
        $this->context = Context::getContext();
        $this->addRowAction('view');
        $this->table = 'requests_parts';
        
        $this->_where = ' AND (active = 0)';
        $this->_orderBy = 'date_add';
        $this->_orderWay = 'DESC';


        $this->fields_list = array(
            'user_id' => array(
                            'title' => $this->l('user'),
                            'align' => 'center',
                            'class' => 'fixed-width-xs'),
            'brand_id' => array(
                            'title' => $this->l('brand'),
                            'align' => 'center'),
            'part_number' => array(
                            'title' => $this->l('part_number'),
                            'align' => 'center'),
            'quntity' => array(
                            'title' => $this->l('quntity'),
                            'align' => 'center'),
            'comment' => array(
                            'title' => $this->l('comment'),
                            'align' => 'center'),
            'date_add' => array(
                            'title' => $this->l('date_add'),
                            'align' => 'center'),
            /*'user_id' => array(
                            'title' => $this->l('User')
                            ),*/
    
        );
        
        parent::__construct();
        
    }
}

Проблема в том что не могу понять откуда подтягиваются на ету страныцу кнопки, так как они не подходят мне и их нужно изменить, также сама выборка с базы не устраивает, потому что мне нужно выбрать часть даных с одной таблицы, а часть
с другой. Может где то подробней об этом написано?!


Сообщение отредактировал BigKasper (14-06-2017 22:29)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


14-06-2017 23:21
Цитата:( BigKasper @ 14-06-2017 22:26 Смотреть сообщение )
Проблема в том что не могу понять откуда подтягиваются на ету страныцу кнопки, так как они не подходят мне и их нужно изменить

Если стандартные ('view', 'edit', 'duplicate', 'delete') не устраивают - добавляете свои:
после:
Код:
$this->addRowAction('view');

добавить:
Код:
$this->addRowAction('test');

и добавить метод:
Код:
public function displayTestLink($token = null, $id)
{
    return '<a href="'. self::$currentIndex.'&'.$this->identifier.'='.$id.'&test&token='.($token != null ? $token : $this->token) .'"><i class="icon"></i> Это пример</a>';
}


Цитата:( BigKasper @ 14-06-2017 22:26 Смотреть сообщение )
также сама выборка с базы не устраивает, потому что мне нужно выбрать часть даных с одной таблицы, а часть с другой.

добавить подобный код:
Код:
$this->_join .= 'LEFT JOIN `'._DB_PREFIX_.'таблица` t ON (t.`что-то` = a.`что-то`)';
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


15-06-2017 13:07
Цитата:( Алекс @ 15-06-2017 00:21 Смотреть сообщение )
Цитата:( BigKasper @ 14-06-2017 22:26 Смотреть сообщение )
Проблема в том что не могу понять откуда подтягиваются на ету страныцу кнопки, так как они не подходят мне и их нужно изменить
Если стандартные ('view', 'edit', 'duplicate', 'delete') не устраивают - добавляете свои:
после:
Код:
$this->addRowAction('view');

добавить:
Код:
$this->addRowAction('test');

и добавить метод:
Код:
public function displayTestLink($token = null, $id)
{
    return '<a href="'. self::$currentIndex.'&'.$this->identifier.'='.$id.'&test&token='.($token != null ? $token : $this->token) .'"><i class="icon"></i> Это пример</a>';
}


Цитата:( BigKasper @ 14-06-2017 22:26 Смотреть сообщение )
также сама выборка с базы не устраивает, потому что мне нужно выбрать часть даных с одной таблицы, а часть с другой.
добавить подобный код:
Код:
$this->_join .= 'LEFT JOIN `'._DB_PREFIX_.'таблица` t ON (t.`что-то` = a.`что-то`)';

спасибо, а где можно про єто почитать?или нужно ковырятся в коде и разбиратся?!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


15-06-2017 14:09
Цитата:( BigKasper @ 15-06-2017 14:07 Смотреть сообщение )
а где можно про єто почитать?или нужно ковырятся в коде и разбиратся?!

Цитата:
нужно ковыряться в коде и разбираться
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос