У меня проблема с преобразованием старого проекта, который использует savant2 шаблонный движок для тарелки Шаблонный движок, я просмотрел документацию на PlateSpp, и это все еще сбивает с толку.
Проект в шаблоне savant2 структурирован таким образом (пример), первый файл
$savant = new Savant2();
$savant->addPath('template', [LINK TO TEMPLATE OR THEME]);
Затем в другом файле, где объявлены необходимые переменные
global $savant;
$my_name = "Victor";
$savant->assign('name', $my_name);
$savant->display('include/header.tmpl.php');
Затем в файле header.tmpl.php
<?php echo $this->name; ?>
Теперь я хочу использовать шаблонный движок пластин вместо savant2, теперь мой код имеет структуру, первый файл
$plates = new League\Plates\Engine();
$plates->addFolder('template', [LINK TO TEMPLATE OR THEME]);
В другом файле
global $plates;
$my_name = "Victor";
$plates->addData('name', $my_name);
$plates->render('include/header.tmpl.php');
Затем в файле header.tmpl.php
<?=$this->e($name)?>
Хотя он не работает должным образом, моя путаница заключается в использовании render, addData и addFolder для получения тех же результатов, что и в savant2.
Я наконец решил это, более подробно об ответе выложено в этой ссылке
//Location of savant2 library
require('/Savant2/Savant2.php');
// set default template paths:
$savant = new Savant2();
$savant->addPath('template', '/themes/');
Замените выше, и добавьте это вместо
// Enable the composer autoload file (Depending on how your system is set up)
require_once '/vendor/autoload.php';
$plates = League\Plates\Engine::create('/themes/', 'tmpl.php');
Тогда для реализации ниже savant2
require 'config.php';
$name = 'Victor Alagwu';
$school = 'University of Nigeria, Nsukka';
$course = 'Computer Science';
$savant->assign('author', $name);
$savant->assign('school', $school);
$savant->assign('course' $course);
$savant->display(home.tmpl.php);
Замените его на эту реализацию пластин
require 'config.php';
$name = 'Victor Alagwu';
$school = 'University of Nigeria, Nsukka';
$course = 'Computer Science';
plate['name'] = $name;
plate['school'] = $school;
plate['course'] = $course;
echo $plates->render('home.tmpl.php', $plate);
Затем для файлов шаблона (Savant2)
Name:
<?php echo $this->name; ?>
Course:
<?php echo $this->course; ?>
School:
<?php echo $this->school; ?>
Заменить на ниже (для пластин)
Name:
<?php echo $name; ?>
Course:
<?php echo $course; ?>
School:
<?php echo $school; ?>
И вот у вас есть ваше ранее приложение savant2, теперь работающее на шаблонном движке пластин
Других решений пока нет …