Jump to content

Разработка модуля для админки.


Recommended Posts

Перекопал весь google, но что-то идет не так.

Мне нужно сделать очень простой модуль в самой админке. Точнее чтобы в админке можно было бы перейти на страницу модуля (не в разделе модуля, а через табы) и там добавлять какие-то сущности. Примерно как модуль cms, только намного проще. Таблица созданных элементов, при добавлении только редактор.

По некоторым мануалом делал, но в error_log только то, что не найден класс. 

Сейчас конечно еще раз на свежую голову пересмотрю документацию, но если у кого есть простой готовый модуль (для примера), то было бы супер. Или какой-то мануал.

Вероятнее всего сложности никакой нет, просто нет полного понимания.

Спасибо ;)

Link to comment
Share on other sites

Перекопал весь google, но что-то идет не так.

Мне нужно сделать очень простой модуль в самой админке. Точнее чтобы в админке можно было бы перейти на страницу модуля (не в разделе модуля, а через табы) и там добавлять какие-то сущности. Примерно как модуль cms, только намного проще. Таблица созданных элементов, при добавлении только редактор.

По некоторым мануалом делал, но в error_log только то, что не найден класс. 

Сейчас конечно еще раз на свежую голову пересмотрю документацию, но если у кого есть простой готовый модуль (для примера), то было бы супер. Или какой-то мануал.

Вероятнее всего сложности никакой нет, просто нет полного понимания.

Спасибо ;)

немного непонятно что нужно...

Link to comment
Share on other sites

Поясню.

Как сделать модуль для админки?

если про вкладку новую то используй

класс Tab для создания.

$new_tab = new Tab();
        $new_tab->class_name = 'TestClass';
        $new_tab->id_parent = Tab::getCurrentParentId();
        $new_tab->module = $this->name;
        $languages = Language::getLanguages();
        foreach ($languages as $language) {
            if ($language['iso_code'] == 'fr') {
                $new_tab->name[$language['id_lang']] = 'Testtab';
            } else {
                $new_tab->name[$language['id_lang']] = 'Testtab';
            }
        }

        $new_tab->add();

при установке модуля + новый контроллер с нужным классом

Link to comment
Share on other sites

Помогло это:

 

Сreate controllers/admin/AdminPageController.php with the follwing content:

class AdminPageController extends AdminController
{
public function initContent()
{
parent::initContent();
$smarty = $this->context->smarty;

$smarty->assign('test', 'test1');

}
}

Delete: /cache/class_index.php

Create: admin\themes\default\template\controllers\page\content.tpl

zzz{$test}zzz

At BackOffice -> Administration -> Menus -> [Add New]:

Name: Page
Class: AdminPage
Parent: Catalog

Click the [save] button and the menu item should appear at the "Catalog" menu.

 

Link to comment
Share on other sites

Помогло это:

дада

At BackOffice -> Administration -> Menus -> [Add New]:

Name: Page

Class: AdminPage

Parent: Catalog

Click the [save] button and the menu item should appear at the "Catalog" menu.

это делает класс Tab

Link to comment
Share on other sites

Жесть.

Добавить то добавил, но вот в том чтобы отрендерить форму и т/д хер че поймешь. Точнее можно, но убив кучу времени. Есть вообще нормальная документация для разработки back-end модулей? 

Объясню что мне нужно сделать:

Раздел в админке, где администратор сможет добавить баннер. Страница с добавлением имеет только заголовок и текстовый редактор. С добавлением все. Так же конечно нужен список уже добавленых. 

В том же drupal и тд данное есть сразу в документации, здесь я ен могу найти нифига.

Очень надеюсь что это я туплю :)
Кто чем может помочь? 

Link to comment
Share on other sites

Жесть.

Добавить то добавил, но вот в том чтобы отрендерить форму и т/д хер че поймешь. Точнее можно, но убив кучу времени. Есть вообще нормальная документация для разработки back-end модулей? 

Объясню что мне нужно сделать:

Раздел в админке, где администратор сможет добавить баннер. Страница с добавлением имеет только заголовок и текстовый редактор. С добавлением все. Так же конечно нужен список уже добавленых. 

В том же drupal и тд данное есть сразу в документации, здесь я ен могу найти нифига.

Очень надеюсь что это я туплю :)

Кто чем может помочь? 

открывай класс helper + helperlist(таблицы) + helperform(поля) и изучай)

та  всё предельно просто)

Link to comment
Share on other sites

Я замечал за все время работы программистом, что порой то, над чем бъешся в спешке несколько часов, потом оказывается очень простым. Все таки prestashop отличается своей особой логикой от остальных систем.

Посмотрел тот модуль. Да, там есть добавление и список, надеюсь возможно кинуть ссылку в табы на список. Иначе это не удобно конечному пользователю (администратору).

Link to comment
Share on other sites

Я замечал за все время работы программистом, что порой то, над чем бъешся в спешке несколько часов, потом оказывается очень простым. Все таки prestashop отличается своей особой логикой от остальных систем.

Посмотрел тот модуль. Да, там есть добавление и список, надеюсь возможно кинуть ссылку в табы на список. Иначе это не удобно конечному пользователю (администратору).

не забывай использовани helper в модуле и в табе разные переменные и синтакс.

открой adminproductscontroller.php там более понятно для табов

Link to comment
Share on other sites

Вот пример контроллера для админки https://github.com/prestalab/universalpay/blob/master/controllers/admin/AdminUniPaySystem.php

1. Нужно создать таблицу в БД

2. Создать модель и по крайней мере описать свойства полей в ней в свойстве $definition https://github.com/prestalab/universalpay/blob/master/UniPaySystem.php

3. Создать и установить контроллер админпанели и в функции renderForm описать форму редактирования. Операции со списком типа просмотра и удаления будут созданы автоматически.

 

 

Документацию можете посмотреть в самих исходниках движка или с помощью phpDoc сгенерировать

Link to comment
Share on other sites

×
×
  • Create New...