<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Больная тема hook</title>
		<link>https://www.cotonti.com</link>
		<description>Son konu mesajları</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Sun, 12 Apr 2026 00:19:20 -0000</pubDate>

		<item>
			<title>Kort</title>
			<description><![CDATA[<p>Pagelist -- это плагин, который делает функцию sedby_pagelist() глобальной через хук global. Так что путь у тебя один)</p>
]]></description>
			<pubDate>Çrş, 29 Kas 2023 05:30:21 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47511]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<p>Получается мой вопрос мог быть решен 4 способами?</p>

<p>1 Глобальная функция</p>

<p>2 Через плагин pagelist</p>

<p>3 Написать отдельный плагин</p>

<p>4 Через тот самый hook</p>
]]></description>
			<pubDate>Sal, 28 Kas 2023 18:37:30 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47509]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>Это библиотека функций, общих для pagelist и схожих плагинов. Скачивать <a href="https://github.com/seditio/cot_cotlib" rel="nofollow">здесь</a>.</p>
]]></description>
			<pubDate>Sal, 28 Kas 2023 07:31:09 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47502]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9302&amp;d=1#47493">#47493</a> <strong>Kort: </strong>
<p>Это просто глобальная функция</p>
</blockquote>

<p>скачивал у вас pagellist его установка потребовала предустановить библиотеку <a href="https://sed.by/cot/ext/cotlib" rel="nofollow">Cotli</a>b </p>

<p>Что это за библиотека? для чго она?</p>
]]></description>
			<pubDate>Pzt, 27 Kas 2023 19:13:33 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47501]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>Это просто глобальная функция</p>
]]></description>
			<pubDate>Pzt, 27 Kas 2023 09:11:40 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47493]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9302&amp;d=1#47480">#47480</a> <strong>Kort: </strong>
<p>В php-файле темы прописываем функцию:</p>

<pre class="brush:php;">
function sedby_user_projects_count($user_id = 1) {
   Cot::$db-&gt;registerTable('projects');
   return Cot::$db-&gt;query("SELECT COUNT(*) FROM " . Cot::$db-&gt;projects . " WHERE item_userid = $user_id")-&gt;fetchColumn();
}</pre>

<p>Отдаем ID пользователя этой функции в качестве аргумента для получения количества проектов. Например, на странице users:</p>

<pre class="brush:xml;">
&lt;!-- BEGIN: USERS_ROW --&gt;
...
{USERS_ROW_ID|sedby_user_projects_count($this)}
...
&lt;!-- END: USERS_ROW --&gt;</pre>
</blockquote>

<p>Отлично работат, это прекрасно.</p>

<p>Это и есть тот  самый hook?</p>
]]></description>
			<pubDate>Paz, 26 Kas 2023 13:12:21 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47485]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>В php-файле темы прописываем функцию:</p>

<pre class="brush:php;">
function sedby_user_projects_count($user_id = 1) {
   Cot::$db-&gt;registerTable('projects');
   return Cot::$db-&gt;query("SELECT COUNT(*) FROM " . Cot::$db-&gt;projects . " WHERE item_userid = $user_id")-&gt;fetchColumn();
}</pre>

<p>Отдаем ID пользователя этой функции в качестве аргумента для получения количества проектов. Например, на странице users:</p>

<pre class="brush:xml;">
&lt;!-- BEGIN: USERS_ROW --&gt;
...
{USERS_ROW_ID|sedby_user_projects_count($this)}
...
&lt;!-- END: USERS_ROW --&gt;</pre>
]]></description>
			<pubDate>Paz, 26 Kas 2023 10:05:42 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47480]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9302&amp;d=1#47472">#47472</a> <strong>Argont: </strong>
<blockquote class="fp"><a href="https://www.cotonti.com/ru/forums?m=posts&amp;q=9302&amp;d=1#47441">#47441</a> <strong>vpktz: </strong>
<p>Очень часто при верстке, сборке cotonti сталкиваюсь с моментом, где нужно информацию со одной странице вывести на некоторой другой, но там она уже не выводиться.</p>

