Joomla портал
seo seo Subscribe
seo
0
seo

Активизация модуля Price

Затем в списке модулей вызываем наш модуль и видим табличку — Прайс-

лист (рис. 11.2).

Теперь несколько замечаний о работе этого модуля:

» прайс-лист нужно сохранить под именем l.csv и поместить в каталог

/modules/Price;

? файл должен быть в формате CSV (разделители — запятые);

138 Часть III. SLAED CMS

D внешний вид таблицы можно изменить в файле excelit.php. Думаю, для

вас это не составит труда.

Рис. 11.2. Вывод прайс-листа

ГЛАВА 12

Создание собственных модулей

12.1. Совместимость модулей

SLAED CSM и PHP-Nuke

Создать собственный модуль в Slaed так же легко, как и в PHP-Nuke. Более

того, даже синтаксис подобен. Сделано это для того, чтобы можно было

легко импортировать модули, написанные для PHP-Nuke, в Slaed. Однако не

нужно думать, что любой модуль, написанный для PHP-Nuke, будет работать

в Slaed. Нет. Его придется адаптировать под особенности конкретной CMS.

Например, если модуль работает с базой данных PHP-Nuke, то потребуется

изменить все SQL-запросы, адаптировав их под таблицы Slaed.

В данной главе мы адаптируем написанный ранее модуль random_image.

Этим мы убьем двух зайцев сразу: разберемся, как переносить модули из

PHP-Nuke в Slaed, и рассмотрим разработку модуля для Slaed.

12.2. Простой модуль

В данном разделе мы импортируем наш простой разработанный для PHP-

Nuke модуль, выводящий случайную картинку.

Первым делом следует создать в каталоге modules каталог randomimage.

После этого создаем каталог images и помещаем в него наши картинки. Как и в

случае с PHP-Nuke, нам нужно создать каталог language и поместить в него

Два файла: lang-russian.php и lang-english.php. Чтобы вы лишний раз не

листали книгу, снова приведу листинги этих файлов. Они такие же, как и в случае

с PHP-Nuke.

140

Часть III. SLAED CMS

Вот файл lang-russian.php:

define(«RND_TITLE»,»Случайная картинка»);

?>

Второй языковый файл, langenglish.php, будет выглядеть так:

define(«RND_TITLE»,»Random image»);

?>

He спешите копировать главный файл модуля — index.php. Он почти такой

же, но отличия все же есть. Рассмотрим листинг 12.1.

// Запрещаем прямой вызов модуля

if (! defined (·MODULE_FILE ·) ) {

die («You can’t access this file directly…»);

}

// Переменная $module__name содержит имя модуля

$module_name = basename(dirname( FILE ));

// Подключаем» языковый файл в зависимости от выбранного пользователем

// языка

// Функция get__lang() сама подключит нужный файл

get_lang($module_name);

// Определяем заголовок странички

$pagetitle = «$defis Случайная картинка»;

// Вставляем шапку сайта

include(«header.php»);

// Открываем таблицу для вывода данных

OpenTable();

// Это заголовок модуля

title(«Случайная картинка»);

Глава 12. Создание собственных модулей

141

/? Начинается код модуля

// Это наш каталог, в котором будут храниться картинки

$dir = ‘modules/random_image/images/’;

// Открываем каталог

$dh = opendir($dir);

// Читаем список файлов

while (false !== ($filename = readdir($dh)))

{

$files[] = $filename;

?

II Получаем случайное число от 2 до ?, где N — число элементов каталога

$к = mt_rand(0, count($files)-l);

// Выводим нашу константу

echo «


» . RNDJTITLE . «

«;

// Выводим картинку

echo «

«;

// Закрываем таблицу

CloseTable ();

// Вставляем нижнюю часть сайта

include(«footer.php»);

?>

Теперь поговорим об отличиях от PHP-Nuke. Во-первых, нам больше не

требуется подключать mainfile.php. Во-вторых, нам не нужна переменная

Sindex— в Slaed вы можете использовать переменную с таким же названи-

ем, но она будет обычной переменной и никак не будет влиять на вывод

блоков. В-третьих, нам необходимо определить переменную $pagetitle,

задающую заголовок страницы:

Spagetitle = M$defis Случайная картинка»;

беременная $def is — это разделитель, который задается в панели

администратора на странице Конфигурации.

142 Часть III. SLAED CMS

Кроме этого, с помощью функции title о следует задать заголовок модуля,

например:

title(«Случайная картинка»);

Поэтому, по большому счету, оператор

echo «» .

seo
5th Фев 2011
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo