MaxHub
Служба Заботы MaxSite CMS

Плагин category_editor - редактор категорий/рубрик

Плагины / 26 ноября 2015

Плагин обновлен до версии 2.50!

Что нового для версии 2.50:

  • Переработан дизайн дерева сайта;
  • Добавлено контекстное меню для правой клавиши мыши;
  • Добавлена возможность копирования категории и страницы;
  • К странице можно добавлять дочерние страницы перетаскиванием;
  • Добавлен раздел ДОКУМЕНТАЦИЯ;
  • Программная часть полностью переработана;

Плагин «Редактор категорий» позволяет создавать и редактировать мета-поля у категорий. Также плагин позволяет удобно, путем перетаскивания мышкой, менять у категорий родителей и порядок сортировки.

Редактор категорий/рубрик в действии

В ближайшее время будет готов category_editor версии 3+. Версия будет включать в себя:

  • Расширенное контекстное меню с дополнительными возможностями;
  • Работа с выделенными в дереве объектами (категориями, страницами);
  • Будет иметь возможность создавать виртуальные меню;

(подробнее все описано в разделе "Документация")

Версия плагина 3+ будет платной!

Пример перетаскивания записи между рубриками

Реализована возможность перетаскивания страниц (записей) между категориями. Плагин дает возможность выделить страницы и массово их удалить или снять с публикации.

Пример перетаскивания записи между рубриками

На странице редактирования категории есть возможность для настройки отображения категории также, как это делается у страниц - с левым сайдбаром, без сайдбара и т.д.

Для того, чтобы эта функция заработала, необходимо добавить файл main_set_val.php в /type/category.

подробнее о такой особенности описано на странице про версию 0.9368

Добавьте в файл код

$cat_template_mso_set_val = CategoryEditor::getInstance()->template;
if($cat_template_mso_set_val)
{
 if ($fn = mso_fe('main/' . $cat_template_mso_set_val . '/main.php')) 
 { 
  mso_set_val('main_file', $fn); // выставляем путь к файлу
 }
}

При добавлении своего мета-поля ему присваивается ключ. Чтобы получить значения этого поля в любом месте страницы напишите.

CategoryEditor::getInstance()->ВАШ КЛЮЧ

Например:

CategoryEditor::getInstance()->template

Форма настройки полей

Для редактирования категории нажмите на название нужной категории в дереве категорий. Откроется соответствующая форма, например:

Форма редактирования категории/рубрики

Для добавления нового поля для категории, зайдите во вкладку «Настройка полей», создайте поле - оно отобразится в редактировании категорий (для доступа к редактированию кликните правой клавишей мыши и выберите "редактировать").

Например, вы можете добавить ссылку на изображение категории.

Название: Изображение
Ключ: izobragenie
Тип поля: Простое текстовое поле

После этого вы сможете при редактировании категории сюда прописать ссылку, например

http://mysite.ru/uploads/category/image.jpg

А в коде страницы категории написать:

echo '<img src="'.CategoryEditor::getInstance()->izobragenie . '" alt="Изображение"/>';

Такой код сформирует слежующее:

<img src="http://mysite.ru/uploads/category/image.jpg" alt="Изображение"/>

Скачать:

Автор: Сергей Будников

Текущая версия плагина: 2.50 (стабильно работает на cms 0.93+)

