рд╕реНрдорд╛рд░реНрдЯреА 3 рдлрд╛рдЗрдирд▓ рд░рд┐рд▓реАрдЬрд╝ред рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд▓реЛрдХрдкреНрд░рд┐рдп рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рд╕реНрдорд╛рд░реНрдЯреА 3 рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдирд╡рд╛рдЪрд╛рд░:





- PHP5 рдХреЗ рддрд╣рдд рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛, рдЕрдм PHP4 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (PHP 5.1 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)

- рдЗрд╕рдХреЗ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ



- рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд╛рд░реНрд╕рд░ рдФрд░ рд▓реЗрд╕рд░, рдЬреЛ рд╣рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЬрдЯрд┐рд▓ рдЧрдгрд┐рдд рдЬреИрд╕реЗ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдиреЗрд╕реНрдЯреЗрдб рдХреЙрд▓ред



- рдЯреЗрдореНрдкрд▓реЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ

$tpl = $smarty->createTemplate('my.tpl'); $tpl->assign('foo','bar'); $smarty->display($tpl); // or $tpl->display();
      
      







- рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ:

 $data = new Smarty_Data; $data->assign('foo','bar'); $smarty->display('my.tpl',$data); $tpl = $smarty->createTemplate('my.tpl',$data);
      
      







- PHP рдереНрд░реЗрдб рд╕рдорд░реНрдерди

 $smarty->display('foo:bar.tpl'); {include file="foo:bar.tpl"}
      
      





рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд рдлреВ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдкрд╣рд▓реЗ рдЦреЛрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдХреЛрдИ рдирд╣реАрдВ рдорд┐рд▓рд╛, рддреЛ рд╕реНрдорд╛рд░реНрдЯреА foo рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдЧрд╛: //



- рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рд░рд╛рд╕рдд

 рдЬрдирдХ .tpl

 <Html>
   <Head>
  	 <рд╢реАрд░реНрд╖рдХ> {рдмреНрд▓реЙрдХ рдирд╛рдо = рд╢реАрд░реНрд╖рдХ} рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реАрд░реНрд╖рдХ {/ рдмреНрд▓реЙрдХ} <рд╢реАрд░реНрд╖рдХ>
   </ Head>
   <Body>
	 {рдмреНрд▓реЙрдХ рдирд╛рдо = рд╢рд░реАрд░} рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢рд░реАрд░ {/ рдмреНрд▓реЙрдХ}
   </ Body>
 </ Html>

 рдмрдЪреНрдЪрд╛ .tpl

 {рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ = "parent.tpl"}
 {рдмреНрд▓реЙрдХ рдирд╛рдо = рд╢реАрд░реНрд╖рдХ} рдореЗрд░рд╛ рдмрдЪреНрдЪрд╛ рд╢реАрд░реНрд╖рдХ {/ рдмреНрд▓реЙрдХ}
 {рдмреНрд▓реЙрдХ рдирд╛рдо = рд╢рд░реАрд░} рдореЗрд░рд╛ рдмрдЪреНрдЪрд╛ рд╢рд░реАрд░ {/ рдмреНрд▓реЙрдХ}

 рдкрд░рд┐рдгрд╛рдо $ рдЪрд╛рд▓рд╛рдХреА-> рдкреНрд░рджрд░реНрд╢рди ('child.tpl');

 <Html>
   <Head>
  	 <рд╢реАрд░реНрд╖рдХ> рдореЗрд░рд╛ рдмрдЪреНрдЪрд╛ рд╢реАрд░реНрд╖рдХ <рд╢реАрд░реНрд╖рдХ>
   </ Head>
   <Body>
	 рдореЗрд░рд╛ рдмрдЪреНрдЪрд╛ рд╢рд░реАрд░
   </ Body>
 </ Html>




- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреА рдЕрдирджреЗрдЦреА "{", "}" рдпрджрд┐ рд╡реЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдШрд┐рд░реЗ рд╣реБрдП рд╣реИрдВ (рдЖрдкрдХреЛ рдЕрдм рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ {рд╢рд╛рдмреНрджрд┐рдХ} {/ рд╢рд╛рдмреНрджрд┐рдХ} рдХреЛ рдШреЗрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдпрд╛ рдПрдХ рдЕрд▓рдЧ рдЯреИрдЧ рдорд╛рд░реНрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред



- рд╕рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ

  $smarty->registerFilter('variable','htmlspecialchars');
      
      







- рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдПрдБ

 {* рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ *}
 {рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо = рдореЗрдиреВ рд╕реНрддрд░ = 0}
   <ul class = "level {$ level}">
   {$ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ $ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ}
     {рдЕрдЧрд░ is_array ($ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐)}
       <li> {$ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ @ рдХреБрдВрдЬреА} </ li>
       {рдореЗрдиреВ рдбреЗрдЯрд╛ = $ рдкреНрд░рд╡реЗрд╢ рд╕реНрддрд░ = $ рд╕реНрддрд░ + 1}
     {Else}
       <li> {$ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐} </ li>
     {/ рдЕрдЧрд░}
   {/ foreach}
   </ Ul>
 {/ рд╕рдорд╛рд░реЛрд╣}

 {* рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдПрдВ *}
 {$ рдореЗрдиреВ = [1 рдЖрдЗрдЯрдо рез тАЩ, menu рдЖрдЗрдЯрдо реитАЩ, 'рдЖрдЗрдЯрдо 3 тАЩ=> [3 рдЖрдЗрдЯрдо 3-1тАЩ,, рдЖрдЗрдЯрдо 3-2 тАЩ, 3 рдЖрдЗрдЯрдо 3-3тАЩ =>
 ['рдЖрдЗрдЯрдо 3-3-1', 'рдЖрдЗрдЯрдо 3-3-2']], 'рдЖрдЗрдЯрдо 4']}

 {* рдЗрд╕реЗ рдлрдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдПрдВ *}
 {рдореЗрдиреВ рдбреЗрдЯрд╛ = $ рдореЗрдиреВ}
 <Pre>
 рдирд┐рд╖реНрдХрд░реНрд╖

 * рдЖрдЗрдЯрдо 1
 * рдЖрдЗрдЯрдо 2
 * рдЖрдЗрдЯрдо 3
       рдУ рдЖрдЗрдЯрдо 3-1
       рдУ рдЖрдЗрдЯрдо 3-2
       рдУ рдЖрдЗрдЯрдо 3-3
             + рдЖрдЗрдЯрдо 3-3-1
             + рдЖрдЗрдЯрдо 3-3-2
 * рдЖрдЗрдЯрдо 4




- рддрддреНрд╡-рд╕реНрддрд░реАрдп рдХреИрд╢рд┐рдВрдЧ рдкреНрд░рдмрдВрдзрди

  {$ рдлреВ рдиреЛрдЪреЗ} - рдЗрд╕ рдЪрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╢ рди рдХрд░реЗрдВ
  {рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ = "foo.tpl" nocache} - рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╢ рди рдХрд░реЗрдВ




- рд╕реНрдорд╛рд░реНрдЯреА 2 рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ рдкреВрд░реНрдг рд╕рдВрдЧрддрддрд╛ред

- {php} рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИ рдФрд░ рдЗрд╕реЗ рдкрджрд╛рд╡рдирдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

- рд╕реНрдорд╛рд░реНрдЯреА рдЕрдм рдпреВрдЯреАрдПрдл -8 рдкреИрдЯрд░реНрди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдЪреВрдХ рдХрд░рддрд╛ рд╣реИред



рддреАрдиреЛрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд┐рдХрд▓реЗред рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ 27Kb рд▓реЗрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рдЬрд┐рд╕рдореЗрдВ рдлрд╝реЙрд░рдЪреИрдЯ рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЯреИрдЧ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрджрд┐ рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рдкреНрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдВрдХрд▓рди рдкрд░, рдХрдо рд╕реЗ рдХрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ smarty_internal_templatelexer + smarty_internal_templateparser.php рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ~ 200Kb рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рдВрдХрд▓рд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 30Kb рдХреЛрдб рд╕реБрдЦрдж рд░реВрдк рд╕реЗ рдкреНрд░рд╕рдиреНрди рд╣реЛрддрд╛ рд╣реИред



All Articles