Sander1 62 Опубликовано: 19 мая 2018 Рассказать Опубликовано: 19 мая 2018 (изменено) При создании категории или подкатегории не учитывается параметр posi. Вернее у новой категории этот параметр позиции равен единице, отчего при создании категория размещается не в конце списка, а в начало ветки: Лично мне это кажется дико неудобным. Создал, перетянул (а когда категорий 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 Изменено 19 мая 2018 пользователем Sander1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.