<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : в projects.offers.tpl Вывести: если проект просрочен то ...</title>
		<link>https://www.cotonti.com</link>
		<description>Останні повідомлення в темі</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Fri, 17 Apr 2026 19:28:46 -0000</pubDate>

		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47201">#47201</a> <strong>Kort: </strong>
<p>Привет. По первому вопросу можно так:</p>

<pre class="brush:xml;">
&lt;!-- IF {PHP.item.item_expired} &gt; 0 --&gt;
&lt;!-- BEGIN: ADDOFFERFORM --&gt;
&lt;h4&gt;{PHP.L.offers_ostavit_predl}&lt;/h3&gt;
&lt;div id="addofferform" class="customform"&gt;
...
&lt;/div&gt;
&lt;!-- END: ADDOFFERFORM --&gt;
&lt;!-- ELSE --&gt;
&lt;div class="alert alert-warning"&gt;
   Срок действия проекта завершен
&lt;/div&gt;
&lt;!-- ENDIF --&gt;</pre>

<p>Проверяй.</p>

<p>Как я понимаю, все ок? Тогда решение по второму вопросу:</p>

<pre class="brush:xml;">
{PHP.item.user_id}</pre>

<p>Это по проверке владельца проекта.</p>
</blockquote>

<p> </p>

<p>Ура, в первом вопросе все отлично работает,  но то что </p>

<pre class="brush:as3;">
&lt;!-- BEGIN: ADDOFFERFORM --&gt;
&lt;h4&gt;{PHP.L.offers_ostavit_predl}&lt;/h3&gt;
&lt;div id="addofferform" class="customform"&gt;
...
&lt;/div&gt;
&lt;!-- END: ADDOFFERFORM --&gt;</pre>

<p>состоит в нутри условия </p>

<pre class="brush:as3;">
&lt;!-- IF {PHP.item.item_expired} &gt; 0 --&gt;
&lt;!-- BEGIN: ADDOFFERFORM --&gt;
&lt;h4&gt;{PHP.L.offers_ostavit_predl}&lt;/h3&gt;
&lt;div id="addofferform" class="customform"&gt;
...
&lt;/div&gt;
&lt;!-- END: ADDOFFERFORM --&gt;
&lt;!-- ELSE --&gt;
&lt;div class="alert alert-warning"&gt;
   Срок действия проекта завершен
&lt;/div&gt;
&lt;!-- ENDIF --&gt;</pre>

<p> Дает возможность скрыть форму добавления предложений к проекту если кончалось время. Это дополнительный функционал и приятно еще больше чем просто вывести уведомление о Завершенном сроке проекта.</p>

<p> </p>

<p>Второй впрос тоже все отлично работает если я все возможные варианты протестил, но вроде все протестил)))</p>

<p>Теперь чужие предложения видят юзеры только если имеет pro аккаунт, получилось еще один плюс если купишь про. По итогу цепочка такая</p>

<pre class="brush:as3;">
&lt;!-- IF {PHP.usr.id} == {OFFER_ROW_OWNER_ID} OR {PHP.usr.id} == {PHP.item.user_id} OR {PHP|cot_getuserpro()} OR {PHP.usr.isadmin} --&gt;
  &lt;div class="uk-comment-body uk-margin-remove-top"&gt;
       {OFFER_ROW_TEXT}
   &lt;/div&gt;
&lt;!-- ENDIF --&gt;</pre>

<p>Еще не много тестов и можно закрывать тему. Спасибо особое <a href="https://www.cotonti.com/users/Kort">Kort</a></p>
]]></description>
			<pubDate>Нд, 08 Жов 2023 17:38:19 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47204]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>Привет. По первому вопросу можно так:</p>

<pre class="brush:xml;">
&lt;!-- IF {PHP.item.item_expired} &gt; 0 --&gt;
&lt;!-- BEGIN: ADDOFFERFORM --&gt;
&lt;h4&gt;{PHP.L.offers_ostavit_predl}&lt;/h3&gt;
&lt;div id="addofferform" class="customform"&gt;
...
&lt;/div&gt;
&lt;!-- END: ADDOFFERFORM --&gt;
&lt;!-- ELSE --&gt;
&lt;div class="alert alert-warning"&gt;
   Срок действия проекта завершен
&lt;/div&gt;
&lt;!-- ENDIF --&gt;</pre>

<p>Проверяй.</p>

<p>Как я понимаю, все ок? Тогда решение по второму вопросу:</p>

<pre class="brush:xml;">
{PHP.item.user_id}</pre>

<p>Это по проверке владельца проекта.</p>
]]></description>
			<pubDate>Нд, 08 Жов 2023 08:26:07 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47201]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<p> </p>

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

<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47186">#47186</a> <strong>Kopusha: </strong>

<p>Попробуй выше <span style="color:#cc7832;">while </span>(<span style="color:#9876aa;">$offer </span>= <span style="color:#9876aa;">$sql</span>-&gt;<span style="color:#ffc66d;">fetch</span>())<br />
добавить <span style="color:#9876aa;">$t_o</span>-&gt;<span style="color:#ffc66d;">assign</span>(<span style="color:#ffc66d;">cot_generate_usertags</span>(<span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_userid'</span>]<span style="color:#cc7832;">, </span><span style="color:#6a8759;">'OFFER_ROW_PRJ_OWNER_'</span>))<span style="color:#cc7832;">;<br />
и тогда в цикле ты получишь </span><span style="color:#6a8759;">OFFER_ROW_PRJ_OWNER_ID и все остальные теги<br />
<br />
Либо внутрь </span><span style="color:#9876aa;">$t_o</span>-&gt;<span style="color:#ffc66d;">assign</span>(<span style="color:#cc7832;">array</span>( просто<br />
<span style="color:#6a8759;">"OFFER_ROW_PRJ_OWNER_ID" </span>=&gt; <span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_userid'</span>]<span style="color:#cc7832;">,</span></p>

<p class="updated"><strong>Added 1 minute later:</strong></p>

<p>старайся задавая такие вопросы выкладывать сам код файла в какой то php sandbox хотя бы, я сейчас просто угадываю<br />
возможно там нет <span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_userid'</span>] и тогда все что выше до лампочки</p>

<p class="updated"><strong>Added 5 minutes later:</strong></p>

<p>но по уму конечно это не в ТПЛ надо закрывать а в пхп типа так<br />
<span style="color:#808080;">if ($usr['id'] == $offer['offer_userid'] || $usr['id'] == $item['item_userid'] || $usr['isadmin']) и тд</span></p>

<p class="updated"><strong>Added 11 minutes later:</strong></p>

<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47128">#47128</a> <strong>vpktz: </strong>

<p> </p>

<p>Есть идея, в projects.offers.tpl если проект просрочен то вывести уведомление - текст</p>
</blockquote>

<p>в project.offers.php найди сам цикл с OFFER_FORM_ и в него добавь<br />
<span style="color:#6a8759;">"OFFER_FORM_PRJ_STATE" </span>=&gt;<span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_state'</span>]<span style="color:#cc7832;">,<br />
И если он 1 то вроде как просрочен<br />
<br />
PS Я реально без кода сейчас просто угадываю, все может быть чуть не так но общий принцип - такой же</span></p>

<p class="updated"><strong>Added 3 minutes later:</strong></p>

<p>Не уверен что <span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_state'</span>] == 1 это именно просрочен, возможно надо как сверять даты cot date и какую то дату самого прожекта<br />
Но суда по гуглу плагин єкспайрдпрожектс делает именно это</p>

<pre class="brush:as3;">
//змінюємо статуси для проектів що не актуальні
		$affectedRows = $db-&gt;query("UPDATE $db_projects
					SET item_state = 1 </pre>
</blockquote>

<p>Не смог это опробывать, не осилил.  php не владею</p>

<p>Думал будет что то по легче, надеялся на то что это один модуль и все выведения только в нем, <img alt="sad" height="23" src="https://www.cotonti.com/plugins/ckeditor/lib/plugins/smiley/images/sad_smile.png" title="sad" width="23" /></p>

<p> </p>
]]></description>
			<pubDate>Сб, 07 Жов 2023 19:55:51 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47200]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>По ID вот <a href="https://citylife.by/projects/photo/1" rel="nofollow">так</a>?</p>
]]></description>
			<pubDate>Ср, 04 Жов 2023 10:01:35 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47196]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47193">#47193</a> <strong>Kort: </strong>
<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47128">#47128</a> <strong>vpktz: </strong>
<p>Есть идея, в projects.offers.tpl если проект просрочен то вывести уведомление - текст</p>
</blockquote>

<p>Речь об <a href="https://citylife.by/projects/construction/3" rel="nofollow">этом</a>?</p>
</blockquote>

<p>Да, это первй вопрос))) а второй впрос про условие, как его доработать тоб работало для всех как надо. </p>

<p>&lt;!-- IF {PHP.usr.id} == {OFFER_ROW_OWNER_ID} OR {PHP|cot_getuserpro()} OR {PHP.usr.isadmin} --&gt;<br />
      &lt;div class="uk-comment-body uk-margin-remove-top"&gt;<br />
          {OFFER_ROW_TEXT}<br />
      &lt;/div&gt;<br />
 &lt;!-- ENDIF --&gt;</p>

<p> </p>

<p>клава сломалась не могу попробовать пока то то показаа <a href="https://www.cotonti.com/users/Kopusha">Kopusha</a></p>
]]></description>
			<pubDate>Ср, 04 Жов 2023 08:42:21 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47194]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47128">#47128</a> <strong>vpktz: </strong>