Контент только для авторизованных - хотите войти или зарегистрироваться?
Комментариев: 31
  1. Отличный плагин! Спасибо, Сергей!

    Из пожеланий:

    1. Увеличить размер шрифта или же вообще убрать настройку размера, чтобы по-умолчанию был стандартный размер шрифта админки. Ну и вообще со стилями как-то порешать, а то в новой админке иконки перетаскивания и разворачивания рубрик немного «поломались» (иконки вылезли за пределы рамки).
    2. добавить больше пояснений и выплывающих подсказок, а то порой вообще не понятно что нужно делать и для чего. Например, я долго искал где же поредактировать мета-поля рубрики пока не догадался жамкнуть в название smile
    3. Как-то более доходчиво объяснить смысл и решаемые задачи вкладки «Настройка полей» - лично я не совсем понял о чём идёт речь.

    Заранее спасибо! smile

  2. Илья, учту твои пожелания. Буду совершенствовать. Про подсказки я что-то даже не подумал...grin

    Правда про шрифт могу сказать, я его нарочно уменьшил. Ибо, как мне показалось, когда большой список, тогда сложнее ориентироваться в названиях...

    С нетерпением жду мнения других пользователей!wink

  3. Правда про шрифт могу сказать, я его нарочно уменьшил. Ибо, как мне показалось, когда большой список, тогда сложнее ориентироваться в названиях...

    Я догадывался об этом. Так то логично. Правда вкусы разные бывают. Могу предложить вынести настройку шрифта в специальный кастомный файл стилей, чтобы было легче поменять не трогая дистрибутив плагина если кому надо. Ну или опцию плагину прикрутить что ли smile

  4. Про стиль - в папке с плагином есть файл

    ce_style.css

    в нем строчка

    ul.cat-list, ul.cat-list a {font-size:13px; }

    Можно менять как вздемается.

  5. Вопрос. При изменении порядка записей внутри рубрики, происходит только визуальный эффект? То есть функционально у записи ничего не меняется?

    Есть ли различия между Перемещением и Копированием записей внутри рубрики?

    PS. Отличный плагин!

  6. При изменении порядка записей внутри рубрики, происходит только визуальный эффект? То есть функционально у записи ничего не меняется?

    Для записи меняется порядок. В параметр страницы ПОРЯДОК прописывается число в, соответствующее порядку в списке. Остальные страницы в текущем списке также подвергаются распорядку. Формат порядка - первая цифра - id категории, в списке которой происходит перемещение, остальные - текущий порядок страницы в списке.

    Есть ли различия между Перемещением и Копированием записей внутри рубрики?

    Нет, внутри самой рубрики различия нет. Однако при перемещении в другую, Копирование - означает, что будет дописана новая рубрика, Перемещение - стерто предыдущее местоположение и прописано новое.

  7. Сергей, а порядок сортировки обратный? Страницы с меньшим индексом стоят выше в списке?

  8. То есть это наоборот прямой порядок получается. А как изменить, чтобы был обратный порядок сортировки (от большего к меньшему)?

    Что будет, если новая запись будет добавлена в раздел, то как она отсортируется, относительно других записей, которые ранее уже подверглись сотритовке и им присвоен ПОРЯДОК?

  9. а порядок сортировки обратный?

    Порядок прямой - например, в категории с ID=5 -> записям присваивается (сверху вниз по списку)- 51,52,53 ... 5122,5123,5124 ...

    Изменить порядок не получится просто. Да и зачем?

    Что будет, если новая запись будет добавлена в раздел...

    Ничего. Ей будет присвоен порядок 0. И выше приведенный список будет выглядеть - 0,51,52,53 ... 5122,5123,5124 ...

    Кстати, рубрики тоже сортируются. От 1 до ... в прядке их следования в списке.

  10. Скоро опубликую последнюю версию. Там добавлены некоторые функции - создание копии для категорий, удаление категорий, отсоединение всех страниц и прочее. Также добавлены пункты для работы со страницами.

    Еще одна фишка будет у плагина - виртуальное меню. по типу, как в шаблоне создается меню, только все это в списках с поддержкой drug&drop;. Пункты меню можно привязать к любой категории. Таким образом пункт меню принимает свойства существующей категории с вложенными дочерними категориями.

  11. Изменить порядок не получится просто. Да и зачем?

    Чтобы закрепить запись/записи выше остальных, присвоив бОльший индекс. А в случае прямого порядка сортировки, новые записи всегда будут становиться выше.

    Или есть другой способ закрепить требуемые записи?

  12. Скоро опубликую последнюю версию

    Вот это хорошая новость. У меня вот тоже идеи есть, может подкинуть вам? =)

  13. Чтобы закрепить запись/записи выше остальных

    В любом случае, при сортировке индексы переписываются У ВСЕХ записей в списке. Поэтому закрепить не получится...

    Или есть другой способ закрепить требуемые записи?

    Только перетаскиванием в начало.

  14. У меня вот тоже идеи есть, может подкинуть вам? =)

    Да, было бы отлично!smile

  15. Этот плагин, кстати, уже надо переименовывать, так как это не просто работа с категориями, а намного мощнее штука получается =)

    Сейчас не хватает возможности закрепления записей в рубрике. Например, сейчас в категории записи с индексами: 51 52 53 54 55 56 57. Например, первые три нам надо закрепить навсегда (или временно), мы их отмечаем галочками, и выбираем действие с отмеченными (снизу из списка) - ЗАКРЕПИТЬ, после этого данные записи закрепляются на позиции 51 52 53 и становятся, например, серыми. И так будет до тех пор, пока мы не сделаем ОТКРЕПИТЬ.

    Таким образом, даже новая запись, с индексом 0, встанет в списке только 4, после этих.

  16. Таким образом, даже новая запись, с индексом 0, встанет в списке только 4, после этих.

    Ок. Подумаюsmile

  17. Еще вопрос. У метаполей для категорий 3 значения: маленькое поле, большое и список. Но при изменении типа ничего не происходит, так и должно быть?

    Можно сделать, например, для большого текстового поля тип TEXTAREA и возможность подключения текстового редактора. По такому же принципу, как сейчас реализовано у редактора страниц. Там сейчас так: используется дефолтный текстовый редактор, а если подключен плагин текстового редактора, то используется он.

    Тогда будет удобно для категории размещать статью, к каждой категории будет возможность прикрепить статью через метаполе.

    Еще к TEXTAREA можно подключить это: http://codemirror.net/mode/htmlmixed/index.html

  18. Еще вопрос. У метаполей для категорий 3 значения ... ничего не происходит

    Меняется тип поля. Маленькое - input type="text", Большое - textarea, выпадающий - select. Для селекта задаются значения (поле значения) key || value # key2 || value2 # key3 || value3 и т.д.

    Документацию все хочу написать, да все руки не доходят....

    А про текстовый редактор - я думал над этим. В планах есть такое. Сделаю.

    http://codemirror.net/mode/htmlmixed/index.html

    Интересно. Тоже отмечу в планыsmile

  19. Меняется тип поля

    Имеется виду тип поля уже в редактировании самой категории, а не в настройках.

  20. А когда будет обновление? =)

    Еще нашла интересную фишку =) Если взять за иконку расширителя поля и потянуть в область другого поля, то в перетягиваемое поле вставится ссылка на редактор категорий =)

    По всем вопросам понятно, надо поразбираться с типом SELECT...

  21. А когда будет обновление?

    Пока не могу сказать. В обновлении хочу сделать нормальную документацию. Вот сделаю, так выложуsmile

  22. Если что, то сначала можете без документации выкладывать, будем разбираться методом тыка =)

    Кстати, еще вроде нету опции удаления дополнительных полей (метаполей).

    А в разделе "Настройки полей" поле "Значение", оно только для типа select работает?

  23. Кстати, еще вроде нету опции удаления дополнительных полей

    Пока нетsmile

    А в разделе "Настройки полей" поле "Значение", оно только для типа select работает?

    Да.

  24. Больше вопросов нет =) Пока...

  25. Появился вопрос. Как получить доступ к значению метаполя категории, если мы на странице PAGE, а не CATEGORY. То есть как в этот код добавить условие, из какой именно категории считывается метаполе?

    CategoryEditor::getInstance()->ВАШ КЛЮЧ
  26. Как получить доступ к значению метаполя категории, если мы на странице PAGE, а не CATEGORY

    Поддерживается загрузка свойств по slug, например:

    CategoryEditor::getInstance()->load_from_slug = mso_segment(2);

    или по id категории

    CategoryEditor::getInstance()->load = ID КАТЕГОРИИ

    После этого станут доступны свойства категории

    CategoryEditor::getInstance()->ВАШ КЛЮЧ

  27. Спасибо, Сергей! Работает!

  28. Плагин обновлен до версии 2.50

  29. Спасибо, Сергей! Нужный плагин!

    Будет ли в новой версии возможность закрепления записей в рубрике?

  30. Будет ли в новой версии возможность закрепления записей в рубрике?

    Честно говоря не прорабатывал этот вопрос. Но подумаю.

    Дело в том еще, что теперь порядок сортировки страницы теперь хранится НЕ в поле page.page_menu_order, а в таблице cat2obj поле c2obj_order, которое создается при установке плагина. Такое решение сделал для того, чтобы страница в разных категориях могла быть в разных местах.

    Поле page_menu_order теперь используется в сортировке дочерних страниц СТРАНИЦЫ.

    Сейчас параллельно работаю над функцией-альтернативой стандартной mso_get_pages для удобной работы с сортировкой плагина при выводе страниц на сайте.

    Так что пока даже не знаю, как лучше и качественнее реализовать закрепление записей.

  31. Сергей, есть ли новые версии плагина?

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Вход / регистрация или войти без комментирования
  Имя и сайт используются только при регистрации

Авторизация MaxSiteAuth. Войти через loginza

(обязательно)