<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : XTemplate 2.0</title>
		<link>https://www.cotonti.com</link>
		<description>Son konu mesajları</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Wed, 08 Apr 2026 19:52:43 -0000</pubDate>

		<item>
			<title>musiconly</title>
			<description><![CDATA[that didn't work.<br />
<br />
but this did<br />
<div class="highlight"><pre class="html">   1. &lt;!-- IF {COMMENTS_ROW_AUTHORID} == {PHP.pag.page_ownerid} --&gt; some code here &lt;!-- ENDIF --&gt;</pre></div>
<br />
i was so close :-) thanks Trust! :-)]]></description>
			<pubDate>Çrş, 29 Tem 2009 22:29:59 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post15034]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Try this:<br />
<div class="highlight"><pre class="html">
&lt;!-- IF {COMMENTS_ROW_AUTHOR} == {PHP.pag.page_ownerid} --&gt; some code here &lt;!-- ENDIF --&gt;</pre></div>]]></description>
			<pubDate>Çrş, 29 Tem 2009 21:53:25 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post15030]]></link>
		</item>
		<item>
			<title>musiconly</title>
			<description><![CDATA[one question..<br />
<br />
trying to do something with comments, couldn't figure it out.<br />
<br />
Since you can't use page.tpl tags in comments.tpl tags this condition:<br />
<br />
&lt;!-- IF {COMMENTS_ROW_AUTHOR} == {PAGE_AUTHOR} --&gt; some code here &lt;!-- ENDIF --&gt;<br />
<br />
isn't working.<br />
<br />
So i need to find a global tag.<br />
<br />
Is there any tag which will act like $usr['isowner'] or $usr['isadmin']. I tried {PHP.usr.isadmin}, {PHP.pag.page_owner} (don't know if that codes are even &quot;the right&quot; ones).<br />
<br />
Basically, what I'm trying to accomplish is different display of comment if the comment author is also the author(owner) of the page they're commenting. You can see this a lot on WP powered sites.]]></description>
			<pubDate>Çrş, 29 Tem 2009 19:17:59 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post15020]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[Funny thing is that it worked earlier <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":)" /> <br />
Thanks for guidelines, now my conditional tags will be better <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":)" />]]></description>
			<pubDate>Çrş, 29 Tem 2009 18:21:00 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post15011]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[<ol>
<li>You must not use parenthesis () in conditions</li>
<li>Do not quote the integers</li>
<li>Equal is == not =</li>
<li>If it is not in users.profile.tpl, then {PHP.usr.profile.user_maingrp} is not valid because it is defined only in users.profile.inc.php. For any template file you should use {PHP.usr.maingrp} instead which is global.</li>
</ol>]]></description>
			<pubDate>Per, 23 Tem 2009 19:34:10 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14821]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[In 0.0.7, I have problems with conditional tags... the below isn't working. Members don't see anything, which is correct, but whatever other usergroup logs in, the can see all links, but they shouldn't.<br />
<br />
I tried without (), with more () and with '' quotes, still nothing. Help?<br />
<br />
<pre class="code">&lt;li&gt;&lt;a href=https://www.cotonti.com/&quot;index.php&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
&lt;!-- IF ({PHP.usr.profile.user_maingrp} = &quot;4&quot; OR {PHP.usr.profile.user_maingrp} = &quot;6&quot;) --&gt;
&lt;li&gt;&lt;a href=https://www.cotonti.com/&quot;plug.php?e=link&quot;&gt;Lista 1&lt;/a&gt;&lt;/li&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF ({PHP.usr.profile.user_maingrp} = &quot;4&quot; OR {PHP.usr.profile.user_maingrp} = &quot;7&quot; OR {PHP.usr.profile.user_maingrp} = &quot;6&quot;) --&gt;
&lt;li&gt;&lt;a href=https://www.cotonti.com/&quot;plug.php?e=link2&quot;&gt;Lista 2&lt;/a&gt;&lt;/li&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF ({PHP.usr.profile.user_maingrp} = &quot;4&quot; OR {PHP.usr.profile.user_maingrp} = &quot;9&quot; OR {PHP.usr.profile.user_maingrp} = &quot;6&quot;) --&gt;
&lt;li&gt;&lt;a href=https://www.cotonti.com/&quot;plug.php?e=link3&quot;&gt;Lista 3&lt;/a&gt;&lt;/li&gt;
&lt;!-- ENDIF --&gt;</pre>]]></description>
			<pubDate>Per, 23 Tem 2009 18:48:35 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14817]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Probably I will implement nesting a bit later, now we need to focus on bugfixes.]]></description>
			<pubDate>Çrş, 15 Tem 2009 01:36:04 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14243]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[That we cannot encapsulate with logical blocks other blocks is quite inconvenient. Like, I'd like the file download in pages be visible over a certain user group level... and doh: I cannot do this because of file blocks.]]></description>
			<pubDate>Sal, 14 Tem 2009 21:36:44 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14229]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Fine, fixed this BOM problem in trunk and added more verbose error messages in case of wrong TPLs.]]></description>
			<pubDate>Pzt, 13 Tem 2009 23:58:43 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14157]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[Ok, here's header.tpl with BOM:<br />
<a href="http://www.yot.nazwa.pl/header.zip" rel="nofollow">http://www.yot.nazwa.pl/header.zip</a>]]></description>
			<pubDate>Pzt, 13 Tem 2009 22:46:22 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14143]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[admin.plug.inc.tpl causes that, not the plugins. It will be fixed today.<br />
<br />
Could you give those templates with BOM to test?]]></description>
			<pubDate>Pzt, 13 Tem 2009 21:24:43 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14139]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[In case of very old plugins like &quot;contactus&quot; (which don't containg tags nor even templates), the following error appears during installation:<br />
<br />
<pre class="code">Warning: mb_strpos() &#091;function.mb-strpos&#093;: Offset not contained in string in /home/sth/site/system/xtemplate.class.php on line 85
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 27132033 bytes) in /home/sth/site/system/xtemplate.class.php on line 287</pre>
<br />
Edit:<br />
<br />
Hmm, the same happens in other plugins... now I'm not that sure what might be the cause. Other plugin parts? Or something with ajax?<br />
<br />
Edit2:<br />
<br />
Xtemplate sometimes acts unstable... like it displays the beginning of page.tpl like this:<br />
<pre class="code">&lt;!-&lt;div class=&quot;mboxHD&quot;&gt;&lt;a href=https://www.cotonti.com/&quot;news/&quot;&gt;News&lt;/a&gt;</pre>
It's because it doesn't accept foreign letters in ANSI coding as well.<br />
Also, BOM-removing code doesn't work, header.tpl with BOM mark is not loaded at all.<br />
UTF-8 tpls without BOM are displayed correctly. The same with ANSI coded tpl without special letters.]]></description>
			<pubDate>Pzt, 13 Tem 2009 16:56:53 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14132]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Both are now fixed in trunk, will be available in beta3]]></description>
			<pubDate>Pzt, 13 Tem 2009 15:35:08 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14131]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[I sniffed that indexpolls plugin contains space-insensitive tags - a lot of them <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
<br />
Correct tpl:<br />
<br />
<pre class="code">&lt;!-- BEGIN: POLL_VIEW --&gt;
{POLL_FORM_BEGIN}
&lt;table&gt;
&lt;!-- BEGIN: POLLTABLE --&gt;
&lt;tr&gt;
	&lt;td&gt;&lt;label&gt;{POLL_INPUT}{POLL_OPTIONS}&lt;/label&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- END: POLLTABLE --&gt;
&lt;tr&gt;
	&lt;td&gt;{POLL_FORM_BUTTON}&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
{POLL_FORM_END}
&lt;!-- END: POLL_VIEW --&gt;


&lt;!-- BEGIN: POLL_VIEW_VOTED --&gt;
&lt;table style=&quot;width:100%;&quot;&gt;
&lt;!-- BEGIN: POLLTABLE --&gt;
&lt;tr&gt;
	&lt;td&gt;{POLL_OPTIONS}&lt;/td&gt;
	&lt;td align=&quot;right&quot;&gt;{POLL_PER}% ({POLL_COUNT})&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
	&lt;td colspan=&quot;2&quot; align=&quot;right&quot;&gt;
		&lt;div style=&quot;width:180px; &quot;&gt;
			&lt;div class=&quot;bar_back&quot;&gt;
				&lt;div class=&quot;bar_front&quot; id=&quot;pr_{POLL_PER}&quot;&gt;&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- END: POLLTABLE --&gt;
&lt;/table&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
	function anim(){
		$(&quot;.bar_front&quot;).each(function(){
			var percentage = Math.floor(($(this).attr(&quot;id&quot;).replace('pr_','')*180)/100)+'px';
			if ($(this).attr(&quot;id&quot;)!=&quot;&quot;){$(this).css({width:&quot;0&quot;}).animate({width: percentage}, &quot;slow&quot;);}
			$(this).attr(&quot;id&quot;,&quot;&quot;);
		});
	}
	anim();
&lt;/script&gt;
&lt;div&gt;&lt;div id=&quot;pfsBack&quot;&gt;{PHP.skinlang.page.Date} {POLL_SINCE_SHORT}&lt;/div&gt; {PHP.skinlang.ratings.Votes} {POLL_VOTERS} &lt;/div&gt;
&lt;!-- END: POLL_VIEW_VOTED--&gt;


&lt;!-- BEGIN: POLL_VIEW_DISABLED --&gt;
&lt;table&gt;
&lt;!-- BEGIN: POLLTABLE --&gt;
&lt;tr&gt;
	&lt;td&gt;{POLL_OPTIONS}&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- END: POLLTABLE --&gt;
&lt;tr&gt;
	&lt;td&gt;{PHP.L.rat_registeredonly}&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;!-- END: POLL_VIEW_DISABLED --&gt;

&lt;!-- BEGIN: POLL_VIEW_LOCKED --&gt;
&lt;table style=&quot;width:100%;&quot;&gt;
&lt;!-- BEGIN: POLLTABLE --&gt;
&lt;tr&gt;
	&lt;td&gt;{POLL_OPTIONS}&lt;/td&gt;
	&lt;td align=&quot;right&quot;&gt;{POLL_PER}% ({POLL_COUNT})&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
	&lt;td colspan=&quot;2&quot; align=&quot;right&quot;&gt;
		&lt;div style=&quot;width:180px; &quot;&gt;
			&lt;div class=&quot;bar_back&quot;&gt;
				&lt;div class=&quot;bar_front&quot; style=&quot;width:{POLL_PER}%;&quot;&gt;&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- END: POLLTABLE --&gt;
&lt;/table&gt;
&lt;div&gt;&lt;div id=&quot;pfsBack&quot;&gt;{PHP.skinlang.page.Date} {POLL_SINCE_SHORT}&lt;/div&gt; {PHP.skinlang.ratings.Votes} {POLL_VOTERS} &lt;/div&gt;
&lt;!-- END: POLL_VIEW_LOCKED --&gt;


&lt;!-- BEGIN: INDEXPOLLS --&gt;
&lt;!-- BEGIN: POLL --&gt;
&lt;h5&gt;&lt;a href=https://www.cotonti.com/&quot;{IPOLLS_URL}&quot;&gt;{IPOLLS_TITLE}&lt;/a&gt;&lt;/h5&gt;
{IPOLLS_FORM}
&lt;div style=&quot;text-align: right;&quot;&gt;{PHP.skinlang.comments.Comment} {IPOLLS_COMMENTS}&lt;/div&gt;
&lt;hr /&gt;
&lt;!-- END: POLL --&gt;

&lt;!-- BEGIN: ERROR --&gt;
&lt;div class=&quot;error&quot;&gt;{IPOLLS_ERROR}&lt;/div&gt;
&lt;!-- END: ERROR --&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;{IPOLLS_ALL}&lt;/p&gt;
&lt;!-- END: INDEXPOLLS --&gt;
</pre>
<br />
Edit:<br />
Also, I noticed that &quot; in articles is escaped (\&quot;Administrators\&quot;) - is it correct behaviour or should it be exchanged with html equivalent of this sign? (it doesn't have anything to do with X-Template, though)]]></description>
			<pubDate>Pzt, 13 Tem 2009 15:05:29 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14128]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Seems like this problem was connected with eval(). So there will be no such problem. But please take care of spaces in IF expressions:<br />
<pre class="code">&lt;!-- IF {PHP.urr.user_extra5} != '' --&gt;</pre>]]></description>
			<pubDate>Pzt, 13 Tem 2009 13:23:08 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14121]]></link>
		</item>
		<item>
			<title>SunChase</title>
			<description><![CDATA[Бррр.Хромает формулировка мысли на инглише.Говорю что возникла проблема,когда я сделал так:<br />
Вставил в тпл стандартный  <pre class="code">&lt;!-- IF {PHP.urr.user_extra5} !='' --&gt;</pre> в середине которого должно было выводится значение этого поля если оно заполнено.<br />
По задумке в него должна была вписыватся ссылка формата &lt;a href=https://www.cotonti.com/&quot;&quot;&gt;... .Предыдущий ХТемплейт что у меня стоял,как в результате длительных поисков выяснилось ,что он выдавал ошибку конкретно изза ковычек (&quot; &quot;) после href=https://www.cotonti.com/.<br />
<br />
Вторая проблема состояла в том,что ХТемплейт реагировал на тег USERS_DETAILS_ICQ (Показывает в page.details номер аськи + значёк\кнопку на веб профиль на самом сайте айсикью).Ошибка аналогичная той,что и в первом случае.<br />
<br />
Сама ошибка в обоих случаях писала какойто эрор под шапкой(уже непомню какой - кустарными методами пришлось решать проблему) и вообще невыводило то что должно было выводить по условию.]]></description>
			<pubDate>Pzt, 13 Tem 2009 08:21:35 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14117]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[I haven't quite understood what you were doing.]]></description>
			<pubDate>Pzt, 13 Tem 2009 06:36:31 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14110]]></link>
		</item>
		<item>
			<title>SunChase</title>
			<description><![CDATA[Great<br />
I had a problem using the previos XTemplate:<br />
When i put an Extrafield in &quot;If the field isnt empty - show&quot; and entered in that field a link<br />
,in started to give an error on &lt;a href=https://www.cotonti.com/<span style="color:#EF2929">&quot;...&quot;</span>&gt;.<br />
<br />
The second problem was with the ICQ field in the user.details.It started to work only after i put in the &quot;If&quot; the direct name of the field(not stationar tag)<br />
<br />
Have this things been fixed in this version?]]></description>
			<pubDate>Pzt, 13 Tem 2009 03:03:54 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14098]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Hmm, we really need to support UTF-8 templates. Normally UTF-8 files are without BOM but we need to have it served somehow too.<br />
