1

Тема: Меню в Монстра

Тут как я понимаю нет блоков меню?

Лучше сгореть, чем истлеть...

Сайт kromverk

Поделиться

2

Re: Меню в Монстра

Тут как я понимаю нет блоков меню?

что значит блоки меню ?

Есть сниппеты, которые заменили блоки к тому же добавились еще и чанки

Сайт Awilum

Поделиться

3

Re: Меню в Монстра

Не так написал.....

Меню ( например: topmenu,  sidemenu, side2menu)

<?php getSiteMenu('название'); ?>

Лучше сгореть, чем истлеть...

Сайт kromverk

Поделиться

4

Re: Меню в Монстра

kromverk, Монстра может админить одно основное меню.

Использовать его в шаблонах вот так

<ul class="nav">
    <?php echo Menu::get(); ?>
</ul>

Различные вариации боковых меню или еще каких то, записывать в html/php/js виде в чанках

Например боковое меню для этого раздела http://monstra.org/documentation сделано так:

Чанк: documentation-index

<?php $uri = Uri::segments(); ?>

<ul>
    <li class="nav-header">Getting started</li>
    
    <li <?php if ($uri[1] == 'installation') echo 'class="active"'; ?>>
    <a href="<?php echo Site::url(); ?>documentation/installation">Installation</a>
    </li>

    <li <?php if ($uri[1] == 'standards') echo 'class="active"'; ?>>  
    <a href="<?php echo Site::url(); ?>documentation/standards">Coding standards</a>
    </li>
</ul>

Подключение чанка в шаблоне:

<?php Chunk::get('documentation-index'); ?>

Сайт Awilum

Поделиться

5

Re: Меню в Монстра

млин sad так не удобно в TemplateCMS было лучше. Реально плагин для администрирования разных меню сделать?

Лучше сгореть, чем истлеть...

Сайт kromverk

Поделиться

6

Re: Меню в Монстра

Почему "чанки"  - костыли

Для примера:

Сайт http://rem4life.ru/price

правый блок на странице Популярное на сайте с каким-то ссылками

Чанк: right-menu

<ul>
<li><a href="/faq">Часто задаваемые вопросы и ответы на них</a></li>
<li><a href="/">Наши преимущества</a></li>
</ul>

Для блока с текстом

Ремонт и отделка квартир в Москве и Московской области

Чанк например: hero-block

Сайт Awilum

Поделиться

7

Re: Меню в Монстра

Chunk = http://translate.google.com/#en|ru|Chunk
Snippet = http://translate.google.com/#en|ru|Snippet%20code

Сайт Awilum

Поделиться

8

Re: Меню в Монстра

согласен с  JINN - обычному "юзвергу" не осилить, т.е. дополнительная поддержка, на это большинство не пойдет

Сайт AlexGor

Поделиться

9

Re: Меню в Монстра

+1. это изврат.
чем не понравилось как в tcms2?

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

10

Re: Меню в Монстра

в монстре по моему все изврат.. в тцмс было намного удобнее...

Поделиться

11

Re: Меню в Монстра

fr1zzer, хотите сказать, что она уже оправдывает своё название?

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

12

Re: Меню в Монстра

El'Drako пишет:

fr1zzer, хотите сказать, что она уже оправдывает своё название?

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

Поделиться

13

Re: Меню в Монстра

что за вброс ?!

Monstra основные особенности(изменения) системы:

  • ООП подход

  • Новый Plugins API.

    • Улучшена система хуков с возможностью задавать приоритет событиям/экшенам.

    • Новая система локализации плагинов с возможностью плейсхолдеров. Транслейты подгружаются в единый глобальный словарь. словари размещать необходимо в папке с плагином также как и раньше в /languages/ но именовать таким образом, пример: en.lang.php ru.lang.php

    • Возможность подгрузи css и js файлов. Monstra заботится про их сжатие(minify)!

    • Возможность управлением навигацией админки.

    • Плагины имеют своеобразную MVC архитектору. Есть контроллеры, вьюхи и модели

    • Улучшена архитектура плагинов. Структура папок плагина такая (Sandbox Plugin):

      • sandbox

        • sandbox.plugin.php

        • sandbox.admin.php

        • install

          • sandbox.install.php

          • sandbox.uninstall.php

          • sandbox.manifest.xml

        • languages

          • en.lang.php

          • ru.lang.php

        • views

          • frontend

          • backend

  • Shortcodes API
    Примеры:

    • {shortcode}

    • {shortcode parameter=value"}

    • {shortcode parameter=value"}Enclosed Content{/shortcode}

  • Хелперы - статические классы, которые подгружаются авто загрузчиком там где они необходимы! С помощью хелперов можно сделать проект на Monstra любой сложности!

    Список хелперов:

    • Agent - хелпер обеспечивает простой способ определить тип устройства, который сделал запрос.

    • Arr - хелпер для работы с массивами

    • Alert - хелпер для работы с выводом сообщений на странице

    • Benchmark - хелпер для помощи в отладке

    • Cache - хелпер файловой системы кеширования(ключ=значение) с поддержкой неймспейсов.

    • Cookie - хелпер для работы с куками

    • Curl - хелпер curl

    • Captcha - хелпер простой математической капчи из коробки

    • Date - хелпер для работы с датами.

    • Directory - хелпер для работы с директориями.

    • File - хелпер для работы с файлами.

    • Form - хелпер для работы с формами.

    • HTML - хелпер для работы с html.

    • Inflector - хелпер для преобразования/форматирования текста.

    • Image - хелпер для работы с изображениями. Позволит создавать галереи для еще проще.

    • Minify - хелпер для сжатия css и html

    • Number - хелпер для работы с числами

    • Notification - хедпер реализует "Flash" сервис для работы с временными сообщениями системы

    • Security - хелпер экранирования данных

    • Session - хелпер для работы с сессией

    • Request/Responce - хелперы для обработки запросов

    • Uri - хелпер для работы с URI

    • Url - хелпер для работы с ссылками

    • Valid - хелпер для валидации данных

    • Text - хелпер для работы с текстом

    • Zip - хелпер для работы с zip файлами.

  • Новый обработчик исключений и ошибок c логированием. Это повысит качество разработки плагинов для Monstra.

  • Добавлена новая роль - "Редактор". Редактору доступен менеджер страниц, файлов и возможность редактирования своего профиля

  • В целях безопасности тег php отключен по умолчанию. Для включения необходимо в Defines константу MONSTRA_EVAL_PHP поставить в значение true

  • Боксовые плагины теперь не отображаются во вкладке установленных плагинов.

  • Системный редактор из коробки и установленый markItUp! редактор

  • Возможность делать бекап выборочных папок: storage, plugins, themes, uploads.

  • Автогенерация карты сайта

  • Клонирование страниц

  • Статус страницы: Опубликованная или Черновик

  • Тема админки теперь располагается в /admin/themes/default/ замена ее на свой вариант админки проще простого!

  • Улучшена документация проекта. К каждой функции идет небольшой пример!

  • Улучшена XMLDB API. Состоит из классов: XML, DB, Table. Функция select() теперь может выбирать конкретные поля (как selectXMLfileds - удалена) и возвращает в результате массив! Monstra состоит из XML таблиц.

  • Новая тема оформления сайта по умолчанию. @css based on Bootstrap, from Twitter

  • Новые стандарты оформления исходного когда именования папок и файлов.

  • Файлы заливаются теперь в публичную папку /public/uploads/

  • Все данные в Monstra хранятся в папке /storage/ а xmldb в /storage/database/

  • Плагин "Песочница" по умолчанию в дистрибутиве CMS

  • Сниппеты заменили блоки и имеют расширение .snippet.php (глобальные блоки)

  • Появились чанки .chunk.php (локальные блоки)

  • Плагины добавляются в карту сайта!

  • Появилась возможность восстановить пароль

  • Новый боксовый плагин Information

  • Улучшен инсталятор системы

  • Новый дизайн и структура админки. Глобальные улучшения в юзабилити админки и боксовых плагинов.

  • Добавлена возможность настраивать Robots META Tag для каждой страницы индивидуально!

  • Улучшен менеджер меню сайта. Появилась возможность добавлять страницы

  • Улучшена производительность системы. Монстра работает быстрее Template CMS

  • Улучшен файловый менеджер. Множество фиксов безопасности. Добавлена возможность просмотра изображений в лайтбоксе

  • Монстра безопасней, быстрее и стабильней Template CMS

  • еще одна фича ?! Coming soon!


Bob Salsburg
@monstra_cms Looks awesome! So much more than T-CMS ever was.
Mature to with the roles and MarkItUp is what I meed for my users.


-----------

Монстра - говно, потому что менеджер меню админит одно(сейчас) меню ?!

Сайт Awilum

Поделиться

14

Re: Меню в Монстра

причём здесь вброс?
это первое впечатление после открытия админки монстры людьми, юзающими тцмс2.
и не сказать, что приятное, поэтому на данный факт обратили внимание.

даже в тцмс2 пришлось допиливать вложенные меню - соответственно в монстре хотелось бы видеть поддержку как минимум вложенных меню.

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

15 (2012-04-16 07:57:31 отредактировано Малыйсайт.рф)

Re: Меню в Монстра

JINN пишет:

по большому счету, чанки и есть костыли. Что не получилось сделать стандартными средствами CMS, вставляют код через чанки.

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

Ответьте себе на такой вопрос: на сайте нужно иметь три разных шаблона для разных типов страниц, например, indexTemplate.php, contactTemplate.php и homeTemplate.php, будете ли Вы шапку сайта (которая одинакова во всех шаблонах) три раза прописывать в этих темплейтах (а потом, если нужно внести исправления, править в трёх местах одно и то же) или же воспользуетесь дополнительным файлом header.php и будете подключать его в начале каждого template? И тогда править код придётся только в одном месте. Если Вам по душе второй вариант, то как раз здесь чанк header придёт Вам на помощь.

Вы конечно, можете, сказать, что header можно оформить в виде сниппета. Это верно. Только разница в том, что сниппеты глобальны для всего сайта, а значит, если у Вас установлены две темы оформления, то возникнет конфликт: первая тема использует header-snippet, и второй он тоже нужен. Так вот тут точно без чанков не обойтись, т.к. чанки подключаются только из папки активной темы, т.е. они локальны в пределах темы (также как и xxxTemplate.php).

Как думаете, справедлив такой вывод: чанки в разы облегчают жизнь разработчику, но при этом совершенно не подходят для конечного пользователя (т.к. содержат в себе html-код). А значит, нужно использовать их для тех же целей, что и require, include, а не для того, чтобы делать виджеты для конечного пользователя.

Вывод: нужно реализовать поддержку виджетов!

Огромное спасибо Сергею за реализацию чанков - жизнь стала быстрее и проще!

UPD: JINN, увидел Ваш UPD, "сниппеты==костыли", понял, что Вы и так в этом разбираетесь.

По теме с меню: Вложенное многоуровневое меню, а также боковое меню, которое появляется в зависимости от того, на каком разделе сайта находишься — нужно всем. И даже очень нужно. И если в TCMS2 его можно было реализовать благодаря поддержке нескольких меню в системе (хотя это не было просто), то в монстре так уже не сделаешь, это серьёзный минус. Если многоуровневое меню всё-таки реализовать, правильных разработчиков сайтов, которые будут фанатами монстры резко прибавится.

Поделиться

16

Re: Меню в Монстра

Малыйсайт.рф, ок. мне понятна ваша позиция.

Сайт Awilum

Поделиться

17 (2012-04-25 07:25:16 отредактировано olgnet)

Re: Меню в Монстра

Насколько я понял чанки сделаны в первую очередь сделать более функциональное и гибкое меню(я пару раз создавал тему на форуме TCMS где мне требовалось именно это), но такое решение и правда подходит только для разработчиков. Нужно сделать так - есть один шаблон(чанк) где хранится общий шаблон меню и две переменные, в одной хранится вид пункта меню в неактивном состоянии например <li>$name</li>, в другой в активном <li class="active">. Но в чанках это допиливать глупо, это нужно делать именно в плагине меню, после небольшой доработки это позволит делать меню любой сложности, и например можно делать меню с помощью таблиц, чего не было в tcms, ну и главное всё это будет редактироваться из админки рядовым пользователм. Конечно реализовать это можно и по другому, я просто предложил...

Поделиться

18

Re: Меню в Монстра

Плюсую. Не продуманно сделано меню. В первую очередь, надо думать о Заказчиках(пользователях), которые хотят без посторонней помощи администрировать свой сайт, а лазить в php/html это не для них.

Сайт buyhtml

Поделиться

19

Re: Меню в Монстра

тоже считаю, что в тцмс реализация меню была логичнее

Поделиться

20 (2012-08-06 06:16:40 отредактировано anderen)

Re: Меню в Монстра

Приветствую! Меня интересует как можно реализовать вложенное меню на этом движке.

<ul>
    <li><a href="/">Главная</a>
    ...
    <li><a href="/faq">FAQ Samsung Gio S5660</a>
        <ul>
            <li><a href="/faq/kak_ptoshivat">Как прошивать</a></li>
            <li><a href="/faq/backup">Как восстановить систему</a></li>
        </ul></li>
    <li><a href="/proshivki">Прошивки</a></li>
</ul>

Может есть какой то плагин или кто то пишет его буду благодарен за помощь

Поделиться

21

Re: Меню в Монстра

жалко, что в цмс нет возможности создавать насколько меню, а также вложенные меню, а также возможность привязки контексного меня в зависимости от страницы. Может существует у кого-нибудь готовый плагин. Считаю, что это самый важный плагин. Если его нет, может сам начну делать. Спасибо.

Web: php (своё, Yii), asp.net web forms/mvc (C#), немного вёрстка, немного JS

Сайт EntityFX

Поделиться

22

Re: Меню в Монстра

EntityFX пишет:

жалко, что в цмс нет возможности создавать насколько меню, а также вложенные меню, а также возможность привязки контексного меня в зависимости от страницы.

...

Вот это очень здравая мысль - привязка меню, и не только меню, а блоков тоже, к конкретным страницам.
Лично я делаю сайты только для себя, поэтому ручное редактирование меню меня вполне устраивает. Вот только мне нужно к каждой конкретной странице конкретное сочетание меню и блоков в сайбаре...
В TCMS я делал поэтому много шаблонов, о неудобствах такого метода уже сказано. Думал, в Monstra с этим будет удобнее, но вот вижу что не очень.

Для меня (и, подозреваю, что не только для меня) суперудобно было бы так.

Открываешь Создать/Редактировать страницу...
Видишь там, кроме того что уже есть, опции:
- создать блок дополнительного контента к этой странице ,
- создать меню к этой странице...
Созданные здесь блоки и меню выводятся только с этой страницей, причём в любом месте любого шаблона, куда вставишь соответствующие им {........} или <?php ......... ?> - я не программист, боюсь ошибиться в терминах...
И лучше - если эти блоки и меню можно будет создавать не в единственном экземпляре.
Всё))).

