2015-08-20 4 views
1

Привет, поэтому у меня есть простой код здесь, который будет отображать home.html с использованием тонкой рамки и веточки. Вот коды:Slim Framework и Twig templating engine

В моем файле index.php:

require_once 'vendor/autoload.php'; 

$app = new \Slim\Slim([ 
     'debug' => true, 
     'templates.path' => 'app/views' 
    ]); 

$app->view = new \Slim\Views\Twig(); 
$app->view->setTemplatesDirectory("app/views"); 

$view = $app->view(); 
$view->parserOptions = ['debug' => true]; 
$view->parserExtensions = [new \Slim\Views\TwigExtension()]; 

$app->get('/home', function() use ($app) { 
    $app->render('home.html'); 
}); 

$app->run(); 

Вот шаблон base.html: enter image description here

И мой home.html:

{% extends "base.html" %} 
{% block content %} 
Some content here 
{% endblock %} 

Мои вопрос заключается в том, что единственная отображаемая часть - это home.html, что, если я хочу, чтобы некоторые данные загружались в базовый шаблон? Как это .. enter image description here

Так что мне не придется повторять его на каждой странице, которую я делаю. Возможно ли это на базовом шаблоне? Заранее спасибо.

Кроме того, this - это то, что я следил, чтобы установить веточку в тонкий.

+0

Будете ли вы загружать эти данные на каждую страницу/маршрут? –

ответ

0

Я думаю, что лучший ответ дается here. Там ответчик говорит «напишите Twig custom function» для загрузки динамических данных в ваши представления.

Итак, вы сможете написать свой собственный PHP, можете вставлять свою БД и использовать ее вместе с этим шаблоном.

+0

Вы правы, но я не могу выполнять свои собственные функции, используя тонкие и веточки:/ – FewFlyBy

+0

Почему вы не должны? – danopz

+0

Я имею в виду, я не знаю, как .. Я следил за документами, но я действительно не знаю, как правильно это сделать. – FewFlyBy