Pour utiliser Plate comme moteur de template dans vos plugins Prestashop :
class mon_pluginFrontController extends ModuleFrontController {
protected $plates;
...
public function initContent()
{
parent::initContent();
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Engine.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Extension/ExtensionInterface.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/Data.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/Directory.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/FileExtension.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/Folders.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/Func.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/Functions.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/Name.php';
require_once __DIR__.'/../../vendor/plates-3.1.1/src/Template/Template.php';
$this->plates = new League\Plates\Engine(__DIR__.'/../../views/templates/front/'); // ici on indique à Plate où se trouve les vues
}
}
$data = [];
$data = ['info' => 'texte'];
$this->plates->render('template-name', $data);
A noter que dans les futurs versions de Prestashop, Smarty sera probablement optionnel.
Partager l'article