CMS Made Simple створення та робота з меню

меню
Меню в CMSMS це, мабуть, перший елемент з яким зіткнеться розробник при знайомстві з цією чудовою CMS. Як зрозуміло з назви, цей модуль потрібен для створення меню, я його ще використовую для створення списку елементів (грид). Наприклад, зробити список продуктів із коротким описом на одній сторінці. Так як у CMSMS немає Content type (як у Drupal з його модулем Views) розділяти типи елементів можна за допомогою додаткових полів (що хоч не дуже зручно справляється з поставленим завданням). Просто потрібно отримати вміст поля в модулі меню, для цього нам знадобиться 2 модуліCGSimpleSmarty (потрібно встановити) іMenuManager йде разом з CMSMS. Думаю далі справу техніки, так що зроблю просто довідку (це переклад допомоги зібраний в одному місці):

MenuManager

Додавання модуля на сторінку чи глобальний контент. Усі параметри необов'язкові:

  • lang='en_US' — мова показу
  • collapse='1′ — Увімкнути (встановити в 1) щоб сховати елементи, що не належать до поточного вузла.
  • loadprops='0′ - скасувати завантаження додаткових полів (таких як extra1, image, thumbnail, etc). Використовується для зменшення кількості запитів до бази та збереження пам'яті.
  • items='contact,home' — список псевдонімів сторінок розділених комами, які потрібно відобразити в меню.
  • number_of_levels='1′ - обмежити кількість рівнів менб для відкидання.
  • show_all='0′ — відображати всі пункти меню, включаючи приховані. Не відображає неактивні сторінки.
  • show_root_siblings='1′ — використовується разом із start_element або start_page. Вказує на відображення братів кореня.
  • start_level='2′ — Почати відображення меню із зазначеного рівня.
  • start_element='1.2' -почати відображення з певного елемента з ієрархії (наприклад, 5.1.2).
  • start_page='home' — Відобразити меню певної сторінки псевдоніму та її дітей.
  • template='simple_navigation.tpl' — Ім'я шаблону меню. Якщо вказано розширення, система спробує знайти файл із папки шаблонів. В іншому випадку шаблон шукається в базі даних.
  • excludeprefix=' ‘ — виключити сторінки, псевдонім яких починається із зазначених слів, розділених через кому.
  • includeprefix=’ ‘ — включити лише сторінки, псевдонім яких починається із зазначених слів, розділених через кому.
  • childrenof=' ‘ — Відображати дітей певної сторінки. Наприклад, покаже тільки дітей поточної сторінки.
  • nocache=' ‘ — скасувати кешування.

Параметри всередині модуля:

  • $node->id — Ідантифікатор
  • $node->url — URL до сторінки
  • $node->accesskey — Кнопка доступу, якщо встановлено
  • $node->tabindex — Індекс табуляції, якщо встановлено
  • $node->titleattribute — Опис або заголовок, якщо встановлено
  • $node->hierarchy — позиція в ієрархії (наприклад, 1.3.3)
  • $node->depth — глибина вузла в поточному меню
  • $node->prevdepth — глибина вузла перед поточним меню
  • $node->haschildren — true якщо поточний вузол має дочірні елементи для відображення
  • $node->children_exist — true якщо поточний вузол має дочірні елементи в базі даних для відображення
  • $node->menutext — текст меню
  • $node->raw_menutext — текст меню без HTML перетворення
  • $node->alias — псевдонім сторінки
  • $node->extra1 - Значення додаткового поля 1.
  • $node->extra2 — значення додаткового поля 1.
  • $node->extra3 — значення додаткового поля 1.
  • $node->image — значення поля зображення.
  • $node->thumbnail — значення поля мініатюри зображення.
  • $node->target — значення поля target.
  • $node->created — дата створення
  • $node->modified — дата останньої модифікації
  • $node->index — кількість цього узд у всьому меню
  • $node->parent — true якщо це предок у меню поточної сторінки

CGSimpleSmarty

  • self_url ([$assign]) повертає поточну URL-адресу:
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • module_installed ($modulename[,$assign]) перевір наявність модуля на ім'я:
  • $modulename - назва модуля для перевірки
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • module_version ($modulename[,$assign]) отримати версію встановленого модуля:
  • $modulename — Name of the module to check
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • get_parent_alias ([$alias],[$assign]) отримати псевдонім предка. Порожній, якщо предка немає:
  • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • get_root_alias ([$alias][,$assign]) отримати псевдонім кореневої сторінки:
  • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • get_page_title ([$alias][,$assign]) отримати заголовок сторінки:
  • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • get_page_menutext ([$alias][,$assign]) отримати текст меню для сторінки:
  • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • get_page_type ([$alias][,$assign]) отримати тип змісту вибраного об'єкта за псевдонімом:
  • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • has_children ([$alias][,$assign]) перевірити, чи має сторінка дочірні елементи:
  • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.
  • [$assign] - (опціональний) змінна в яку повернути результат.
  • get_children ([$alias][,$showinactive][,$assign]) отримати масив дочірніх елементів:
  • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.
  • [$showinactive] — (опціональний) отримати також активні елементи.
  • [$assign] - (опціональний) змінна в яку повернути результат.
    • alias - псевдонім
    • id - ідентифікатор
    • title - заголовок
    • menutext - текст меню
    • show_in_menu — чи показано меню
    • type — тип вмісту

  • get_page_content ($alias[,$block][,$assign]) отримати текст блоку вказаної сторінки:
  • $alias - псевдонім сторінки.
  • [$block] -(опціональний) Назва блоку контенту. За умовчанням повертає вміст content_en.
  • [$assign] - (опціональний) змінна в яку повернути результат.
    • get_sibling ($direction[,$assign][,$alias]) отримати братський елемент сторінки:
    • $direction - напрямок пошуку. Можливі варіанти: prev, previous, -1, next, 1
    • [$assign] - (опціональний) змінна в яку повернути результат.
    • [$alias] - (опціональний) псевдонім сторінки. Поточна сторінка, якщо порожній.