<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Как вывести сообщение cot_error после отправки формы?</title>
		<link>https://www.cotonti.com</link>
		<description>Neueste Themenbeiträge</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Tue, 07 Apr 2026 23:28:43 -0000</pubDate>

		<item>
			<title>Виктор</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9021&amp;d=1#45069">#45069</a> <strong>jCube Group: </strong>

<p><strong style="font-size:15px;background-color:rgb(255,255,255);font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;text-align:justify;">cot_display_messages($t); </strong> и покажет и очистит все сообщения,  а до этого нужно записать в сообщения, cot_message('сообщение'). но смотрите примеры в коде.</p>
</blockquote>

<p>да, я разобрался, по идее все описано в <a href="https://www.cotonti.com/ru/docs/devel/validation_messages">https://www.cotonti.com/ru/docs/devel/validation_messages   , </a>но теперь разобравшись как проходят все сообщения, как создаются, как проверяются, выводятся и удаляются, теперь проще работать с ними.</p>

<p>для вывода например на определенных страницах можно подключить вывод с помощю <a href="https://github.com/CodeSeven/toastr" rel="nofollow"><strong>toastr</strong></a></p>

<p>для этого создал в functions.custom фунцию, практически та же что  cot_display_messages, только вывод через toastr, вывода:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
пример

function cot_custom_display_messages($tpl, $block = 'MAIN')
{
	global $L;
	
if (!cot_check_messages())
	{
		return;
	}
	$block = (!empty($block)) ? $block.'.' : '';
	
        $errors = cot_get_messages('', 'error');
	
if (count($errors) &gt; 0)
	{
		foreach ($errors as $msg)
		{
			$text = isset($L[$msg['text']]) ? $L[$msg['text']] : $msg['text'];
			$tpl-&gt;assign('TEST', cot_custom_alert('error', $text));
			$tpl-&gt;parse($block.'TEST_ROW');
		}
	
	}
   .................................
	
        cot_clear_messages();
}</pre>

<p>в шаблоне (не подключаю шаблон а через тег)</p>

<pre class="brush:xml;gutter:false;toolbar:false;">
 &lt;!-- BEGIN: TEST_ROW --&gt;{TEST}&lt;!-- END: TEST_ROW --&gt;  </pre>

<p>и cot_custom_alert, пример выше в теме</p>
]]></description>
			<pubDate>Fr, 04 Sep 2020 10:21:49 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9021&d=0#post45070]]></link>
		</item>
		<item>
			<title>jCube Group</title>
			<description><![CDATA[<p><strong style="font-size:15px;background-color:rgb(255,255,255);font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;text-align:justify;">cot_display_messages($t); </strong> и покажет и очистит все сообщения,  а до этого нужно записать в сообщения, cot_message('сообщение'). но смотрите примеры в коде.</p>
]]></description>
			<pubDate>Fr, 04 Sep 2020 08:00:50 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9021&d=0#post45069]]></link>
		</item>
		<item>
			<title>Виктор</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/ru/forums?m=posts&amp;q=9021&amp;d=1#45067">#45067</a> <strong>jCube Group: </strong>
<p>ищите cot_message  я точно не помню,  там должно быть отправка сообщения и вторая функция показать,  точно не помню,  ищите пример в модулях</p>
</blockquote>

<p>не нашел</p>

<p>сейчас пробую отловить, на каком то этапе эти сообщения хранятся в $_SESSION, но после полного обновления страницы массив пустой</p>

<pre class="brush:php;gutter:false;toolbar:false;">
 [cot_messages] =&gt; Array
        (
        )</pre>

<p>попробую их как то перехватить</p>

<p> </p>

<p> </p>

<p class="updated"><strong>Додано 2 години потому:</strong></p>

<p>не работает, может разработчики что подскажут, единственное что пришло - добавить к сесии если ошибка</p>

<p>    $_SESSION['cot_alert_messages'] = "error";</p>

<p>и уже в файле  обработать</p>

<pre class="brush:php;gutter:false;toolbar:false;">
if (!empty($_SESSION['cot_alert_messages']))
{
    $rv_msg = cot_custom_alert('error', $_SESSION['cot_alert_messages']);
    unset($_SESSION['cot_alert_messages']);
}</pre>

<p>можно доработать все это доработать к функции, и добавить например вывод с помощью toastr</p>

<pre class="brush:php;gutter:false;toolbar:false;">
function cot_custom_alert($type, $message) {
    switch ($type)
    {
        case "info":
            return "&lt;script&gt; toastr.info('" . $message . "'); &lt;/script&gt;";
            break;
        
.....</pre>

<p> </p>

<p class="updated"><strong>Додано 12 годин потому:</strong></p>

<p><strong>UPD</strong></p>

<p>насколько я понял, почему сообщения не выводятся, если по хуку модуля подключены еще плагины, и перед загрузкой плагина <strong>test </strong>загружается другой и в нeм присутствует <strong>cot_display_messages($t); </strong>то функция cot_clear_messages(); удаляет массив с сообщениями в  $_SESSION['cot_messages'][$sys['site_id']] и далее  соответственно в плагине  <strong>test </strong> нечего выводить или вернее вывод делается на первом подключаемом плагине как у меня на отдельной вкаладке что не есть гуд</p>

<p>в моем случае (так как пдключены к модулю две формы и плюс комментарии) нужно вывод сообщений прописать в модуле сразу после обьявления шаблона <strong>cot_display_messages($t); </strong>перед хуком подключаемых плагинов и прописать в нужном месте шаблона модуля вывод <strong>{FILE "{PHP.cfg.themes_dir}/{PHP.cfg.defaulttheme}/warnings.tpl"}</strong>, следовательно в плагинах <strong>cot_display_messages($t) </strong>можно удалить, теперь все сообщения будут выводится в нужном месте</p>

<p>Думаю вопрос решен!</p>
]]></description>
			<pubDate>Mi, 02 Sep 2020 16:12:44 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9021&d=0#post45068]]></link>
		</item>
		<item>
			<title>jCube Group</title>
			<description><![CDATA[<p>ищите cot_message  я точно не помню,  там должно быть отправка сообщения и вторая функция показать,  точно не помню,  ищите пример в модулях</p>
]]></description>
			<pubDate>Mi, 02 Sep 2020 15:56:51 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9021&d=0#post45067]]></link>
		</item>
		<item>
			<title>Виктор</title>
			<description><![CDATA[<p>Как вывести сообщение cot_error после отправки формы?</p>

<p>в общем есть плагин <strong>test </strong>(добавляет к модулю форму)</p>

<p><strong>test.module</strong> - файл (по хуку модуля) с тегами и шаблоном для вывода формы</p>

<p><strong>test </strong> - файл (standalone) - обработчик формы</p>

<p>после отправки формы идем в обработчик <strong>test</strong></p>

<pre class="brush:php;gutter:false;toolbar:false;">
if ($act == 'add')
    {
        $r = array();

        $r['test'] = cot_import('text', 'P', 'TXT'); 

cot_check(empty($r['test']), 'Нет текста'); 
         
        ........

 cot_redirect(cot_url('modules', $param, '', true));</pre>

<p>если ошибка то редирект обратно на страницу, как здесь вывести ошибку?</p>

<p> </p>
]]></description>
			<pubDate>Mi, 02 Sep 2020 06:52:04 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=9021&d=0#post45066]]></link>
		</item>
	</channel>
</rss>