|
|
|
 |
 |
 |
|
 | Создание модулей для системы | 1. Создание простейшего модуля
представим себе, что Ваш сайт только на русском языке. Вы хотите для этого сайта сделать модуль «О компании». Для этого Вам нужно в директории http://domain.net/modules/ создать поддиректорию "About". В этой поддиректории должен находиться файл index.html.
В файле index.html для простейшего модуля должен быть такой код:
1 2 3 4 5 6 7
|
<?php
//Ставим защиту на прямое обращение к файлу index.html через браузер.
if (!defined('KASSELERCMS')) die("Hacking attempt!");
open_table(); //открывает таблицу оформления.
echo "Hello world";
close_table(); //Закрывает таблицу оформления.
?>
|
Для создания самого примитивного модуля больше нечего не требуется.
Глобальные переменные которые могут использоваться при создании модулей.
• $module_name – Назване директории модуля.
• $module_title - Назване модуля (или 2 параметр названия страницы).
• $db – Объект класса базы данных, через который вызываются методы работы с базой данных.
• $prefix – Префикс таблиц базы данных.
• $userinfo – Массив информации о пользователе.
• $ip – IP адрес пользователя.
• $adminfile – название файла администрации, например admin.php
• $titlehome - первый параметр название страницы
• $description – вставляется в в <meta /> тег description.
• $cachectrl – параметр кэширования модулей.
$cachectrl – отвечает за то будет ли кэшироваться модуль или нет если его значение равно false то данная страница модуля не будет кэшироваться. Даная переменная при включенном кэшировании модулей, равна true. Это означает что все страницы будут кэшироваться системой. Для того чтобы система не кэшировала страницу нужно в $cachectrl установить false.
Но перед этим объявить ее в global, если это необходимо.
2. Вставка собственных изображений в модуль.
Если вы разрабатываете модуль и хотите использовать не стандартную графику системы, и вы задали себе вопрос куда лучше всего разместить папку с изображениями. Лудше всего размещать изображения в директории самого модуля.
Приведем пример с предыдущего пункта.
Допустим вы в модуле "About" вы создали каталог images в котором лежит изображение logo.gif, то код загрузки изображения в текущий модуль будет такой:
1 2 3 4 5 6
|
<?php
if (!defined('KASSELERCMS')) die("Hacking attempt!");
open_table();
echo "<img src=\"modules/$module_name/images/logo.gif\" /> ";
close_table();
?>
|
3. Создание мултиязычного модуля.
Создание мултиязычного модуля - это означает что модуль может быть использован и отображаться на n-ом количестве языков.
Для этого необходимо в каталоге модуля создать вложенный каталог languageи разместить в нем файл language.russian.php или же другой language.*.php, где * язык поддерживаемый системой. Например: language.english.php или language.ukraine.php.
В таком случаи если в настройках пользователь выберет языковый файл language.ukraine.php и файл с таким названием будет находится в вашем модуле – то при загрузке модуля система автоматически определит наличие языкового файла и загрузит его.
Содержание языкового файла:
1 2 3 4 5 6
|
<?php
if (!defined("FUNC_FILE")) die("Access is limited");
@define("_SUBJNAME", "Имя Вашего друга");
@define("_SUBJMEIL", "Email получателя");
?>
|
Рассмотрим первую строку кода
1
|
@define("_SUBJMEIL", "Email получателя");
|
где _SUBJMEIL переменная в модуле вместо которой вставится содержание находящееся после запетой в лапках, в нашем случаи это Email получателя.
4. Использование нескольких страниц в модуле.
Для создание нескольких страниц в модуле необходимо использовать оператор switch и GET переменную do.
Пример кода с несколькими страницами выглядит так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
<?php
if (!defined('KASSELERCMS')) die("Hacking attempt!");
//Создаем функцию навигации по страницам модуля.
function navi(){
global $module_name;
open_table();
echo "<center>[ <a href=\".html$module_name&do=Image\">Image</a> | <a href=\".html$module_name&do=Text\">Text</a> ]</center>";
close_table();
}
//функция выводит логотип модуля "About".
function AboutImage(){
navi(); //Выводим навигацию по модулю.
open_table();
echo "<img src=\"modules/$module_name/images/logo.gif\" /> ";
close_table();
}
function AboutText(){
navi();//Выводим навигацию по модулю.
open_table();
echo "Hello world";
close_table();
}
//Используем оператор выбора switch
switch (@$_GET['do']){
case "Text": AboutText(); break; //Грузим функцию AboutText(); если GET переменная равна "Text"
default: AboutImage(); break; //если не установлена GET переменой или предыдущие условия не совпадают грузим функцию AboutImage(); по умолчанию.
}
?>
|
Таким мы создали более тяжелый модуль с несколькими страницами и когда мы загружаем модуль то на главной странице будет функция по умолчанию - AboutImage().
|
|
|
 |
 |
 |
|
|
|
|
| |
Страница сгенерирована за 0.027 секунд и 7 запросов к базе данных за 0.00175 секунд Web site engine code is Copyright ©2007-2008 by Kasseler CMS. All rights reserved.
|
|
|
|
|