Версия 16.0 (30-03-2014)
Скачать Landing Page Framework
Все страницы сайта хранятся в каталоге pages. Каждая страница располагается в своём подкаталоге. Имя каталога совпадает с именем страницы. Например, страница contact будет располагаться в pages/contact/.
Каждая страница использует два файла: text.php и variables.php. Файл text.php содержит текст (с html) страницы. Файл variables.php содержит переменные, которыми можно управлять страницей. Скажем здесь указываются title и meta-данные. (Пример см. в home)
Поскольку text.php исполняемый, то можно смело использовать любой PHP-код.
Результат вывода страниц кешируется в каталоге /cache/. Убедитесь, что этот каталог имеет разрешения на запись (обычно права 777).
При желании можно использовать подстраницы. Они располагаются в подкаталоге основной страницы. Уровень вложенности страниц может быть произвольным. Путь к таким страницам совпадает с подкаталогами. Например: страница http://site.com/contact/about будет размещаться в /pages/contact/about/.
Для подстраниц действуют теже правила и возможности, что и для основных страниц.
В «Landing Page Framework» используется компилятор LESS, поэтому результирующий css-файл стилей формируется автоматически как css/style.css. Вам не следует его использовать.
Исходные стили располагаются в каталоге css-less. Основной файл style.less. В нем удобно выполнять подключение остальных стилей с помощью @import. Файл app.less можно использовать для прочих стилей сайта.
Структура LESS-файлов может быть произвольной.
В комплекте «Landing Page Framework» включена библиотека jQuery, а также ряд других js-файлов. Файлы скриптов располагаются в каталоге js.
В каталоге js/autoload можно размещать js-файлы, которые будут автоматически загружаться в секцию HEAD.
Если вы сделаете файл js/my.js, то он автоматически подключится в конце секции BODY.
Поддержка BBCode возможна на уровне каждой страницы. Для этого в файле variables.php укажите:
$VAR['bbcode'] = true;
После этого вы можете использовать на странице BBCode.
Для использования HAML, размещайте текст в файле text.haml. При этом text.php будет проигнорирован.
Результат компиляции HAML-файла кешируется в каталоге engine/haml/haml/haml-cache/ в виде html-файлов. Убедитесь, что этот каталог имеет разрешения на запись (обычно права 777).
Поддержка Markdown возможна на уровне каждой страницы. Для этого в файле variables.php укажите:
$VAR['markdown'] = true;
После этого вы можете использовать на странице обычный синтаксис Markdown или расширенный. Также вы можете воспользоваться online-MD-редактором StackEdit.
В text.php можно разрешить автоматическую расстановку тегов. Для этого в файле variables.php укажите:
$VAR['autotag'] = true;
В таком режиме будут автоматически расставлены теги абзаца P по переносам строк (Enter). Этот режим можно использовать совместно с BBCode (и Markdown). Если требуется разместить код, который не следует обрабатывать, используйте спецкод [html]:
[html] ... код без обработки ... [/html]
Также в этом режиме происходит автоматическая конвертация содержимого PRE в html-спецсимволы.
В этом режиме LPF будет автоматически преобразовывать содержимое PRE в html-спецсимволы. Для этого следует в variables.php задать:
$VAR['autopre'] = true;
Для любой страницы можно задать произвольный вывод в «обход» корневого index.php. Например необходимо организовать приём POST/AJAX-запросов, в котором нужен доступ к функциям LPF. Для этого в variables.php нужно задать подключаемый файл:
$VAR['no_output_only_file'] = 'post.php';
При обращении к этой странице произойдет загрузка функций LPF и подключение файла страницы post.php без какого либо вывода в браузер. Вся дальнейшая логика работы страницы определяется в указанном post.php.
$VAR['nojs'] = true;
$VAR['nocss'] = true;
$VAR['nocache'] = true;
$VAR['body_class'] = 'mypage';где «mypage» ЂЂЂ требуемый css-класс.
define("HOME_PAGE", "mysite");где «mysite» ЂЂЂ каталог в pages.
... RewriteBase / RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?page=$1 [QSA] ...
$MSO['_page_file'] = 'mytext.php';
«Landing Page Framework» позволяет использовать любой css-фреймворк. CSS-стили размещайте в каталоге css-less, а подключение css-файлов в style.less.
Для примера вы можете скачать архив using-css-frameworks.zip, где реализовано подключение:
В каждом каталоге «use_...» используются разные фреймворки. Загрузите файлы выбранного css-фреймворка поверх файлов «Landing Page Framework» и в браузере наберите http://сайт/ФРЕЙМВОРК.
Примечание. Поскольку результирущий css/style.css и исходный css-less/style.less будут меняться в разных css-фреймворках, то загружать файлы лучше на чистый «Landing Page Framework».
При желании можно использовать css-фреймворк (или любые css-стили, js-код, шрифты и изображения) в каждой странице отдельно. В этом случае следует отключить автоматическую загрузку css и js в файле variables.php:
$VAR['nocss'] = true; $VAR['nojs'] = true;
А в файле head.php выполнить подключения вручную. Например:
echo mso_load_script(BASEURL . 'js/jquery.min.js'); echo mso_load_script(CURRENT_PAGE_URL . 'js/bootstrap.min.js'); echo mso_load_css(CURRENT_PAGE_URL . 'css/bootstrap.min.css');
В качестве примера вы можете скачать архив sample-pages.zip, который следует распаковать в каталог pages.
Рабочие примеры (демо-страницы css-фреймворков):
Используйте эти файлы при необходимости.
LPF подключит их автоматически.
В text.php можно использовать некоторые предопределенные php-константы:
Автоподключение выполняется для всех js-файлов, размещенных в общем каталоге js/autoload/
. Для того чтобы запретить автоподключение, нужно в variables.php указать:
$VAR['nojs'] = true;
Это отключит автозагрузку, включая jQuery.
Для автозагрузки js-файлов на уровне страницы, достаточно разместить их в аналогично, только в каталоге страницы js/autoload/
. Чтобы запретить автоподключение нужно в variables.php указать:
$VAR['autoload_js_page'] = false;
Комбинируя эти два параметра, можно управлять автозагрузкой js-файлов.
Стандартно LPF настроен на автоматическую LESS-компиляцию файла css-less/style.less
в css/style.css
. Для того, чтобы отключить эту возможность в variables.php нужно указать:
$VAR['nocss'] = true;
Если требуется выполнить автозагрузку css-файлов, то их следует разместить в каталоге css/autoload/
.
Аналогично можно использовать less-компиляцию для отдельных страниц. Для этого достаточно разместить исходный файл css-less/style.less
в каталоге страницы. Результат будет там же в css/style.css
. Для того, чтобы выполнить автозагрузку css-файлов, достаточно разместить их в каталоге страницы css/autoload/
.
$VAR['autoload_css_page'] = false;
Если на сайте несколько страниц, то удобно вынести общие блоки в отдельные php-файлы. Например счетчики, шапку и подвал сайта. Подключаемые файлы можно размещать в каталоге /set/ в подкаталоге «шаблона» (в примере ЂЂЂ «mysite»). Например:
Подключение осуществляется в тексте записи. Например:
<?php require(SET_DIR . 'mysite/header.php') ?>
«SET»-каталог позволяет «Landing Page Framework» работать в качестве простой CMS, где используются произвольные php/html-шаблоны для разных сайтов.
Сложный php-код можно оформить в виде компонентов. Компоненты располагаются в каталоге /components/, каждый в своем подкаталоге. Вывод компонента осуществляется с помощью функции mso_component(). Например вывод компонента menu:
mso_component('menu', array( 'menu' => '/ | Главная ~ changelog | История изменений', 'ul_class' => 'uk-breadcrumb', 'selected' => 'selected' ));
Первым параметром функции указывается выводимый компонент, вторым ЂЂЂ его опции (они будут доступны в файле компонента как переменная $OPTIONS).
Компоненты позволяют упростить создание кода страниц за счет настраиваемости и переносимости.
«Landing Page Framework» можно использовать для любых проектов, включая коммерческие без ограничений и бесплатно, при условии сохранения копирайтов. Используемые библиотеки распространяются по их исходным лицензиям и условиям.
Donation возможен через Фонд развития MaxSite CMS.
Новости через твиттер @maxsite.
Автору бЂдет приятно, если вы расскажете о «Landing Page Framework» своим читаталям/посетителям (кнопка «Твитнуть»).
Скачать Landing Page Framework