<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Мой любимый вопрос с логическими блоками)</title>
		<link>https://www.cotonti.com</link>
		<description>Son konu mesajları</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Sat, 11 Apr 2026 14:26:13 -0000</pubDate>

		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>Ой как круто) Я на свежую голову обязательно сделаю все варианты просто что бы научиться как минимум.</p>

<p class="updated"><strong>Added 15 hours later:</strong></p>

<p>Третий вариант со своей функцией - отлично работает - огромное спасибо. Уже в следующий раз полезу сам писать функцию, так гораздо проще. Не факт что с 1 раза выйдет, но малпомалу)</p>

<p>PS - добавил к функции </p>

<p>    else<br />
    $traveller_class = 'traveller-else';</p>

<p> </p>

<p class="updated"><strong>Added 2 hours later:</strong></p>

<p><s>И еще с логискими блоками</s></p>

<p><s>Основной вопрос наверное - я не понимаю разницы <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">OR и AND в блоке. В примере ниже - если не 1 или если менее 100 то верное. </span></s></p>

<p><s>Есть конструкция &lt;!-- IF {PHP.usr.profile.user_hide_hints} != '1' OR {PHP.usr.profile.user_logcount} &lt;= '100' --&gt;show&lt;!-- ENDIF --&gt;</s></p>

<p><s>Показывать подсказку если в профиле НЕ включено экстраполе со значением 1 или если юзер зашел менее 100 раз. </s></p>

<p><s>Если нажал "Не показывай" то эстрполе = 1. И неважно сколько <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">user_logcount - не будет показывать. Если user_logcount больше 100 то неважно больше что в экстраполе - не показывает. Если в экстраполе не 1 и user_logcount менее 100 - показывай. </span></s></p>

<p><s><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">Блин - а как написать то? Так как наверху только при двух совпадениях работает.</span></s></p>

<p><s><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">Кроме такого конечно - так работает верно. </span></s></p>

<p><s><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">&lt;!-- IF {PHP.usr.profile.user_hide_hints} != '1' --&gt;</span></s></p>

<p><s><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">&lt;!-- IF {PHP.usr.profile.user_logcount} &lt;= '100' --&gt;</span></s></p>

<p><s><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">show</span></s></p>

<p><s><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">&lt;!-- ENDIF --&gt;</span></s></p>

<p><s><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">&lt;!-- ENDIF --&gt;</span></s></p>

<p><strong><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">Вроде как все верно работает - это я не верно думаю/</span></strong></p>

<p> </p>
]]></description>
			<pubDate>Per, 14 Ara 2017 22:58:36 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=8484&d=0#post43202]]></link>
		</item>
		<item>
			<title>Roffun</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8484&amp;d=1#43200">#43200</a> <strong>Kopusha: </strong> я раз 5 начинал писать вопрос и все время сам находил решение за утро) конская конструкция, работает, и я так понимаю ее упростить не реально кроме как плагином который то же самое будет делать?</blockquote>

<p>В первую очередь все зависит от целей. Упростить код можно, но для этого нужно вникать в суть задачи, цели, тз, и прочее. Если цель всего лишь вывод разных стилей для &lt;div class="_padding-top-30"&gt;, то подобные реализации не обязательно делать через кучу условий.</p>

<p>1. Если можно оптимизировать код с помощью css - стоит оптимизировать, почему бы не заменить style на класс, а потом с помощью css подставлять ?<br />
2. Вместо кучи проверок можно использовать вывод конструкции в FILE с нужным выражением или условиями, или даже вместо имени .tpl файла подставить {PHP.env.ext}, и т.д. Например {FILE "{PHP.cfg.themes_dir}/{PHP.theme}/inc/traveller-{PHP.env.ext}.tpl"} - это если кода много, то создаете в шаблоне какую-нибудь папку, например inc, в ней файлы вида traveller-default.tpl, traveller-page.tpl и т.д.<br />
3. Можно написать PHP функцию.</p>

<p>p.s. сейчас покажу на примере</p>

<p class="updated"><strong>Добавлено 29 минут спустя:</strong></p>

<p>Например, для users пример с помощью html класса и css к нему:</p>

<pre class="brush:css;gutter:false;toolbar:false;">
&lt;style&gt;
[class*="traveller-"]{
height: 500px; 
  background-color: #fff; 
  background-size: cover; 
  background-repeat: no-repeat;  
}

.traveller-users-map {
 background-image: url(themes/traveller/img/cover_16.jpg);
 background-position: center 75%;
}

.traveller-users-nomap {
 background-image: url(themes/traveller/img/cover_15.jpg);
 background-position: center 75%;
}

