<?php
namespace Modules\Community\Controllers;
use App\Controllers\BaseController;
class CommunityController extends BaseController {
public function ShowPage(){
$data = array_merge([
'global' => $this->viewData,
'lang' => $this->viewData['locale'],
'view_class' => 'community_index',
'title' => 'My Super title seo',
'desc' => 'My Super seo description'
]);
return twig(false, false, false)->render('Modules\Community\Views\home.twig', $data);
}
}
Views/home.twig
{% extends 'Views/front/themes/' ~ THEME ~ '/base.twig' %}
{# injection dans le head #}
{% block headextends %}
INJECTION DANS LE <head></head>
{% endblock %}
{% block content %}
VOTRE CONTENU HTML/TWIG...
{% endblock %}
{# injection dans le footer #}
{% block footextends %}
INJECTION en fin de BODY
{% endblock %}
Models/MyModel.php
<?php
namespace Modules\Community\Models;
use CodeIgniter\Model;
class MyModel extends Model {
protected $table = 'my_module';
public function mysuperModel(){
return true;
}
}
Pour finir si vous devez avoir des assets "PUBLIC" (CSS, JS, HTML, MEDIAS) il vous suffit juste de crée un dossier dans Public/modules/Community/vos assets ici et de les required via le footextends ou le headextends de votre .TWIG
Il est tout a fait possible de recrée un nouveau theme dans votre base twig, dans l'exemple nous héritons du theme principal, mais vous pouvez choisir que non.