<p>Есть идея, в projects.offers.tpl если проект просрочен то вывести уведомление - текст</p>
</blockquote>

<p>Речь об <a href="https://citylife.by/projects/construction/3" rel="nofollow">этом</a>?</p>
]]></description>
			<pubDate>Вт, 03 Жов 2023 21:00:59 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47193]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>Я тут пытался угадать по двум вопросам)</p>
]]></description>
			<pubDate>Вт, 03 Жов 2023 19:06:55 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47190]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>Как все же можно понять что именно надо сделать? Было и про просроченный проект и про ID владельца.</p>
]]></description>
			<pubDate>Вт, 03 Жов 2023 15:23:48 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47189]]></link>
		</item>
		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>Попробуй выше <span style="color:#cc7832;">while </span>(<span style="color:#9876aa;">$offer </span>= <span style="color:#9876aa;">$sql</span>-&gt;<span style="color:#ffc66d;">fetch</span>())<br />
добавить <span style="color:#9876aa;">$t_o</span>-&gt;<span style="color:#ffc66d;">assign</span>(<span style="color:#ffc66d;">cot_generate_usertags</span>(<span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_userid'</span>]<span style="color:#cc7832;">, </span><span style="color:#6a8759;">'OFFER_ROW_PRJ_OWNER_'</span>))<span style="color:#cc7832;">;<br />
и тогда в цикле ты получишь </span><span style="color:#6a8759;">OFFER_ROW_PRJ_OWNER_ID и все остальные теги<br />
<br />
Либо внутрь </span><span style="color:#9876aa;">$t_o</span>-&gt;<span style="color:#ffc66d;">assign</span>(<span style="color:#cc7832;">array</span>( просто<br />
<span style="color:#6a8759;">"OFFER_ROW_PRJ_OWNER_ID" </span>=&gt; <span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_userid'</span>]<span style="color:#cc7832;">,</span></p>

<p class="updated"><strong>Added 1 minute later:</strong></p>

<p>старайся задавая такие вопросы выкладывать сам код файла в какой то php sandbox хотя бы, я сейчас просто угадываю<br />
возможно там нет <span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_userid'</span>] и тогда все что выше до лампочки</p>

<p class="updated"><strong>Added 5 minutes later:</strong></p>

<p>но по уму конечно это не в ТПЛ надо закрывать а в пхп типа так<br />
<span style="color:#808080;">if ($usr['id'] == $offer['offer_userid'] || $usr['id'] == $item['item_userid'] || $usr['isadmin']) и тд</span></p>

<p class="updated"><strong>Added 11 minutes later:</strong></p>

<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47128">#47128</a> <strong>vpktz: </strong>

<p> </p>

<p>Есть идея, в projects.offers.tpl если проект просрочен то вывести уведомление - текст</p>
</blockquote>

<p>в project.offers.php найди сам цикл с OFFER_FORM_ и в него добавь<br />
<span style="color:#6a8759;">"OFFER_FORM_PRJ_STATE" </span>=&gt;<span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_state'</span>]<span style="color:#cc7832;">,<br />
И если он 1 то вроде как просрочен<br />
<br />
PS Я реально без кода сейчас просто угадываю, все может быть чуть не так но общий принцип - такой же</span></p>

<p class="updated"><strong>Added 3 minutes later:</strong></p>

<p>Не уверен что <span style="color:#9876aa;">$item</span>[<span style="color:#6a8759;">'item_state'</span>] == 1 это именно просрочен, возможно надо как сверять даты cot date и какую то дату самого прожекта<br />
Но суда по гуглу плагин єкспайрдпрожектс делает именно это</p>

<pre class="brush:as3;">
//змінюємо статуси для проектів що не актуальні
		$affectedRows = $db-&gt;query("UPDATE $db_projects
					SET item_state = 1 </pre>

<p> </p>
]]></description>
			<pubDate>Вт, 03 Жов 2023 09:36:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47186]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9274&amp;d=1#47133">#47133</a> <strong>Argont: </strong>
<p>не юзал этот плагин, но что если добавить функцию как в модуле 'page' -</p>

<pre class="brush:as3;">
		$page_data['page_status'] = cot_page_status(
			$page_data['page_state'],
			$page_data['page_begin'],
			$page_data['page_expire']
		);
</pre>

<p>и уже исходить от статуса, полученного от наших дат, установленных при создании или редактировании карточки поста</p>
</blockquote>

<p>Слишком сложно)))</p>

<p>Может есть какое то глобальное условие что типа если тут что то  а не пусто то выводим это</p>

<p>Например</p>

<p> &lt;!-- IF {что то} == 0 --&gt; <br />
Тогда выводим это<br />
 &lt;!-- ENDIF --&gt;</p>

<p> </p>

