Перейти к публикации

Хак: Правильное расположение новой категории


Рекомендованные сообщения

При создании категории или подкатегории не учитывается параметр posi. Вернее у новой категории этот параметр позиции равен единице, отчего при создании категория размещается не в конце списка, а в начало ветки:

VwDOs68BSKGnAd_jkDoACg.png

 

Лично мне это кажется дико неудобным. Создал, перетянул (а когда категорий 50 и тянуть со скроллом, запоминая на глазок отсутп... уфф) в конец списка, сохранил. Многовато-лишних действий.

 

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>Правильное расположение новых категорий</name>
	<description>Расположение новой добавленной категории в конец списка ветки. by Sander</description>
	<icon></icon>
	<version></version>
	<dleversion></dleversion>
	<versioncompare>less</versioncompare>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<file name="engine/inc/categories.php">
		<operation action="after">
			<searchcode><![CDATA['$disable_rating', '$disable_comments')" );]]></searchcode>
			<replacecode><![CDATA[	$new_id = $db->insert_id();
	$posi = $db->super_query("SELECT MAX(posi) as posi FROM ".PREFIX."_category WHERE parentid = $category LIMIT 1");
	$posi = $posi['posi'] + 1;
	$db->query("UPDATE ".PREFIX."_category SET posi = $posi WHERE id = $new_id");]]></replacecode>
		</operation>
	</file>
</dleplugin>

Данный метод подойдет так же и для предыдущих версий DLE. Только там код подключения немного отличается, вставлять нужно после строки, которая начинается на:

$db->query( "INSERT INTO " . PREFIX . "_category

 

С уважением,

Олег Александрович a.k.a. Sander

Изменено пользователем Sander1
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...