SectionController
Si hereda de SectionController podrá crear rápidamente páginas con varias pestañas o secciones, cada una con un listado, buscador, ordenación, paginación, etc.
Ejemplo de SectionController
<?php
namespace FacturaScripts\Plugins\MyPlugin\Controller;
use FacturaScripts\Core\Base\DataBase\DataBaseWhere;
use FacturaScripts\Plugins\webportal\Lib\WebPortal\SectionController;
class PluginList extends SectionController
{
protected function createSections()
{
$this->addListSection('plugins', 'WebProject', 'plugins', 'fa-plug', '2018');
$this->addOrderOption('plugins', ['LOWER(name)'], 'name', 1);
$this->addSearchOptions('plugins', ['name', 'description']);
}
protected function loadData(string $sectionName)
{
switch ($sectionName) {
case 'plugins':
$where = [new DataBaseWhere('plugin', true)];
$this->sections[$sectionName]->loadData('', $where);
break;
}
}
}
createSections()
Añada las secciones que necesite dentro de esta función, así como las opciones de búsqueda y ordenación.
loadData()
Cargue los datos a mostrar en cada sección desde esta función. Puede llamar a loadListSection() con el nombre de la sección y un array de databasewhere para que el controlador se encargue de cargar los datos.