====== Twig ====== Šablonovací systém pro PHP. **Twig home page:** http://twig.sensiolabs.org/ **Demo examples:** http://twig.isn.cz/ ===== Požadavky ===== * pro Twig 1.13.2 miminálně PHP 5.2.4 ===== Instalace pomocí Composeru ===== Protože mám v konfiguraci PHP (/etc/php.ini) volbu **allow_url_fopen=Off**, tak jsem do PHP CLI povolil hodnotu **On** pro stažení a instalaci. **Stažení** shell# mkdir -p /data/install/twig shell# cd /data/install/twig shell# curl -s http://getcomposer.org/installer | php -d allow_url_fopen=On **Vytvoření konfiguračního souboru pro Composer** { "require": { "twig/twig": "1.*" } } **Instalace přes Composer** shell# php -d allow_url_fopen=On composer.phar install ===== Příklady použití ===== Přejít do adresáře projektu. shell# mkdir lib cache templates css shell# cp -r /data/install/twig/vendor/twig/twig/lib/Twig ./lib ==== First Page ==== **Demo example page:** http://twig.isn.cz/first.php {% block htmlHead %} {% block titleHead %} {% endblock %} {% endblock %}
{% block content %} {% endblock %}
{% extends "base.html" %} {# comment: include meta tags into block htmlHead #} {% block htmlHead %} {# comment: include content of htmlHead block of parent #} {{ parent() }} {% endblock %} {% block titleHead %} {{ firstPageTitle }} {% endblock %} {% block content %} ← Back to Demo Examples list of Twig

Url doc: {{ firstPageDocUrl }}

This is example text in content div. {% endblock %}
* Doc: https://www.isn.cz/kb/doku.php/twig#first-page * */ require_once './lib/Twig/Autoloader.php'; Twig_Autoloader::register(); // loading templates, path to templates $loader = new Twig_Loader_Filesystem('./templates'); // environment options $twig = new Twig_Environment($loader, array( 'cache' => './cache', // path to compilation cache, default to false (disable caching) 'debug' => false, // default to false 'charset' => 'utf-8', // default to utf-8 'base_tamplate_class' => 'Twig_Template', // default to Twig_Template 'auto_reload' => false, // default to false 'strict_variables' => false, // default to false, false = Twig will silently ignore invalid variables (variables and or attributes/methods that do not exist) and replace them with a null value, true = Twig throws an exception instead 'autoescape' => 'html', // default to true, true = auto-escaping will be enabled by default for all templates, false = disable, or scaping strategy to use (html, jscss, url, html_attr) or callback 'optimizations' => -1 // default to -1, -1 = all optimizations are enabled, 0 = disabled ) ); // load template first.html $template = $twig->loadTemplate('first.twig'); // render page with this variables echo $template->render(array('firstPageTitle' => 'First Page', 'firstPageDocUrl' => 'https://www.isn.cz/kb/doku.php/twig#first-page')); ?> root { display: block; } #content { width: 90%; min-height: 500px; border-top: 2px solid #000000; } #footer { width: 90%; min-height: 100px; border-top: 2px solid #000000; }