.traveller-users-profile {
 background-image: url(themes/traveller/img/cover_21.jpg);
 background-position:  left 75%;
}

.traveller-users-details {
 background-image: url(themes/traveller/img/cover_21.jpg);
 background-position:  left 75%;
}
&lt;/style&gt;</pre>

<pre class="brush:xml;gutter:false;toolbar:false;">
&lt;!-- IF {PHP.env.ext} == "users" --&gt;

    &lt;!-- IF {PHP|cot_import('map', 'G', 'TXT')} --&gt;
    &lt;div class="_padding-top-30 traveller-users-map"&gt;
    &lt;!-- ELSE --&gt;
    
        &lt;!-- IF {PHP.m} != 'profile' AND {PHP.m} != 'details' --&gt;
            &lt;div class="_padding-top-30 traveller-users-nomap"&gt;
        &lt;!-- ENDIF --&gt;
        &lt;!-- IF {PHP.m} == 'profile' --&gt;
            &lt;div class="_padding-top-30 traveller-users-profile"&gt;
        &lt;!-- ENDIF --&gt;
        &lt;!-- IF {PHP.m} == 'details' --&gt;
            &lt;div class="_padding-top-30 traveller-users-details"&gt;
        &lt;!-- ENDIF --&gt;
    
    &lt;!-- ENDIF --&gt;

&lt;!-- ENDIF --&gt; </pre>

<p>А вот для остальных с помощью отдельных tpl для примера:</p>

<pre class="brush:xml;gutter:false;toolbar:false;">
&lt;!-- IF {PHP.env.ext} == "index" OR {PHP.env.ext} == 'folio' OR {PHP.env.ext} == 'marketorders' OR {PHP.env.ext} == 'market' OR {PHP.env.ext} == 'projects' OR {PHP.env.ext} == 'page' OR {PHP.env.ext} == 'forums' --&gt;
{FILE "{PHP.cfg.themes_dir}/{PHP.theme}/inc/traveller-{PHP.env.ext}.tpl"}
&lt;!-- ELSE --&gt;
{FILE "{PHP.cfg.themes_dir}/{PHP.theme}/inc/traveller-default.tpl"}
&lt;!-- ENDIF --&gt;</pre>

<p> </p>

<p class="updated"><strong>Добавлено 1 час спустя:</strong></p>

<p>И наконец вариант с PHP функцией для примера, для users и index, остальное можно дописать самостоятельно на основе примера.</p>

<p>В каждом шаблоне есть PHP файл с названием шаблона, например nemesis.php, в него добавляете такой код:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
function traveller()
{
    global $env, $m;
    $traveller_class = '';

    if (in_array($env['ext'], array(
        'index',
        'users',
        'page',
        'forums',
        'projects',
        'folio',
        'market')))
    {
        $traveller_class = 'traveller-' . $env['ext'];
        switch ($env['ext'])
        {
            case "users":
                if (cot_import('map', 'G', 'TXT'))
                {
                    $traveller_class .= '-map';
                }
                else
                {
                    if ($m != 'profile' &amp;&amp; $m != 'details')
                    {
                        $traveller_class .= '-nomap';
                    }
                    if ($m == 'profile')
                    {
                        $traveller_class .= '-profile';
                    }
                    if ($m == 'details')
                    {
                        $traveller_class .= '-details';
                    }
                }
                break;

            case "index":
                //$traveller_class .= '-any';
                break;
            case "page":
                //$traveller_class .= '-any';
                break;
            case "forums":
                //$traveller_class .= '-any';
                break;
            case "projects":
                //$traveller_class .= '-any';
                break;
            case "folio":
                //$traveller_class .= '-any';
                break;
            case "market":
                //$traveller_class .= '-any';
                break;
        }
    }
    return $traveller_class;
}</pre>

<p>В нужном месте шаблона можно использовать функцию одним из нескольких способов:</p>

<p>1. Добавить к html коду функцию, она будет выводить класс, если совпадает условие или исчезать если условие не совпадает:</p>

<pre class="brush:xml;gutter:false;toolbar:false;">
&lt;div class="_padding-top-30  {PHP|traveller}"&gt;</pre>

<p>2. Использовать как условный оператор:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;!-- IF {PHP|traveller} --&gt; 
или
&lt;!-- IF {PHP|traveller} == 'traveller-users-nomap' --&gt;  
</pre>

<p>3. Придумать самостоятельно что еще с ней можно делать.</p>