<p>ИЛИ</p>

<p> &lt;!-- IF {что то}  --&gt; <br />
Вывод это<br />
 &lt;!-- ELSE --&gt; <br />
Вывод другое<br />
 &lt;!-- ENDIF --&gt;</p>

<p> </p>

<p> </p>
]]></description>
			<pubDate>Сб, 30 Вер 2023 09:10:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47180]]></link>
		</item>
		<item>
			<title>Argont</title>
			<description><![CDATA[<p>не юзал этот плагин, но что если добавить функцию как в модуле 'page' -</p>

<pre class="brush:as3;">
		$page_data['page_status'] = cot_page_status(
			$page_data['page_state'],
			$page_data['page_begin'],
			$page_data['page_expire']
		);
</pre>

<p>и уже исходить от статуса, полученного от наших дат, установленных при создании или редактировании карточки поста</p>
]]></description>
			<pubDate>Ср, 27 Вер 2023 19:42:38 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47133]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<p><em>Услышал негодования, провел работу над ошибками, принял к сведению, впреть буду более серьезно относиться к публикациям. Спасибо за труд. <img alt="heart" height="23" src="https://www.cotonti.com/plugins/ckeditor/lib/plugins/smiley/images/heart.png" title="heart" width="23" /></em></p>

<p> </p>

<p>Переписал вопросы более грамотно</p>

<p><strong>Первый вопрос</strong></p>

<p>Затруднение у меня в том что я в projects.offers.tpl не могу вывести "Срок действия проекта завершен"</p>

<p>projects.offers.tpl эта tpl работает на странице projects.tpl то есть как бы внутри, это предложения на испонения других юзеров</p>

<p>То есть сам проект это projects.tpl и в нем указаны сроки но сроки реализованны с помощью плагина <a href="https://drive.google.com/file/d/14n-tyNWn3dapLaGSLVBDlJF6jPR-FpUG/view?usp=drive_link" rel="nofollow">expiredprojects</a></p>

<p>У меня в projects.tpl это реализованно так</p>

<pre>
&lt;!-- IF {PRJ_EXPIRED_DAYS} &gt; 0 --&gt;

  Осталось дней  {PRJ_EXPIRED_DAYS}

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

   Осталось дней 0

 &lt;!-- ENDIF --&gt;  

 
с такого числа {PRJ_DATE_STAMP|cot_date('d.m.Yг H:i', $this)} 
 

&lt;!-- IF {PRJ_EXPIRED_DAYS} &gt; 0 --&gt;

   до такого числа {PRJ_EXPIRED|cot_date('d.m.Yг H:i', $this)}

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

   Просрочено {PRJ_EXPIRED|cot_date('d.m.Yг H:i', $this)}

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

<table border="0" cellpadding="0" cellspacing="0">
	<tbody>
		<tr>
			<td>
			<p> </p>
			</td>
			<td>
			<p> </p>
			</td>
		</tr>
	</tbody>
</table>

<p>Теперь в projects.offers.tpl мне нужно вывести грубо говоря это но это</p>

<pre>
&lt;!-- IF {PRJ_EXPIRED_DAYS} &lt;= 0 --&gt;

Срок действия проекта завершен

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

<p>Но это не работает  projects.offers.tpl а будет работать только в не работает  projects.tpl</p>

<p> </p>

<p><strong>Второй вопрос попутно</strong></p>

<p>Как в projects.offers.tpl в </p>

<p>&lt;!-- BEGIN: ROWS --&gt;</p>

<p>вывести id владельца проекта</p>

<p>&lt;!-- END: ROWS --&gt;</p>

<p>Который в projects.tpl выводиться с помощью {PRJ_OWNER_ID}</p>

<p>Хочу таким образом добавить возможность видеть текст предложения на выполнения других участников только если ты:</p>

<p>1. ты администратор </p>

<p>2. ты имеешь статус ПРО это при включеном плагине PayPro  (и купленом статусе) пишется в условии как {PHP|cot_getuserpro()}</p>

<p>3. ты владелец проекта</p>

<p>Это для плагина PayPro, типа если ты без премиум аккаунта то ты не видешь предложения других юзеров а если купил премиум то тебе видны. </p>

<p>Пока цепочка такая</p>

<pre>
&lt;!-- IF {PHP.usr.id} == {OFFER_ROW_OWNER_ID} OR {PHP|cot_getuserpro()} OR {PHP.usr.isadmin} --&gt;
      Текст предложения: {OFFER_ROW_TEXT}
 &lt;!-- ENDIF --&gt;</pre>

<p>Все срабатывает кроме того что владелец проекта сам не видит текст предложения</p>
]]></description>
			<pubDate>Ср, 27 Вер 2023 17:59:45 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/ua/forums?m=posts&q=9274&d=0#post47128]]></link>
		</item>
	</channel>
</rss>