<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Нестандартная структура категорий для page</title>
		<link>https://www.cotonti.com</link>
		<description>Laatste forum onderwerpen</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Sun, 12 Apr 2026 22:48:57 -0000</pubDate>

		<item>
			<title>Macik</title>
			<description><![CDATA[<p>Давайте я проясню некоторые моменты...</p>

<p>1. «Код» категории с<span style="font-size:14px;font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;"> точки зрения системы </span>это ее идентификатор. И<span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:14px;">дентификатор по своей сути <strong>должен быть</strong> <strong>уникальным</strong> (<strong>идентифицировать конкретную категорию</strong>). Эта логика ядра системы.</span></p>

<p>2. То, как этот идентификатор используется расширениями ядру не принципиально, если это «использование» не нарушает пправило из п.1</p>

<p>Поэтому вопрос о том, что «категории работают не правильно» здесь не правомерен.</p>

<p><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:14px;">На текущей «логике» ядра базируется функционал многих плагинов и самостоятельно править ядро, </span>за счет внесения каких-либо правок него, равносильно стрельбе в собственную ногу. Делая так далеко вы не уйдете.</p>

<p>Если все же в виду каких-то специфичных нужд, есть необходимость менять конечный функционал, то <strong>делается это на уровне расширений</strong>.</p>

<p>Теперь конкретнее, о задаче: за отображение «красивых путей» в адресной строке отвечает, например, плагин URLEditor. Соответственно менять «логику» надо именно в нем. Среди прочего он позволяет использовать для обработки URL пользовательские функции. Здесь на форуме уже не раз обсуждалась его работа и настройка.</p>

<p>В частности, здесь на сайте решена подобная задача, и используется для некоторых разделов. Суть аналогична тому, что предложил CrazyFreeMan. Коды категорий записаны с учетом иерархии.</p>

<p>Пример для раздеа «документация»: docs → docs_ext → docs_ext_themes. А за счет функции обработки в url мы видим путь docs/ext/themes/page_alias.</p>

<p> </p>
]]></description>
			<pubDate>Wo, 08 Feb 2017 12:05:14 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42646]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8342&amp;d=1#42631">#42631</a> <strong>CrazyFreeMan: </strong>
<p>Если бы проверять пути то возможно это решение и затронет алиасы (дубликаты страниц) и не прийдется надеятся на CANONICAL URL</p>
</blockquote>

<p>А при чем тут CANONICAL URL ?</p>

<p>Замена проверки путей вместо названия никак не затрагивает алиасы.</p>

<p>Возмем к примеру две разные реализации замены:</p>

<p>1. Меняем в таблице <code class="sql"><span class="cm-variable-2">cot_pages</span></code>-&gt; page_cat на page_path.</p>

<p>В этом случае если нужно значение page_cat, то берем его не из cot_page -&gt; page_cat, а из cot_structure -&gt; structure_code</p>

<p>2. Не удаляем cot_pages - &gt; page_cat, а добавляем cot_pages - &gt; page_path.</p>

<p>В этом случае с алиасами вообще останется все как прежде.</p>

<p> </p>

<p>В общем в любом случае прежний функционал остается, а идиотских ограничений больше не будет.</p>
]]></description>
			<pubDate>Vr, 03 Feb 2017 19:45:49 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42635]]></link>
		</item>
		<item>
			<title>CrazyFreeMan</title>
			<description><![CDATA[<p>Если бы проверять пути то возможно это решение и затронет алиасы (дубликаты страниц) и не прийдется надеятся на CANONICAL URL </p>

<p>К прмеру у меня так же стала задача сделать 3 категории и внутри их по 3 категории с одним названием категории но нельзя (проверка на уникальность)</p>

<p>Пришлось писать так parent-1 -&gt; parent-1_sub1, parent-1_sub2, <span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">parent-1_sub3, parent-2 -&gt; parent-2_sub1, parent-2_sub2, parent-2_sub3 и потом в своем коде парсить explode('_', $cat)  хотя читабельней структура parent_1 -&gt; sub1, sub2, sub3  parent_2 -&gt; sub1, sub2, sub3 Но тогда в базе для записей вместо категории нужно добавить/заменить путь и проверять его. Потому как не разобрать когда у страницы указана page_cat категория sub1 и sub1 а кто родитель не известно :) </span></p>

<p><span style="font-family:'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;font-size:15px;">Думаю подумать нужно. </span></p>
]]></description>
			<pubDate>Vr, 03 Feb 2017 12:32:15 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42631]]></link>
		</item>
		<item>
			<title>prostogorod</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/ru/forums?m=posts&amp;q=8342&amp;d=1#42625">#42625</a> <strong>Kort: </strong>
<p>В пятых, совершенно не принципиальный вопрос (проще говоря, хотелка), который решается изменением кода категории (УВ2 clinics/moscow на УВ1 clinics-moscow или УВ2 clinics/54895-moscow) и совершенно ни на что не влияющий.</p>
</blockquote>

<p>Кто работает с Cotonti, думаю сталкивались с этим вопросом не однократно, я в том числе. И обходили это ограничение этим же принципом. Ничего нового...</p>

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

