Нету шапки :(
MultiEngine CMS / Уроки по работе с MultiEngine

Наполнение контентом без админки

Новости
Несмотря на то, что MultiEngine CMS все еще в разработке, а потому пока не претендует на иключительную безглючность, решено открыть этот сайт. Естественно, данный сайт (как ни странно :)) работает на системе MultiEngine, а потому все текущие недочеты системы можно будет понаблюдать именно здесь.
29.12.2008
Хочу сообщить, что панель администратора в данный момент в разработке, пишется в свободное время. А, так как свободного времени жуть как мало, пишется она неспешно. Точнее даже портируется, а не пишется с нуля. Дело в том, что когда-то я уже написал админку для системы с аналогичной базой данных,
29.12.2008
Плагин для перелинковки страниц в контенте помогает поднимать внутряки. Знаете почему практически все страницы wiki имеют PR4 и выше? Потому что на них ссылается множество других страниц, преимущественно с самой википедии. Но замечу, что пока все очень сыро - замена происходит везде, в том числе и в
29.12.2008
Галерея
Смена сайта в админ-панели
Смена сайта в админ-панели
Процесс смены текущего сайта в панели администратора в мультисайтовой версии движка.

Структура базы данных в MultiEngine построена таким образом, что панель администратора совершенно не нужна. Объясню почему.

Как я уже говорил, каждая страница хранится в отдельно взятом файле. Напомню, что файл страницы имеет первую строку - название или заголовок страницы. Важно то, что строка не должна содержать какие бы то ни было теги. Хотя они все равно фильтруются, но всеже не стоит засорять базу. Остальные строки, начиная со второй, должны содержать в себе сам контент страницы.

Наполнение контентом: пример файла базы данных

Теперь расскажу о структуре папок. Допустим, папка БД у Вас по умолчанию называется content. В ней лежат три папки: mods, pages и plugins.

В папке mods находятся папки, принадлежащие определенным модам. Если Вы используете моды news, gallery и search - папки с теми же именами должны существовать в mods, причем в каждой из этих папок должен существовать файл index с определенным расширением (по умолчанию, index.htm). Этот файл является главной страницей модуля, а для некоторых модов еще и хранит некоторую информацию (например, в индексном файле мода news хранится информация о последней новости). В индексном файле, как и в остальных, первая строка хранит служебную информацию, а все остальное - текстовый контент. Внимание! Для мода search не нужно создавать индексных файлов, там будут храниться только файлы с ключевыми словами и заголовками для поиска.

В папке pages находятся обычные страницы - например, статьи. Напомню, что в КАЖДОЙ папке должен быть файл index.htm! Причем, в нем как минимум нужно вписать заголовок.

В папке plugins находятся файлы и папки установленных плагинов. В качестве страниц они не отображаются, в них хранится только служебная информация. Поэтому руками там ничего трогать не надо :)

И немного об адресации страниц. Адреса страниц модов, к примеру, news, будут доступны по адресам вида http://example.com/news/папка/страница.html. Страницы из папки pages будут доступны по адресам вида http://example.com/папка/страница.html. Наверняка, у Вас напрашивается вопрос: "А что, если у меня в папке pages есть папка news, что из них будет отображаться?" Отвечу - отображаться будет мод news! И это логично - движок сперва выделит корневую папку из URL (news), затем проверит, существует ли мод news. Если существует - будет найдена страница по оставшейся части адреса. Если страница не найдена - 404. Если же такого мода нет, либо не существует или пуста папка news в /content/mods/, то движок проверит, сушществует ли страница по адресу /content/pages/news/папка/страница.htm. Если же ее и там нет - посетитель получит ошибку 404. Если установлен мод search, то будет выведено еще и предложение о поиске нужной страницы.


Комментарии:

Ilya

Все конечно, но так и не понял как производится вывод контента. Понятно где все лежит, а как стартовая страница была пустая, так и осталась :)

Главная - это файл content/pages/index.htm :) Ее и надо править. Остальные страницы размещайте в этой же папке и подпапках.

Добавлено 04:18:24 PM 07/07/2008
Валерий

А я не въехал как формируется меню?

Добавлено 02:57:41 PM 15/07/2008
Ufaweb

Валерий, основное меню сайта формируется какбы ручками :)А меню подразделов - это тег <?=$incatmenu;?>

Добавлено 02:21:47 PM 17/07/2008
Вася