<p><strong>Итог</strong>: Для перечисленных в условии расширений функция будет возвращать класс вида <strong>traveller-расширение</strong> или если есть дополнительное условие как для users, то будет возвращать <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">traveller-расширение-приставка.</span></p>
]]></description>
			<pubDate>Per, 14 Ara 2017 18:29:29 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=8484&d=0#post43201]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<pre class="brush:php;gutter:false;toolbar:false;">
я раз 5 начинал писать вопрос и все время сам находил решение за утро) конская конструкция, работает, и я так понимаю ее упростить не реально кроме как плагином который то же самое будет делать?</pre>

<p> </p>

<pre class="brush:xml;gutter:false;toolbar:false;">
&lt;!-- IF {PHP.env.ext} == "users" --&gt;
&lt;!-- IF {PHP|cot_import('map', 'G', 'TXT')} --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_16.jpg) center 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.m} == 'profile' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_21.jpg) left 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.m} == 'details' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_21.jpg) left 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF !{PHP|cot_import('map', 'G', 'TXT')} AND {PHP.m} != 'profile' AND {PHP.m} != 'details' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_15.jpg) center 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;

&lt;!-- ELSE --&gt;


&lt;!-- IF {PHP.env.ext} == "index" OR {PHP.env.ext} == 'folio' OR {PHP.env.ext} == 'marketorders' OR {PHP.env.ext} == 'market' OR {PHP.env.ext} == 'projects' OR {PHP.env.ext} == 'page' OR {PHP.env.ext} == 'forums' --&gt;
&lt;!-- IF {PHP.env.ext} == 'index' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_6.jpg) left 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.env.ext} == 'marketorders' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_10.jpg) left 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.env.ext} == 'page' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_1.jpg) center 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.env.ext} == 'folio' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_7.jpg) center 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.env.ext} == 'market' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_4.jpg) center 45% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.env.ext} == 'projects' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_3.jpg) center 45% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;
&lt;!-- IF {PHP.env.ext} == 'forums' --&gt;
&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_5.jpg) center 45% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;

&lt;!-- ELSE --&gt;

&lt;div class="_padding-top-30"  style="height: 500px; background: #fff url(themes/traveller/img/cover_12.jpg) left 75% no-repeat; background-size: cover;"&gt;
&lt;!-- ENDIF --&gt;


&lt;!-- ENDIF --&gt;
</pre>

<p> </p>
]]></description>
			<pubDate>Per, 14 Ara 2017 12:49:35 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=8484&d=0#post43200]]></link>
		</item>
		<item>
			<title>Roffun</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8484&amp;d=1#43198">#43198</a> <strong>Kopusha:</strong>
<p>И то и то - идеально! спАсибо!</p>
</blockquote>

<p>На других движках такое сделать из шаблона намного проблематичнее, и то на некоторых, вот за это и люблю Cotonti. </p>
]]></description>
			<pubDate>Çrş, 13 Ara 2017 19:58:28 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=8484&d=0#post43199]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<blockquote class="fp">
<p>Или можно сделать проверку для переменной env:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;!-- IF {PHP.env.ext|cot_import('map', 'G', 'TXT')} --&gt;
Карта
&lt;!-- ELSE --&gt;
Без карты
&lt;!-- ENDIF --&gt;</pre>

<p> </p>
</blockquote>

<p>И то и то - идеально! спАсибо!</p>
]]></description>
			<pubDate>Çrş, 13 Ara 2017 19:52:38 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=8484&d=0#post43198]]></link>
		</item>
		<item>
			<title>Roffun</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8484&amp;d=1#43196">#43196</a> <strong>Kopusha: </strong>
<p>Как написать</p>

<p>Если мы в Индексе то<br />
Или если мы в Форуме то <br />
Или Если мы в Пейдже то<br />
И если мы где то еще кроме верхних трех то...<br /><br />
То есть что бы всегда что то из 4 срабатывало)</p>
</blockquote>

<p><a href="https://www.cotonti.com/docs/ext/themes/cotemplate_advanced">Дополнительные возможности шаблонизатора CoTemplate</a></p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;!-- IF {PHP.env.ext} == "index" OR {PHP.env.ext} == 'page' OR {PHP.env.ext} == 'forums' --&gt;
если на главной, страницах, форуме
  &lt;!-- IF {PHP.env.ext} == "index" --&gt;
    если только на главной
  &lt;!-- ENDIF --&gt;
  &lt;!-- IF {PHP.env.ext} == "page" --&gt;
    если только на страницах
  &lt;!-- ENDIF --&gt;
  &lt;!-- IF {PHP.env.ext} == "forums" --&gt;
    если только на форумах
  &lt;!-- ENDIF --&gt;

&lt;!-- ELSE --&gt;
что-то еще
здесь можно еще условия влаживать
&lt;!-- ENDIF --&gt;</pre>

