Волшебная палочка ещё не готова. Ей придают соответствующую форму.
© Чародеи
Кто говорил, что Rumba XML блоговая CMS? Кто утверждал, что у неё нет уровней вложенности, и поэтому для структурных сайтов она неудобна? Я?.. Так не верьте! Это была шутка, а сейчас настанет черёд правды, ибо, как сказал Арамис, Кардинал не женщина, и разговор пойдёт не о любви. До сего момента для сайтов, логика которых подразумевает много вложенных друг в друга разделов подходили только Rumba Wiki и Rumba Tree, для сайтов, имеющих 3-й уровень вложенности также мог подойти и Rumba Easy. Но перечисленные движки - это не самые популярные CMS семейства Rumba, и её флагманом был и остаётся популярный Rumba XML. Тем прискорбней было, что структурная иерархия блога иногда не отвечала запросом пользователей, которым нужен современный лёгкий и SEO продвинутый движок, но с условием, что в него как-то можно втиснуть структуру меню.
Про причине наличия отсутствия данного функционала многие пользователи реализовывали иерархическое меню достаточно просто: они вручную формировали меню с отступами и с разделами и подразделами. Ссылки с этого, ручной работы меню вели на обычные разделы блога. В принципе этого достаточно, чтобы наглядно продемонстрировать посетителю структуру сайта и облегчить навигацию. Но остаётся маленький пустячёк, немного портящий такую логику: если мы кликаем по разделу, содержащему подразделы, то ожидаем увидеть ленту или список всех статей, имеющихся в их составе. С помощью штатных средств до сего времени такого добиться на блоговом движке не получалось, но получится теперь.
Как говорится Ближе к телу: заглядываем в сакраментальное меню Category и видим там небольшое изменение блока Новая категория. Появилось разворачивающееся меню Добавить после, которое регламентирует, после какого из разделов должен добавиться новый раздел. Тут есть нюанс: если вы добавляете подраздел в раздел, который уже содержит подразделы, то выбираете имя раздела, а не последнего подраздела в этом разделе. Вот такое масло масляное, однако прочтите его со вниманием и вникните в содержание. Если же вы добавляете корневой раздел, то выше данное условие выполнять не надо. Указывает движку, категорией или подкатегорией будет раздел флажок Подкатегория. При этом в ID разделов теперь нельзя использовать подчёркивания и пробелы. Если первые для апгрейда старого сайта на новую версию движка можно и оставить (возможны глюки), то вторые (тире), нельзя использовать ни в коем случае, и поэтому для любой хитрой комбинации слов сливайте их в одно, благо, кроме искалок никто читать ID ваших разделов не собирается.
Чтобы не было мистических танцев с бубном вокруг создания категорий, можно в любой момент посмотреть файл data/category.txt Из него следует, что за сдвиг на вложенность формируется с участием тире, а каждая вложенная категория в своём ID содержит ID родительского раздела. Например, корневой раздел имеет ID - cms, тогда вложенная категория rumba будет иметь ID - cms-rumba, а ещё вложенная категория info получит идентификатор cms-rumba-info . Всё просто. В data/config.php переменная simz регулирует величину сдвига в меню подкатегории относительно родителя, а simz_dir определяет символ директории. Остальные иконки меню регулируются через css/default.css
Помимо нововведения вложенных категорий скрипт получил новый дизайн, который вкупе с иконками папок и файлов должен добавить стильности сайту под управлением Rumba XML (с этой версии 2.3) . Кроме того, наконец-то реализована возможность делать невидимые статьи, т.е. статьи, которые не будут фигурировать в лентах и списках статей. Для того, чтобы сделать к примеру статью контакт (пример уже интегрирован в дистрибутив), надо при добавлении статьи выбрать служебную категорию (эту категорию удалять нельзя!), отложить публикацию на максимальный срок и указать место вставки статьи в базу - End (чтобы статья попала в конец, а не начало базы). Последнее не обязательно, но с точки зрения структуры базы желательно. Теперь в меню ставите ссылку и получаете нужный результат. Из такой страницы можно сделать и форму обратной связи: чтобы комментарий отправлялся только администратору и не сохранялся в базе, ID страницы надо вписать в переменную contaktpage файла конфигурации.
Мелкие правки тут не описываются, но они как и всегда, наличествуют, удаляя шероховатости, оттачивая линию танца Rumba XML до блеска. Оставайтесь с нами.
Спасибо за подкатегории, теперь можно вместо Easy можно для визиток XML использовать.