Изменение движка шаблонов проекта с savant2 на планшеты - PullRequest
0 голосов
/ 25 мая 2018

У меня возникла проблема при преобразовании старого проекта, использующего шаблонный движок savant2 , в plate шаблонный движок, я просмотрел документацию на platephp, и он все еще сбивает с толку.Проект в шаблоне 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');

Затем в заголовке.Файл tmpl.php

<?php echo $this->name; ?>

Теперь я хочу использовать шаблонизатор пластин вместо вместо savant2, вот как мой код теперь структурируется, первый файл

$plates  = new League\Plates\Engine();
$plates->addFolder('template', [LINK TO TEMPLATE OR THEME]);

В другомfile,

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

1 Ответ

0 голосов
/ 31 июля 2018

Я наконец решил, более подробно об ответе выложено в этой ссылке

    //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, которое теперь работает на шаблонном движке

...