Я видел примерно такое в одной самописной CMS. Может, и здесь это возможно реализовать... Подумайте.

По поводу чанков - да очень хорошая вешь, шаблоны удобно формировать, удобства реально добавляет. Респект разработчику! Но это не решает всех насущных проблем.

Поделиться

23

Re: Меню в Монстра

жалко, что в цмс нет возможности создавать насколько меню

В Монстре 2 можно будет создавать менюшек столько сколько нужно)
Можете скачать бету и протестировать этот функционал.

Сайт Awilum

Поделиться

24

Re: Меню в Монстра

Awilum пишет:

жалко, что в цмс нет возможности создавать насколько меню

В Монстре 2 можно будет создавать менюшек столько сколько нужно)
Можете скачать бету и протестировать этот функционал.

Это приятно, что так будет, хотя мне это (во всяком случае пока) не принципиально. Вот если бы сделать привязку модуля к конкретной странице как я описал выше... )))) Впрочем, конечно, Вам виднее, у Вас могут быть другие задачи...

Поделиться

25

Re: Меню в Монстра

Пытаюсь реализовать выпадающее меню:
Исходные страницы:
- Наши аптеки - /apteki
-- Аптека 1 - /apteki/apteka1

Есть два меню - основное и меню apteki - с подстраницами раздела "Наши аптеки"

В шаблоне пытаюсь сделать проверку что в url есть слово apteki и выводилось второе меню

<?php 
if(Url::exists('apteki')) Menu::get('apteki');
 ?>

Но так не работет. Логика вроде верная.

В этот же скрипт хочу добавить проверку на другие разделы и вывод соответствующего подменю.

Сайт loader

Поделиться