Автор, а можно, как-то, сделать так, чтобы контент сайта выводился из корня? т.е. не www.site.ru/content/pages/page.htm а www.site.ru/page.htm это, как бы, лучше в плане SEO ;)

// да вроде бы и так страницы на сайте имеют адреса www.site.ru/page.html - посмотрите как на этом сайте урлы выглядят =) А вот сам контент разложен по подпапкам в папке content.

Добавлено 06:37:29 PM 22/07/2008
Mikanoshi

Можно сделать меню категорий вот так - прописать в шаблоне main.htm функцию сканирования каталогов, потом там, где надо вывести список написать Для того, чтобы при нажатии на рубрику показывалась страница со списком статей из этой рубрики надо всё в том же шаблоне заменить на <? if($content=="") echo $incatmenu; else echo $content; ?>т.к. пхп в контенте не обрабатывается, то пришлось сделать вот так =) Потом во всех папках вида content/pages/[имя рубрики] создать файд index.htm с таким содержимым:Раздел "Животные мира"и вуаля, навигация готова)

Добавлено 12:19:36 AM 23/07/2008
Mikanoshi

Жестокий фильтр на комменты =] Короче вот тут можно посмотреть то, что в предыдущем комменте: www.highspec.ru/me_mod.txt

Добавлено 12:23:48 AM 23/07/2008
Ufaweb

Mikanoshi, спасибо за интерес :) Комменты - да, жестоко фильтруются т.к. использована встроенная функция QueryFilter()... Непонятно только, зачем писать аналогичную функцию, как MenuBuild(), что используется для формирования $incatmenu :)

Добавлено 01:13:16 PM 23/07/2008
Mikanoshi

Хех, чёт тормознул. Пробовал MenuBuild, но не получилось. А оказывается пашет вот так MenuBuild(\"content/pages\", 0, \\'{anchor}\\');

Добавлено 04:37:34 PM 23/07/2008
Mikanoshi

Тэг вырезало) Вобщем ясно =)))

Добавлено 04:38:52 PM 23/07/2008
Ufaweb

Проверка <b>тегов</b>
Да, проверка <a href="http://ya.ru">тегов</a>

Добавлено 05:43:27 PM 24/07/2008
Igrok

Вроде система и лучше Smsimple, но не понимаю, можно ли с ней быстро работать, если контент в одном файле и там все разделено на 200 статей в 20 разделах.
Нет ли каких подсобных инструментов, чтобы это быстро в разделы на сайте и страницы превратить?

Добавлено 09:54:39 AM 27/08/2008
Ufaweb

Igrok, есть же админка для этого (появилась в последней версии). В админке есть WYSIWYG-редактор, нужно просто скопировать в редактор текст и созранить страницу. Примерно за полчаса можно наполнить сайт готовым контентом.

Добавлено 03:38:59 PM 27/08/2008
Igrok

Ufaweb, наверно я совсем "зажрался")), но после satellite-x и Smsimple хочется для сателлитов систему, которая сама делает структуру сайта из размеченного текстового документа. Ведь разметить один файл тегами <h> или метками ### намного быстрее и проще, чем в админке вручную добавлять по одной категории и по одной статье.
Если вы что-то когда-то в будущем сделаете в этом направлении, цены вам не будет. Хотя и так система достойная, буду ждать платной версии с мультисайтовостью.

Еще пожелание для будущих версий - организовать постепенное наполнение из текстовой базы. Например, я загрузил в папку 100 статей, а скрипт их размещает по одной в день.

Добавлено 08:20:42 PM 27/08/2008
Ufaweb

Igrok, спасибо за
>и так система достойная
:) Я собирался сделать экспорт XML в админке, но Вы натолкнули меня на другое)
Кто будет ковыряться с XML? За то сделать автораспознание doc-документа и разбивку на страницы БЕЗ каких-либо предварительно расставленных тегов - это уже интереснее :)
Сейчас поступил заказ на RSS-граббер на базе движка ME, после - постараюсь воплотить идею :)

Добавлено 02:49:40 AM 29/08/2008
Антон

Здравствуйте, скажите когда выйдет платная версия системы и сколько будет стоить.
Спасибо

Добавлено 10:38:35 PM 14/09/2008



Добавить комментарий:

Ваш IP 38.107.179.233, 38.107.179.233, 38.107.179.233 будет записан!
Имя*:
E-mail*:
Комментарий*:
49 минус 9