Предложение по menuindex: сделать прирост индекса документов не +1 , а по +5 или +10

Бывает так, что в стак документов надо «запихнуть» в серединку еще один.
Поскольку параметр menuindex автоматически увеличивается только на 1, приходится менять кучу индексов… Предлагаю вынести в настройки «шаг» прироста индекса.

Спасибо!

15 комментариев

avatar
Все гораздо проще:
Модули -> DocManager -> Сортировать Пункты меню :)
avatar
ну не так то это и просто, во первых куча лишних кликов, во вторых не все варианты сортировки подходят.
сделать менюиндекс с шагом 10 — это простое решение, в идеале сделать перетаскивание мышкой в дереве с автоматическим переназначением индекса, при этом чтобы режим перетаскивания включался отдельной кнопкой, дабы исключить случайное перетаскивание.
avatar
1. Никто не мешает вынести кнопку для сортировки документов куда вам нужно :)
2. Режим перетаскивания и решение через DocManager в целом однотипны в своей работе по части перетаскивания в пределах одного родителя.
3. Так же не понял при чем тут не все варианты сортировки? если мы говорим про менюиндекс?
avatar
поддерживаю) DocManager решает большинство вопросов по работе с документами.
avatar
Кстати, «есть мнение», что такой метод определения menuindex не очень хороший — то-то я думаю чего он постоянно «глючит», когда задашь произвольно индекс для ресурса например 20 и ждешь что следующий будет 21. Или удалишь из середины несколько а потом вообще индексы непонятно откуда «растут». А все по причине того, что считает не максимальный индекс, а общее количество «детей». По мне так логичнее вместо

<code>$rs = $modx->db->select('count(*)', $tbl_site_content, "parent='{$pid}'");
        $content['menuindex'] = $modx->db->getValue($rs);</code>

сделать что-то вроде

<code>$rs = $modx->db->select('MAX(menuindex)', $tbl_site_content, "parent='{$pid}'");
        $content['menuindex'] = ($modx->db->getRecordCount($rs) == 0 ? 0 : $modx->db->getValue($rs)+1);</code>

вот тут
Комментарий отредактирован 2014-07-30 15:04:28 пользователем webber
avatar
Как-то давно делали простенький виджет mm_ddFillMenuindex для ManagerManager. Он, правда, выставляет наименьший свободный (заполняя тем самым «дырки» между документами), но может кому пригодится.

А вообще, виджету легко можно добавить один параметр и сделать возможным работу по максимальному.
avatar
Спасибо большое за код. Я тоже что-то в этом роде делал, только ставил не +1, а +5. Сделал «свою» сборку ModX — добавил Ваши изменения в дистрибутив. Копирайт в коде на Вас поставить?
avatar
Да ладно, обойдусь как нибудь без копирайта :)
avatar
хотелось бы чтобы режим перетаскивания включался прямо в дереве
avatar
где-то есть на сообществе данная тема
Комментарий отредактирован 2014-07-30 13:11:48 пользователем bumkaka
avatar
А может просто сделаем как я предложил? Просто иметь возможность менять коэффициент-прироста menuindex
avatar
А почему бы не по +7 или +13? Тоже хорошие числа.
avatar
Тоже хорошие, но мне как то привычнее кратно 5 и 10…
avatar
А если, все таки, вынесут этот параметр в «настройки», то Вы сами сможете ставить, хоть 666
Комментарий отредактирован 2014-07-31 08:29:51 пользователем Watslock
avatar
Я прям спал и видел как бы увеличить этот параметр на 42.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.