microText – бесплатный суперлёгкий движок для сайтов

Вначале был чудесный скрипт jCart для интернет-магазинов. Был тренинг по скоростному созданию интернет-магазинов. И было желание дать людям простейшее решение для организации небольшого сайта.

В процессе появился отличный движочек. Который было решено выделить в отдельный продукт и выдать народу совершенно бесплатно. Проект был назван microText.

Возможности движка microText

Умеет малыш многое.

  • Позволяет запустить небольшой сайт в самые кратчайшие сроки.
  • Работает супер быстро и не нагружает сервер.
  • Имеет очень простую структуру. Разобраться чрезвычайно легко.
  • Имеет также очень простой, хорошо откомментированный код.
  • Очень надёжен и безопасен. По сути нечего ломать и нечему ломаться.
  • Не нужно изучать никаких API и шаблонизаторов. Только чистый PHP.
  • Позволяет использовать все возможности PHP. Немногие движки могут этим похвастаться. А этот может.
  • Умеет ограничить доступ с помощью логина/пароля к определённым страницам сайта.
  • Имеет уютную админку, где можно управлять страницами, меню, блоками и корректировать настройки.
  • Работает с несколькими шаблонами и страницами 1-3 уровнями вложенности.
  • Позволяет работать с меню любой вложенности.

Установка microText

Установить этот движок не просто, а очень просто. Несмотря на то, что нет ни инсталлятора, ни баз данных, ни админки.

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

  1. 1. Скачать дистрибутив с сайта разработчика и распаковать.
  2. 2. Закачать файлы дистрибутива на сервер в папку установки.
  3. 3. Прописать в config.inc.php адрес главной страницы. Со слэшем на конце.
  4. 4. Прописать в .htaccess путь от корня сайта до папки, в которой он лежит. По умолчанию стоит RewriteBase /, то есть, предполагается, что движок будет ложиться в корень. Если бросаете движок в папку test/, то прописать следует RewriteBase /test/.

Далее следует приступить к детальной настройке.

Видео

Смотрим на установку в реал-тайме.

 

Детальная настройка microText

На третьем шаге установки, вы уже прописали в файле config.inc.php адрес главной страницы сайта. Поздравляю. Вы сделали уже довольно большой кусок работы.

Настройка вывода меню

Нужно открыть файл menu.inc.php (находится в папке template/) и прописать нужные элементы меню в виде массивов.

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

Натягиваем шаблон на движок

Весь дизайн прописан в файле design.inc.php (также находится в папке template/). Просто замените дефолтный шаблон своим и поставьте на место основные переменные ($config[sitelink] и $config['sitename']), меню (пример, GetMenuItems($this_page, $mainmenu)) и дополнительные блоки.

Оформление меню можно изменить в файле func.inc.php (находится в корне). Смотрите функцию GetMenuItems(). По умолчанию ссылка активной страницы выделяется классом selected.

Вставляем дополнительные блоки

Открываем файл blocks.inc.php (также в папке template/) и добавляем содержимое переменных.Не забудьте вставить переменные в дизайн.

Можно приступать к наполнению.

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

Все данные сайта лежат в папке content/.

Работу по наполнению проще всего в админке.

Добавление страниц

Добавить новые страницы очень просто. Сделайте копию любой страницы и замените содержимое переменных. Основные переменные страницы:


$title = 'Наполнение сайта контентом';
$keywords = 'ключевые слова';
$description = 'Описание страницы';
$content = 'Тут контент страницы';
$template = 'info';
$page_blocks = 'reviews, donate';

Хотя переменными $keywords и $description можно смело пожертвовать.

В переменной $content нужно помещать содержание страницы уже в формате HTML.

Имя *.inc.php файла страницы – это адрес html страницы в браузере.

Особенности наполнения

Можете добавлять переменные. Только не забудьте их вывести в дизайн или где-нибудь использовать.

Можете наполнять переменные постепенно. Например, так.


$content  = 'содержимое';
$content .= "содержимое";

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

