[AdminTools] Избранные элементы
Первая версия пакета инструментов для администраторов. Пока в нее вошел только функционал для управления избранными элементами. Изначально планировал выделить их в отдельную вкладку (см. картинку). Но получилось не очень — дублирование функционала двух вкладок (основной и с избранными элементами), плюс неудобство с их синхронизацией. Поэтому решил сделать в виде фильтра в основной вкладке элементов.
Насколько получилось удобно судить вам.
У каждого типа элементов в тулбаре появилась звездочка, которая включает и отключает режим избранных элементов.
В контекстное меню каждого элемента добавлены пункты «Добавить в избранное» и «Удалить из избранного».
Текущие состояния фильтров и элементов хранятся в сессии и в кэше в папке core/cache/admintools/favorite_elements. Последовательность такая — если данных в сессии нет, то берется из кэша.
За внешний вид избранных элементов отвечает css класс x-element-favorite. Чтобы изменить иконку, укажите класс иконки в системной настройке admintools_favorites_icon. Например, «icon-star» или «icon-heart». Последняя такая миленькая. :)
В принципе все достаточно понятно. Если будут вопросы и предложения, не стесняйтесь.
П.С. Всевозможные улучшалки админки планирую включать в этот компонент.
Проект на Github.
Уже в магазине.
Насколько получилось удобно судить вам.
Принцип работы
У каждого типа элементов в тулбаре появилась звездочка, которая включает и отключает режим избранных элементов.
В контекстное меню каждого элемента добавлены пункты «Добавить в избранное» и «Удалить из избранного».
Текущие состояния фильтров и элементов хранятся в сессии и в кэше в папке core/cache/admintools/favorite_elements. Последовательность такая — если данных в сессии нет, то берется из кэша.
За внешний вид избранных элементов отвечает css класс x-element-favorite. Чтобы изменить иконку, укажите класс иконки в системной настройке admintools_favorites_icon. Например, «icon-star» или «icon-heart». Последняя такая миленькая. :)
В принципе все достаточно понятно. Если будут вопросы и предложения, не стесняйтесь.
П.С. Всевозможные улучшалки админки планирую включать в этот компонент.
Проект на Github.
Уже в магазине.
Поблагодарить автора
Отправить деньги
Комментарии: 36
Не думал, что так скоро. Замечательная плюшка! Спасибо, Сергей. Сразу просьба: сделать значок избранного рядом с иконкой шаблона, если это возможно, а не вместо нее.
Картинки с моего сайта. Изначально звездочки отключены. Внешний вид избранных элементов можно изменить в css файле.
Классно! Сдержал своё слово, на выходных занялся этим!
У меня вопрос: избранное персонализировано для каждого пользователя, или оно одно общее для всех пользователей?
У меня вопрос: избранное персонализировано для каждого пользователя, или оно одно общее для всех пользователей?
У меня вопрос: избранное персонализировано для каждого пользователя, или оно одно общее для всех пользователей?Для всех общее. После того как выложил тоже пришла в голову мысль разделить для пользователей. Уже вчера вечером сделал. Пока выкладывать не буду, чтобы не плодить версии для каждой маленькой доработки.
Ок, главное что сделал, это пока не критично. Спасибо ещё раз!
Хотя наверно лучше выложить, чтоб потом не настраивать заново. Ща обновлю.
Давай, чтобы потом путаницы не было между пользователями
joxi.ru/82Q76PbHLLbQrd — заметил глюк при подсчёте папок. На скриншоте я добавил в избранное только 1 чанк scripts, но подсчитались все 6 пунктов (вместе с папками). Если же попытаться их раскрывать, они обновляются и исчезают. Но при обновлении дерева или страницы они снова появляются.
То есть глюк с подсчётом вложенных папок.
То есть глюк с подсчётом вложенных папок.
Я бы сказал, что это фича (специфика) дерева, а не баг. Дело в том, что если папка закрыта, то она пустая — в ней нет элементов. Зачитывается она только когда ее открываешь. Иначе дерево бы грузилось минуты. Т.е. на момент построения дерева я не знаю, есть ли в закрытых папках избранные элементы. Поэтому и получается, что когда папку открываешь, элементы подгружаются и я уже могу подсчитать избранные. А если их нет, то я скрываю папку. Если папка открыта, то я сразу подсчитываю и скрываю папку, если в ней их нет.
В дальнейшем я постараюсь решить эту проблему. На сегодняшний день я не знаю как заменить процессор у дерева на свой без изменения ядра, чтобы уже в нем решать часть задач.
П.С. Я сильно не тестировал. Возможно вылезут еще какие-то моменты. Будем решать их по мере поступления.
В дальнейшем я постараюсь решить эту проблему. На сегодняшний день я не знаю как заменить процессор у дерева на свой без изменения ядра, чтобы уже в нем решать часть задач.
П.С. Я сильно не тестировал. Возможно вылезут еще какие-то моменты. Будем решать их по мере поступления.
Всё же папки доставляют много неудобств.
Поясню:
Когда нужно избранное? Когда элементов большая куча. Но в таком случае они обязательно рассортированы по папкам, у меня например папки в несколько уровней глубины.
Обычно избранное небольшое — пару элементов, которые нужны для для текущих работ. Потом их можно убрать из избранного, т.к. слишком много избранного — это тоже мусор.
Сейчас же если у меня в избранном один чанк, находящийся на 4-м уровне вложенности, то это не добавляет мне удобства, потому что при любой перезагрузке страницы мне снова нужно будет открывать все 4 папки глубины, чтобы добраться только до 1-го моего чанка. Хотя смысл избранного в том, чтобы оно было всегда под рукой.
Вывод: в избранном не нужны вообще папки!
Если у тебя получится вывести в избранное прямо в корень все избранные элементы подряд, то это намного облегчит работу, всё будет под рукой! Те же элементы, над которыми сейчас не работаю — просто удаляю из избранного.
Поясню:
Когда нужно избранное? Когда элементов большая куча. Но в таком случае они обязательно рассортированы по папкам, у меня например папки в несколько уровней глубины.
Обычно избранное небольшое — пару элементов, которые нужны для для текущих работ. Потом их можно убрать из избранного, т.к. слишком много избранного — это тоже мусор.
Сейчас же если у меня в избранном один чанк, находящийся на 4-м уровне вложенности, то это не добавляет мне удобства, потому что при любой перезагрузке страницы мне снова нужно будет открывать все 4 папки глубины, чтобы добраться только до 1-го моего чанка. Хотя смысл избранного в том, чтобы оно было всегда под рукой.
Вывод: в избранном не нужны вообще папки!
Если у тебя получится вывести в избранное прямо в корень все избранные элементы подряд, то это намного облегчит работу, всё будет под рукой! Те же элементы, над которыми сейчас не работаю — просто удаляю из избранного.
Если у тебя получится вывести в избранное прямо в корень все избранные элементы подряд, то это намного облегчит работу, всё будет под рукой!Это совсем не сложно. Просто это вопрос дискуссионный — нужны они или нет. Соглашусь, что они не удобны. Лично я бы тоже их убрал.
Если они кому-то так нужны, то выведи это в системные настройки. Хотя непонятно кому нужны вложенные папки для избранного, ведь избранное нужно только для пары элементов, а лазить за ними в глубину это трудозатратно, а ведь ещё нужно помнить в какой из папок нужный тебе элемент…
Избранное, это текучая часть — сегодня избранное, завтра уже можно удалить его оттуда за ненадобностью.
В среднестатическом сайте элементов совсем немного и избранное в принципе не сильно будет востребованно — только для 1-2 чанков. А на больших сайтах, где нужно всё упрощать для быстроты — папки только усложняют работу.
Избранное, это текучая часть — сегодня избранное, завтра уже можно удалить его оттуда за ненадобностью.
В среднестатическом сайте элементов совсем немного и избранное в принципе не сильно будет востребованно — только для 1-2 чанков. А на больших сайтах, где нужно всё упрощать для быстроты — папки только усложняют работу.
Сделал без папок. Кроме того, для оптимизации добавил системную настройку «Не проверять права». Если разработчик один, то нафига лопатить дерево и проверять права на каждый элемент. А если не проверять права, то и нет нужды в коллекции объектов, можно зачитать в массив. Это уменьшает время загрузки дерева и используемую память.
при любой перезагрузке страницы мне снова нужно будет открывать все 4 папки глубиныЕсли папку оставить открытой, то при следующей загрузке она откроется.
А если её закрыть? А если мне нужно в соседнюю папку на такой же глубине? А если...
На самом деле мне кажется это костыль, т.к. в самом дереве тоже бывают глюки, которые требуют его обновления или закрытия, особенно когда в процессе работы раскрыты почти все папки и вдруг решаешь их позакрывать.
Хотя это моё личное мнение )))
На самом деле мне кажется это костыль, т.к. в самом дереве тоже бывают глюки, которые требуют его обновления или закрытия, особенно когда в процессе работы раскрыты почти все папки и вдруг решаешь их позакрывать.
Хотя это моё личное мнение )))
А для вкладки «Файлы» избранное возможно сделать? Тоже можно без папок, если папки нужны, то выключаем режим избранного.
Посмотрю. Там используются источники. Если получится, сделаю.
Да, немного накосячил. Исправленная версия уже доступна в магазине. Если сразу не заработает, то нужно удалить удалить все из папки /core/cache/admintools/favorite_elements/ и завершить все сеансы, чтобы убить сессию.
Было бы классно как-то удобно и на виду расположить вот эти вот хоткеи MODX:
![](https://file.modx.pro/files/1/a/7/1a764f019f52432545795e97fe1271aa.png)
Доброго времени суток! Заметил небольшой баг при использовании темы dark.
В «Контроле доступа», такой момент: prnt.sc/d3ibo3
Если пробовать оттянуть границу вправо, она наоборот смещается влево на определенный интервал при каждой попытке:
1. prnt.sc/d3ia5c
2. prnt.sc/d3ibcx
В «Контроле доступа», такой момент: prnt.sc/d3ibo3
Если пробовать оттянуть границу вправо, она наоборот смещается влево на определенный интервал при каждой попытке:
1. prnt.sc/d3ia5c
2. prnt.sc/d3ibcx
Дмитрий, а как вы пришли к выводу, что это именно из-за темы dark?
Прощу прощения за беспокойство, просто из-за светлого дефолтного оформления не замечал этот косяк ранее и не проверив решил что из-за темы
Если вы кликните по записям, то в этом поле (визуального редактора) появится их содержимое
Вы наверно считаете что поле должно скрываться до выбора конкретной записи? Например мне не мешает пользоваться этим компонентом «как есть».
Вы наверно считаете что поле должно скрываться до выбора конкретной записи? Например мне не мешает пользоваться этим компонентом «как есть».
Владимир, благодарю! Я проглядел этот функционал, он удобный. Заблокированный текстовый редактор немного вводит в заблуждение, скрыть его было бы лучше. Но это уже мелочи, на вкус, они не мешают работе.
Спасибо разработчику)) Надеюсь он еще много чего для MODX придумает, а то все грозится уйти в монастырь перейти на другой фреймворк :)
Эх… нет в мире стабильности.
Эх… нет в мире стабильности.
Почему грозится? Он уже перешел. Новых разработок для MODX не планируется. Только в рамках поддержки своих сайтов, которые пока ещё на MODX.
Грусть-печать :(
Думаю, ты изменишь своё мнение. :) Надеюсь не долго ждать осталось.
Это сложный вопрос.
Просто порассуждаю. Те, для кого это в той или иной степени бизнес, с движка (любого) не слазят по причинам привычки (наработок), множества проектов у клиентов именно на этом движке, понятным социальным моментам, пример тому сообщество, поставляющее идеи и решения. Т.е. ущербность того или иного инструментария компенсируется вот этим всем.
Когда то да, все меняется. Я отказался пользоваться вордпрессом и джумлой, а кто-то лепит на том же вордпрессе и рад (да еще сколько клиентов просят «Только вордпресс!»)
PS
Сергей, твоих фишек будет не хватать. Сам многими пользуюсь и вспоминаю добрым словом.
Просто порассуждаю. Те, для кого это в той или иной степени бизнес, с движка (любого) не слазят по причинам привычки (наработок), множества проектов у клиентов именно на этом движке, понятным социальным моментам, пример тому сообщество, поставляющее идеи и решения. Т.е. ущербность того или иного инструментария компенсируется вот этим всем.
Когда то да, все меняется. Я отказался пользоваться вордпрессом и джумлой, а кто-то лепит на том же вордпрессе и рад (да еще сколько клиентов просят «Только вордпресс!»)
PS
Он уже перешел.
Сергей, твоих фишек будет не хватать. Сам многими пользуюсь и вспоминаю добрым словом.
в редактировании комментарий сниппета Tiket не вертикальной прокрутки, нет возможности прокрутить до конца списка
prntscr.com/i3xodc
prntscr.com/i3xodc
Сочувствую. А ко мне обратились потому что я:
— красивый;
— добрый;
— оказался под рукой.
— красивый;
— добрый;
— оказался под рукой.
После обновления этого компонента
Кать, давайте поиграем в ролевые игры. Я буду Ватсоном. Объясните мне вашу логическую цепочку, которая привела ко мне.
Я знаю:
— что у Вас нестандартная тема админки.
— последняя версия AdminTools вышла полгода назад и не касалась стилей. Версия с темами выходила осенью 2016 года.
Я не знаю:
— используете ли Вы какую-нибудь тему AdminTools и если да, то пробовали её отключать?
— проверяли ли Вы какой css отключает прокрутку?
Я знаю:
— что у Вас нестандартная тема админки.
— последняя версия AdminTools вышла полгода назад и не касалась стилей. Версия с темами выходила осенью 2016 года.
Я не знаю:
— используете ли Вы какую-нибудь тему AdminTools и если да, то пробовали её отключать?
— проверяли ли Вы какой css отключает прокрутку?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.