Персональные инструменты

Обработчик шаблонов (Основы) — различия между версиями

Материал из wiki.2fox.org

Перейти к: навигация, поиск
(Условные конструкции)
Строка 1: Строка 1:
 
За основу был взят простой в использовании, но очень функциональный обработчик шаблонов от [http://webew.ru/articles/3609.webew Михаила Серова]. Данный обработчик поддерживает условные конструкции, циклы, подключение вложенных шаблонов и запуск сторонних модулей (функций)
 
За основу был взят простой в использовании, но очень функциональный обработчик шаблонов от [http://webew.ru/articles/3609.webew Михаила Серова]. Данный обработчик поддерживает условные конструкции, циклы, подключение вложенных шаблонов и запуск сторонних модулей (функций)
 
 
== Основы синтаксиса ==
 
== Основы синтаксиса ==
 
<source lang="html4strict">
 
<source lang="html4strict">
Строка 34: Строка 33:
 
</html>
 
</html>
 
</source>
 
</source>
 +
  
 
== Условные конструкции ==
 
== Условные конструкции ==
Строка 62: Строка 62:
 
     var_1 равно "one" и при этом var_2 равно "two"
 
     var_1 равно "one" и при этом var_2 равно "two"
 
  {* var_1="one" & var_2="two" *?}
 
  {* var_1="one" & var_2="two" *?}
 +
</source>
 +
 +
 +
== Циклы ==
 +
В цикле ключи массива указываются через двоеточие — {*menu:title*}, а вне цикла через точку — {*logo.image*}.
 +
<source lang="html4strict">
 +
<div id="menu">
 +
    {%*menu*}
 +
        <a href="{*menu:url*}">{*menu:title*}</a>
 +
    {*menu*%}
 +
</div>
 
</source>
 
</source>

Версия 14:12, 5 ноября 2014

За основу был взят простой в использовании, но очень функциональный обработчик шаблонов от Михаила Серова. Данный обработчик поддерживает условные конструкции, циклы, подключение вложенных шаблонов и запуск сторонних модулей (функций)

Основы синтаксиса

<html>
<head>
     /* Многострочные комментарии - как в C или PHP */     
     <title>{*title*}</title>
 
     /* условные конструкции: */  
     /* если keywords существует */   
     {?*keywords*}<meta name="keywords" content="{*keywords*}">{*keywords*?}
 
     {?*description*}<meta name="description" content="{*description*}">{*description*?}
</head>
<body>
     <div id="logo">
         <a href="/"><img src="{*logo.image*}" alt="{*logo.alt*}"></a>
     </div>
 
     <div id="menu">         
         /* цикл: */         
         {%*menu*}<a href="{*menu:url*}">{*menu:title*}</a>{*menu*%}     
     </div>
 
     <div id="content">
         {*content*}
     </div>
 
     <div id="footer">
         2fox.org &copy; {* @date(Y) *} /* модуль даты как PHP */ 
     </div>
</body>
</html>


Условные конструкции

 {?*a=1*} a равно 1 {*a=1*?}
 
 {?!*a=1*} a не равно 1 {*a=1*?!}
 
 {?*a>1*} a больше 1 {*a>1*?}
 
 {?!*a>1*} a не больше (т.е. меньше или равно) 1 {*a>1*?!}
 
 {?*a=b*} а равно b {*a=b*?}
 
 {?*a="раз"*} a - это "раз" {*a="раз"*?}

С помощью | можно также объединять в OR несколько условий:

 {?* var_1="one" | var_2="two" *} 
     var_1 равно "one" или var_2 равно "two"
 {* var_1="one" | var_2="two" *?}

А с помощью & - в AND:

 {? *var_1="one" & var_2="two" *} 
     var_1 равно "one" и при этом var_2 равно "two"
 {* var_1="one" & var_2="two" *?}


Циклы

В цикле ключи массива указываются через двоеточие — {*menu:title*}, а вне цикла через точку — {*logo.image*}.

<div id="menu">
     {%*menu*} 
         <a href="{*menu:url*}">{*menu:title*}</a>
     {*menu*%}
</div>