Внимание! Не забывайте экранировать одинарные кавычки (') с помощью слэшей (). Если таковых много, можете брать содержимое в двойные кавычки. Или наполнять переменные частями (в двойных и одинарных кавычках). Пример можете наблюдать чуть выше.

Вывод переменных в контенте

Если выводите в одинарных кавычках:


$content = 'содержимое ' . $title . ' содержимое';

Если в двойных:


$content = "содержимое $title содержимое";

Секретная страница на движке microText

Страница с ограниченным доступом на базе движка microText. Авторизация реализована на основе самого простого и надёжного метода – HTTP авторизации.

Проверка доступа происходит на сервере. Эта функция должна быть включена.

Настройка доступа

Если хотите задать логин и пароль из конфига, то добавьте в config.inc.php:


# Настройки доступа
$config['access_login'] = 'demo';
$config['access_password'] = 'demo';

В самое начало страницы (например, content/secret.inc.php) сразу после <?php нужно добавить код:


# Ограничение доступа
if (!CheckLogin($config['access_login'], $config['access_password']))
	die('Доступ запрещён.');

Если хотите задать отдельный логин/пароль для страницы, пропишите их в параметрах функции.

Пример закрытой страницы

Зайдите сюда. Для доступа введите логин/пароль: demo/demo.

Файловая структура microText

Все страницы хранятся в папке сontent/, а дизайн в папке template/. Изображения предполагается хранить в папке i/.

Если хочется добавить функции, то дописывайте их в func.inc.php. А также можно добавлять настройки в config.inc.php.

И конечно важнейшие файлы: основной индексный файл index.php и специальный файл для конфигурации сервера .htaccess.

Файлы дистрибутива


admin/ # папка с файлами админки
content/index.inc.php	# файлы контента
content/install.inc.php
content/config.inc.php
content/folder/file.inc.php # также могут быть папки разделов с файлами контента
...
i/ # папка с изображениямм
js/ # папка со скриптами
files/	# папка с файлами
template/blocks.inc.php # все контентные блоки сайта
template/design.inc.php # шаблон дизайна (может быть несколько)
template/menu.inc.php # все меню сайта
template/email/form.inc.php # форма обратной связи
template/email/feedback.inc.php # шаблон письма, приходящего при отправке формы
.htaccess # служебный файл
config.inc.php # файл конфигурации
func.inc.php # библиотека функций
index.php # главный файл

Ограничение доступа

Если вы хотите, чтобы файл был доступен в браузере напрямую, то давайте ему расширение *.php. Иначе *.inc.php.

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

К движку microText можно очень просто и быстро подключить любой шаблон HTML+CSS. Все шаблоны дизайна лежат в папке template/

Основные шаблоны

  • template/design.inc.php – основной файл дизайна.
  • template/menu.inc.php – файл, описывающий все меню на сайте.
  • template/blocks.inc.php – файл для дополнительных блоков.

Пошаговая установка шаблона

1. Скопируйте HTML код страницы в файл template/design.inc.php. Обычная комбинация Ctrl+C → Ctrl+V!

2. Вставьте основные переменные из template/config.inc.php на их места. По умолчанию есть всего 2 переменные $config['sitelink'] (ссылка на главную) и $config['sitename'] (название сайта).

3. Также установите вывод меню с помощью функции GetMenuItems($this_page, $mainmenu), где $mainmenu – массив нужного меню (задаётся в файле template/menu.inc.php).

4. Правьте оформление меню в функции GetMenuItems() в файле func.inc.php. Если нужно задать разным менюшках разное оформление, клонируйте функцию, измените оформление элемента меню и назовите функцию по другому. И конечно вставьте вывод в шаблон.

Настройки меню в microText

Настраивать, добавлять, менять оформление меню в microText очень просто.

Как управлять ссылками в меню

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

Пример такого меню:


$mainmenu = array (
	array ('reason', 'для чего', 'Для чего нужен движок'),
	array ('features', 'что умеет', 'Возможности движка'),
	array ('download', 'скачать', 'Скачать последнюю версию'),
	array ('about', 'о движке', 'О движке microText'),
	array ('contact', 'контакты', 'Отправить сообщение')
);

Вы можете создавать столько менюшек, сколько вам угодно. Не забывайте только вставлять их в шаблон дизайна.

Внимание! Внимательно оформляйте массивы. Запятую после последнего элемента меню ставить не нужно. Незначительная оплошность может привести к неработоспособности сайта.

Как менять оформление меню

Меню выводится с помощью функции GetMenuItems(), которая находится в файле func.inc.php. Вставляется функция в шаблон как GetMenuItems($this_page, $mainmenu), где $mainmenu – массив нужной менюшки.

Чтобы изменить оформление меню, нужно править функцию GetMenuItems(). По умолчанию пункт меню выводится как элемент списка. А текущая страница выделяется классом selected.

Например, обычный пункт меню описан как:


$menu .= '<li><a href="' . $config['sitelink'] . $item[0] . '.html" title="' . $item[2] . '">' . $item[1] . '</a></li>';

А текущий:


$menu .= '<li><a class="selected" href="' . $config['sitelink'] . $item[0] . '.html" title="' . $item[2] . '">' . $item[1] . '</a></li>';

Меняйте шаблоны как угодно. Следите только за синтаксисом.

Если нужно оформить меню по разному, то скопируйте эту функцию, назовите её по другому и измените оформление. Функций вывода меню может быть несколько, если шаблон сайта этого требует.

Например, GetMenuItems1(), GetMenuItems2() и GetMenuItems3().

Дополнительные блоки microText

Дополнительные блоки в microText можно использовать для вывода рекламных объявлений, сообщений, меню. Различных блоков, которые встречаются сразу на нескольких страницах.

Как управлять дополнительными блоками в microText

Каждый блок хранится в отдельной переменной в файле template/blocks.inc.php.

Просто поместите блок в HTML формате в переменную и вставьте её в шаблон дизайна.

Блоки могут не только быть статичными, но и генерироваться под воздействием различных данных. Например, браться рандомно из массива или использовать данные текущей страницы.

Управление блоками в админке

Начиная с версии 0.6 блоками можно управлять в админке.

 

microText