<p>Хотелось бы разобраться и понять это. Более подробно, в деталях, на примере какого то маленького плагина. Информацию которого нужно  вывести например в header</p>
</blockquote>

<p>Вы хоть пример приведите, какую именно информацию и куда конкретно нужно</p>
</blockquote>

<p>В users.details.tpl есть тег {USERS_DETAILS_PROJECTS_COUNT} который выводит число сколько всего юзер сделал заказов.</p>

<p>Этот  тег срабатывает только в  users.details.tpl.</p>

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

<p>Что бы было типо информативно, под ником видно сразу какой рейтинг, отзывы, <strong>заказы</strong></p>

<p><b>Я так понимаю этот тег от модуля projects</b></p>

<p> </p>

<p>Как по моей логике мне что то подсказывает что проще маленький плагин сделать, который будет цыплять эту цифру. Это наверное и есть hook</p>
]]></description>
			<pubDate>Paz, 26 Kas 2023 09:48:04 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47479]]></link>
		</item>
		<item>
			<title>Argont</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/ru/forums?m=posts&amp;q=9302&amp;d=1#47441">#47441</a> <strong>vpktz: </strong>
<p>Очень часто при верстке, сборке cotonti сталкиваюсь с моментом, где нужно информацию со одной странице вывести на некоторой другой, но там она уже не выводиться.</p>

<p>Хотелось бы разобраться и понять это. Более подробно, в деталях, на примере какого то маленького плагина. Информацию которого нужно  вывести например в header</p>
</blockquote>

<p>Вы хоть пример приведите, какую именно информацию и куда конкретно нужно</p>
]]></description>
			<pubDate>Cmt, 25 Kas 2023 20:10:22 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47472]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9302&amp;d=1#47443">#47443</a> <strong>Kort: </strong>
<p dir="ltr">В самом простом варианте это можно сделать, например, через <a href="https://sed.by/cot/ext/pagelist" rel="nofollow">плагин Pagelist</a>:</p>

<ol dir="ltr">
	<li>Создаем страничное экстраполе для указания ID страницы, с которой будем брать информацию (например, page_getpagedata).В шаблон page.tpl добавляем следующую конструкцию:
	<pre class="brush:xml;">
&lt;!-- IF {PAGE_GETPAGEDATA} --&gt;
   {PAGE_GETPAGEDATA|sedby_pagelist('pagelist.getpagedata', 1, '', 'page_id = $this')}
&lt;!-- ENDIF --&gt;</pre>
	</li>
	<li>В папке plugins/pagelist темы создаем файл pagelist.getpagedata.tpl:
	<pre class="brush:xml;">
&lt;!-- BEGIN: MAIN --&gt;
&lt;!-- BEGIN: PAGE_ROW --&gt;
   &lt;div&gt;
      {PAGE_ROW_TEXT}
   &lt;/div&gt;
&lt;!-- END: PAGE_ROW --&gt;
&lt;!-- END: MAIN --&gt;</pre>
	</li>
	<li>В файл page.edit.tpl добавляем TPL-теги для правки нашего экстраполя:
	<pre class="brush:xml;">
&lt;tr&gt;
  &lt;td&gt;
    {PAGEEDIT_FORM_GETPAGEDATA_TITLE}
  &lt;/td&gt;
  &lt;td&gt;
    {PAGEEDIT_FORM_GETPAGEDATA}
  &lt;/td&gt;
&lt;/tr&gt;</pre>
	</li>
</ol>

<p dir="ltr">Теперь, если при правке страницы указать id страницы-донора, то конструкция из п. 1 выведет в соответствующем месте текст страницы-донора.</p>

<p dir="ltr">Естественно, в шаблоне pagelist.getpagedata.tpl можно использовать любое поле или экстраполе.</p>