<p>Не надо никаких иссей. Во-первых, из-за одного пожелания такие дела не делаются.</p>
</blockquote>

<p>Просто не происходило до широкого обсуждения, тем более с знающими Cotonti людьми. Я выступаю с позици пользователя и удобства работы с системой. Пускай выскажится большая часть разработчиков. А кто тогда принимает решения по Issues?</p>

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

<p>В третьих, никто не просчитывал последствий.</p>
</blockquote>

<p>Я об этом и задавал вопрос к разработчикам? Может на этом построить обсуждение этой темы, если считаете целесообразным. Но внятного ответа так и не получил...</p>
]]></description>
			<pubDate>Vr, 03 Feb 2017 05:36:05 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42628]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8342&amp;d=1#42625">#42625</a> <strong>Kort: </strong>
<p>Во-первых, из-за одного пожелания такие дела не делаются.</p>

<p>.......</p>

<p>В пятых, совершенно не принципиальный вопрос (проще говоря, хотелка).</p>
</blockquote>

<p>Когда чтото не работает нормально - это не хотелка, а глюк, который надо исправлять, а не извращаться в названиях.</p>

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

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

<p>Во-вторых, проверка кода проще, чем пути.</p>
</blockquote>

<p>Да без разницы.</p>

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

<p>В четвертых, это не глупость и не полнейшая.</p>
</blockquote>

<p>Согласен - это не глупость, а идиотизм.</p>

<p>Создать пути и не использовать их, а делать проверку не пойми чего и зачем.</p>
]]></description>
			<pubDate>Vr, 03 Feb 2017 03:12:57 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42626]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<p>Не надо никаких иссей. Во-первых, из-за одного пожелания такие дела не делаются. Во-вторых, проверка кода проще, чем пути. В третьих, никто не просчитывал последствий. В четвертых, это не глупость и не полнейшая. В пятых, совершенно не принципиальный вопрос (проще говоря, хотелка), который решается изменением кода категории (УВ2 clinics/moscow на УВ1 clinics-moscow или УВ2 clinics/54895-moscow) и совершенно ни на что не влияющий.</p>
]]></description>
			<pubDate>Thu, 02 Feb 2017 20:20:18 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42625]]></link>
		</item>
		<item>
			<title>CrazyFreeMan</title>
			<description><![CDATA[<p>Подверждаю, есть и тут косяк. Может в иссю ? </p>
]]></description>
			<pubDate>Thu, 02 Feb 2017 05:45:50 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42624]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote class="fp"><a href="https://www.cotonti.com/forums?m=posts&amp;q=8342&amp;d=1#42621">#42621</a> <strong>prostogorod: </strong>
<p>Как можно обойти это ограничение?</p>
</blockquote>

<p>Действительно полнейшая глупость <img alt="smiley" height="23" src="https://www.cotonti.com/plugins/ckeditor/lib/plugins/smiley/images/regular_smile.png" title="smiley" width="23" /></p>

<p>Зачем проверять на одинаковые имена, когда надо проверять пути ?</p>

<p> </p>

<p>Само по себе добавление структуры не сложно поправить.</p>

<p>В файле /system/structure.php найти:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
$sql = $db-&gt;query("SELECT COUNT(*) FROM $db_structure WHERE structure_area=? AND structure_code=?", array($extension, $data['structure_code']));</pre>

<p>и заменить скажем на:</p>

<pre class="brush:php;gutter:false;toolbar:false;">
$sql = $db-&gt;query("SELECT COUNT(*) FROM $db_structure WHERE structure_area=? AND structure_path=?", array($extension, $data['structure_code']));</pre>

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

<p><img alt="" src="https://www.cotonti.com/datas/users/new_structure_10.jpg" /></p>

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

<p>И что черевато, если это сделать?</p>
</blockquote>

<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>

<p>Причем не только вывод самой структуры, но и все что связано с самими страницами, т.к. они привязаны к structure_code, а надо чтоб было к structure_path.</p>

<p> </p>

<p>По хорошему это все бы переделать в любом случае надо, т.к. сейчас как то нелепо получается.</p>

<p>Переменная structure_path в любом случае должна быть уникальная, так почему бы ее и не использовать ?</p>

<p>Видно раньше ктото схалтурил и вместо привязки к structure_path, привязал все к structure_code.</p>
]]></description>
			<pubDate>Wo, 01 Feb 2017 23:52:51 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42623]]></link>
		</item>
		<item>
			<title>prostogorod</title>
			<description><![CDATA[<p>Столкнулся с тем, что нужна структура категорий для page такого плана</p>

<pre class="brush:php;gutter:false;toolbar:false;">
clinic/moskow
clinic/novgorod

agency/moskow
agency/novgorod</pre>

<p>чтобы урлы были красивые и т.д.</p>

<p>А оказываеться ошибка категория с таким кодом уже существует...</p>

<p>Как можно обойти это ограничение? И что черевато, если это сделать?</p>
]]></description>
			<pubDate>Wo, 01 Feb 2017 16:08:29 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=8342&d=0#post42621]]></link>
		</item>
	</channel>
</rss>