<br />
<span style="text-decoration:underline">UPDATE:</span><br />
<ul>
<li>Added BOM removal for UTF-8 with BOM</li>
<li>Added variable negation in logic blocks</li>
<li>Added support for multi-block TPL files (with multiple root blocks)</li>
</ul>
<br />
And found that <strong>XTemplate 1.0 was <span style="text-decoration:underline">not</span> space sensitive</strong>, so be careful.]]></description>
			<pubDate>Paz, 12 Tem 2009 23:52:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14086]]></link>
		</item>
		<item>
			<title>GHengeveld</title>
			<description><![CDATA[Great to have logic blocks support while reducing load times!]]></description>
			<pubDate>Paz, 12 Tem 2009 18:55:31 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14081]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[That's good, I was worried if I'll have to check my templates for non-strict tags :)<br />
For testers, be sure to have all tpl files saved in ANSI coding, in case of UTF-8 Xtemplate 2.0 might act differently because of UTF-8 BOM mark at the beginning of a file (Sometimes I'm careless and accidently save tpls as UTF-8).]]></description>
			<pubDate>Paz, 12 Tem 2009 18:21:10 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14079]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Sorry for misleading: XTemplate 1.0 is sensitive to case and spaces too. I just wanted to list these rules here.]]></description>
			<pubDate>Paz, 12 Tem 2009 00:42:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14065]]></link>
		</item>
		<item>
			<title>tensh</title>
			<description><![CDATA[Great news!  <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/inlove.gif" alt=":-X" /> <br />
By the way, does it mean that a previous Xtemplate didn't use strict syntax and allowed for various space and case-insensitive statements?]]></description>
			<pubDate>Cmt, 11 Tem 2009 19:57:53 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14056]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[When we played with XTemplate, we discovered that its code is quite messy and inefficient. We thought of probably rewriting it but at a very low priority. But a bit of spare time and an important security flaw I found in previous XTemplate implementation (PHP injection in logical statements) encouraged me to write a brand new implementation of XTemplate from scratch.<br />
<br />
It is almost backwards compatible with original XTemplate, but it only implements those features that we use in Cotonti. This principle is called <span style="text-decoration:underline">minimalistic</span>. Here is what it <strong>supports</strong>:<br />
<ul>
<li>Blocks and original XTemplate flow control</li>
<li>Variable substitutions (aka tags)</li>
<li>Logical blocks (if/else/endif)</li>
<li>Inclusion of other templates within templates with FILE</li>
</ul>
Here is what it <strong>does not support</strong>:<br />
<ul>
<li>Callbacks</li>
<li>Customizable syntax</li>
</ul>
<br />
Another principle is <span style="text-decoration:underline">strict</span>. It means that:<br />
<ul>
<li><em>Statements are case sensitive</em>. It will understand BEGIN but not begin:<br />
<div class="highlight"><pre class="html">&lt;!-- BEGIN: TEST --&gt;
    &lt;div&gt;This is a valid block!&lt;/div&gt;
&lt;!-- END: TEST --&gt;

&lt;!-- begin: test --&gt;
    &lt;div&gt;This block is invalid!&lt;/div&gt;
&lt;!-- end: test --&gt;
</pre></div>
</li>
<li><em>Spaces matter</em>, especially in logical statements. There must be spaces in statements at correct positions, e.g.<br />
<div class="highlight"><pre class="html">&lt;!-- IF {PHP.something} &gt; 0 --&gt;
    &lt;div&gt;This is a valid block!&lt;/div&gt;
&lt;!-- ENDIF --&gt;

&lt;!--IF{PHP.something}&gt;0--&gt;
    &lt;div&gt;This block is invalid!&lt;/div&gt;
&lt;!--ENDIF--&gt;
</pre></div></li>
<li><em>Logical expressions are limited functionality</em>. Supported logical operators are: AND, OR (AND has higher priority). Parenthesis is not supported. Supported comparison operators are: ==, !=, &lt;, &gt;, &lt;=, &gt;=, !. First operand of comparison must be a template variable e.g. {PHP.my.test}. Second operand may be a template variable, a number or a quoted string. Example:<br />
<div class="highlight"><pre class="html">&lt;!-- IF {USER_DETAILS_NAME} = 'Mark' AND {PHP.g} &gt;= 6 OR !{PHP.error_string} --&gt;
    &lt;div&gt;The expression is true!&lt;/div&gt;
&lt;!-- ELSE --&gt;
    &lt;div&gt;The expression is false!&lt;/div&gt;
&lt;!--END:TEST--&gt;
</pre></div></li>
<li><em>Nested logical blocks are not supported</em>, e.g.<br />
<div class="highlight"><pre class="html">&lt;!-- IF {PHP.foo} = 'test' --&gt;
    &lt;!-- IF {PHP.bar} --&gt;
        &lt;div&gt;This block is invalid!&lt;/div&gt;
    &lt;!-- ENDIF --&gt;
&lt;!-- ENDIF --&gt;
</pre></div></li>
<li><em>Template blocks inside of logical blocks are not supported</em>, e.g.<br />
<div class="highlight"><pre class="html">&lt;!-- IF {PHP.foo} = 'test' --&gt;
    &lt;!-- BEGIN: BAR --&gt;
        &lt;div&gt;This block is invalid!&lt;/div&gt;
    &lt;!-- END: BAR --&gt;
&lt;!-- ENDIF --&gt;
</pre></div></li>
</ul>
<br />
The third principle is <span style="text-decoration:underline">fast</span>. XTemplate 2.0 is much faster than original XTemplate 1.0, literally 2 times faster. Benchmarks demonstrate 5-35% RPS (requests per second) increase for entire pages after upgrade.<br />
<br />
The fourth principle is <span style="text-decoration:underline">lightweight</span>. The code is 4 times smaller.<br />
<br />
<strong>What's new in XTemplate 2.1:</strong><br />
<ol>
<li>Block names are no more space sensitive, so it's compatible with XTemplate 1.0</li>
<li>Support for {FILE &quot;path/to/template.tpl&quot;}</li>
<li>Disk cache for better performance</li>
</ol>]]></description>
			<pubDate>Cmt, 11 Tem 2009 19:47:51 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=2953&d=0#post14054]]></link>
		</item>
	</channel>
</rss>