<p dir="ltr">Если хочется в header.tpl / footer.tpl, то логика будет такая:</p>

<pre class="brush:xml;">
&lt;!-- IF {PHP.pag.page_getpagedata} --&gt;
  {PHP.pag.page_getpagedata|sedby_pagelist('pagelist.getpagedata', 1, '', 'page_id = $this')}
&lt;!-- ENDIF --&gt;</pre>

<p>Если надо вообще отвязаться от текущей страницы и глобально вставлять страничное поле/экстраполе, тогда так:</p>

<pre class="brush:xml;">
{PHP|sedby_pagelist('pagelist.getpagedata', 1, '', 'page_id = 11')}</pre>

<p>Пункты 1 и 3 в этом случае не нужны, вместо 11 указать id страницы-донора, а условие (если необходимо) придумать свое.</p>
</blockquote>

<p> </p>

<p>А другие способы есть? Это что то я в обще не осиляю, вернее слишком много вопросов у меня, через слово вашей инструкции у меня вопрос. Это значит  что я наверное точно долго буду тыкаться. Может проще еще каким нибудь способом?  </p>
]]></description>
			<pubDate>Cmt, 25 Kas 2023 19:42:47 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47471]]></link>
		</item>
		<item>
			<title>Argont</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/ru/forums?m=posts&amp;q=9302&amp;d=1#47447">#47447</a> <strong>Kort: </strong>
<p>Хмм. Все страньше и страньше...</p>

<p>Админка -&gt; Управление -&gt; Экстраполя -&gt; Pages</p>
</blockquote>

<p><a href="https://www.cotonti.com/ru/users/Kort">Kort</a>, при всём уважении, это вам просто, как одному из отцов этого детища, а новичкам нужна инструкция с пояснениями, с примерами. сам честно создавал метом проб и ошибок, но прошел не так далеко как хотелось бы, и это не правильно. хотелось бы иметь под рукой руководство по созданию экстраполей, начиная с основ, - типы экстраполей, и что каждый из них значит и для чего лучше использовать, а там дальше в лес, взависимости от типа экстраполя - лес сгущается на параметрах полей. Экстраполя в движке котонти, это то что можно назвать "фишкой", преимуществом, но к сожалению этот потенциал уверен многими не раскрывается в полной мере в силу скудной документацией по этой теме.</p>
]]></description>
			<pubDate>Per, 23 Kas 2023 19:31:06 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47448]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>Хмм. Все страньше и страньше...</p>

<p>Админка -&gt; Управление -&gt; Экстраполя -&gt; Pages</p>
]]></description>
			<pubDate>Per, 23 Kas 2023 19:10:49 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47447]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=9302&amp;d=1#47443">#47443</a> <strong>Kort: </strong>
<p dir="ltr">В самом простом варианте это можно сделать, например, через <a href="https://sed.by/cot/ext/pagelist" rel="nofollow">плагин Pagelist</a>:</p>

<ol dir="ltr">
	<li>Создаем страничное экстраполе для указания ID страницы, с которой будем брать информацию (например, page_getpagedata).В шаблон page.tpl добавляем следующую конструкцию:
	<pre class="brush:xml;">
&lt;!-- IF {PAGE_GETPAGEDATA} --&gt;
   {PAGE_GETPAGEDATA|sedby_pagelist('pagelist.getpagedata', 1, '', 'page_id = $this')}
&lt;!-- ENDIF --&gt;</pre>
	</li>
</ol>
</blockquote>

<p> На первом пункте уже не понимаю. </p>

<p>Как создать экстраполе? (пж не ругайтесь)</p>
]]></description>
			<pubDate>Per, 23 Kas 2023 18:51:09 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47446]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p dir="ltr">В самом простом варианте это можно сделать, например, через <a href="https://sed.by/cot/ext/pagelist" rel="nofollow">плагин Pagelist</a>:</p>