<p> </p>

<p class="updated"><strong>Добавлено 9 минут спустя:</strong></p>

<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8484&amp;d=1#43196">#43196</a> <strong>Kopusha:  </strong><span style="font-size:15px;">У меня есть список юзеров самый обычный и есть эти же юзеры на карте</span>

<p>&lt;!-- IF {PHP.env.ext} == 'users' AND {PHP.out.uri} != '<strong>ua/</strong>users?map=1' --&gt;Это обычный список юзеров&lt;!-- ENDIF --&gt;<br />
&lt;!-- IF {PHP.env.ext} == 'users' AND {PHP.out.uri} == '<strong>ua/</strong>users?map=1' --&gt;Это <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">эти ж</span><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">е юзеры на карте</span>&lt;!-- ENDIF --&gt;</p>

<p>Не могу понять как ловить момент когда это именно карта с юзерами - пробовал как выше но для 3х языков надо городить орогод - <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">AND {PHP.out.uri} == 'users?map=1' не срабатывает без языка. Больше через </span><span style="color:rgb(51,51,51);font-family:Monaco, Menlo, Consolas, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:14.4px;white-space:pre;background-color:rgb(250,250,250);">{PHP|dump} не смог придумать как ловить условие. Заранее спасибо!</span></p>
</blockquote>

<p>Поищите переменную map, и попробуйте проверку через <a href="https://www.cotonti.com/docs/devel/validation_messages?l=ru">cot_import</a> , так как <span style="color:rgb(119,119,119);font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">?map=1 это _GET запрос</span></p>

<p><span style="color:rgb(119,119,119);font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">Что за плагин выводит карту ?</span></p>

<p><font color="#777777">Вот пример проверки:</font></p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;!-- IF {PHP|cot_import('map', 'G', 'TXT')} --&gt;
Карта
&lt;!-- ELSE --&gt;
Без карты
&lt;!-- ENDIF --&gt;</pre>

<p>Или можно сделать проверку для переменной env:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;!-- IF {PHP.env.ext|cot_import('map', 'G', 'TXT')} --&gt;
Карта
&lt;!-- ELSE --&gt;
Без карты
&lt;!-- ENDIF --&gt;</pre>

<p>Если нужно проверить что это целое число, то TXT замените на <span style="color:rgb(241,126,50);font-family:monospace, serif;font-size:16px;text-align:justify;background-color:rgb(255,255,255);">INT,</span> если map нужно проверять только на конкретный параметр (=1), то:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
&lt;!-- IF {PHP.env.ext|cot_import('map', 'G', 'INT')} == 1 --&gt;
Карта
&lt;!-- ELSE --&gt;
Без карты
&lt;!-- ENDIF --&gt;</pre>

<p> </p>
]]></description>
			<pubDate>Çrş, 13 Ara 2017 19:13:32 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=8484&d=0#post43197]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>Как написать</p>

<p>Если мы в Индексе то<br />
Или если мы в Форуме то <br />
Или Если мы в Пейдже то<br />
И если мы где то еще кроме верхних трех то...<br /><br />
То есть что бы всегда что то из 4 срабатывало)</p>
<p class="updated"><strong>Added 20 seconds later:</strong></p><p>Но только одно не более</p>
<p class="updated"><strong>Added 3 minutes later:</strong></p><p><strong><u>И второй вопрос</u></strong></p>

<p>У меня есть список юзеров самый обычный и есть эти же юзеры на карте</p>

<p>&lt;!-- IF {PHP.env.ext} == 'users' AND {PHP.out.uri} != '<strong>ua/</strong>users?map=1' --&gt;Это обычный список юзеров&lt;!-- ENDIF --&gt;<br />
&lt;!-- IF {PHP.env.ext} == 'users' AND {PHP.out.uri} == '<strong>ua/</strong>users?map=1' --&gt;Это <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">эти ж</span><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">е юзеры на карте</span>&lt;!-- ENDIF --&gt;</p>

<p>Не могу понять как ловить момент когда это именно карта с юзерами - пробовал как выше но для 3х языков надо городить орогод - <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">AND {PHP.out.uri} == 'users?map=1' не срабатывает без языка. Больше через </span><span style="color:rgb(51,51,51);font-family:Monaco, Menlo, Consolas, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:14.4px;white-space:pre;background-color:rgb(250,250,250);">{PHP|dump} не смог придумать как ловить условие. Заранее спасибо!</span></p>
]]></description>
			<pubDate>Çrş, 13 Ara 2017 18:26:54 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=8484&d=0#post43196]]></link>
		</item>
	</channel>
</rss>