<ol dir="ltr">
	<li>Создаем страничное экстраполе для указания ID страницы, с которой будем брать информацию (например, page_getpagedata).В шаблон page.tpl добавляем следующую конструкцию:
	<pre class="brush:xml;">
&lt;!-- IF {PAGE_GETPAGEDATA} --&gt;
   {PAGE_GETPAGEDATA|sedby_pagelist('pagelist.getpagedata', 1, '', 'page_id = $this')}
&lt;!-- ENDIF --&gt;</pre>
	</li>
	<li>В папке plugins/pagelist темы создаем файл pagelist.getpagedata.tpl:
	<pre class="brush:xml;">
&lt;!-- BEGIN: MAIN --&gt;
&lt;!-- BEGIN: PAGE_ROW --&gt;
   &lt;div&gt;
      {PAGE_ROW_TEXT}
   &lt;/div&gt;
&lt;!-- END: PAGE_ROW --&gt;
&lt;!-- END: MAIN --&gt;</pre>
	</li>
	<li>В файл page.edit.tpl добавляем TPL-теги для правки нашего экстраполя:
	<pre class="brush:xml;">
&lt;tr&gt;
  &lt;td&gt;
    {PAGEEDIT_FORM_GETPAGEDATA_TITLE}
  &lt;/td&gt;
  &lt;td&gt;
    {PAGEEDIT_FORM_GETPAGEDATA}
  &lt;/td&gt;
&lt;/tr&gt;</pre>
	</li>
</ol>

<p dir="ltr">Теперь, если при правке страницы указать id страницы-донора, то конструкция из п. 1 выведет в соответствующем месте текст страницы-донора.</p>

<p dir="ltr">Естественно, в шаблоне pagelist.getpagedata.tpl можно использовать любое поле или экстраполе.</p>

<p dir="ltr">Если хочется в header.tpl / footer.tpl, то логика будет такая:</p>

<pre class="brush:xml;">
&lt;!-- IF {PHP.pag.page_getpagedata} --&gt;
  {PHP.pag.page_getpagedata|sedby_pagelist('pagelist.getpagedata', 1, '', 'page_id = $this')}
&lt;!-- ENDIF --&gt;</pre>

<p>Если надо вообще отвязаться от текущей страницы и глобально вставлять страничное поле/экстраполе, тогда так:</p>

<pre class="brush:xml;">
{PHP|sedby_pagelist('pagelist.getpagedata', 1, '', 'page_id = 11')}</pre>

<p>Пункты 1 и 3 в этом случае не нужны, вместо 11 указать id страницы-донора, а условие (если необходимо) придумать свое.</p>
]]></description>
			<pubDate>Per, 23 Kas 2023 16:23:01 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47443]]></link>
		</item>
		<item>
			<title>Kabak</title>
			<description><![CDATA[<p>на сайте есть : страницы , форумы, комментарии.   Вам нужно вывести информацию из этих разделов или из каких-то других ?</p>
]]></description>
			<pubDate>Per, 23 Kas 2023 16:22:18 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47442]]></link>
		</item>
		<item>
			<title>vpktz</title>
			<description><![CDATA[<p>Очень часто при верстке, сборке cotonti сталкиваюсь с моментом, где нужно информацию со одной странице вывести на некоторой другой, но там она уже не выводиться.</p>

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

<p>Вопрос, как выводить информацию того или иного модуля/плагина плагина в том месте где это хотелось бы?</p>

<p>Часто слышу о методе что "напиши hook" . Пытался пару раз углубится в это, но так не смог разобаться.</p>

<p>Хотелось бы разобраться и понять это. Более подробно, в деталях, на примере какого то маленького плагина. Информацию которого нужно  вывести например в header</p>
]]></description>
			<pubDate>Per, 23 Kas 2023 15:34:47 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=9302&d=0#post47441]]></link>
		</item>
	</channel>
</rss>