Созданный нами блок
Для примера напишем блок, выводящий афоризм дня. Сначала создадим
файл messages.txt, содержащий афоризмы — по одному в каждой строке,
например:
Беда всего мира происходит из мелочи, как великое дело — из малых.
Любящая женщина та, которая понимает сильного мужчину в минуту его
слабости.
Бесстыдство порой скрывает стыд.
Говори правду, и тогда не придется ничего запоминать.
Если бы змей был запретным, Адам и его бы съел.
Глава 5. Установка и базовая настройка PHP-Nuke
83
Теперь приступим к написанию сценария block-my.php. Первым делом
нужно исключить непосредственный вызов блока (не через PHP-Nuke). Это
делается так:
if ( ! defined (· BLOCK_FILE’) ) {
Header(«Location: ../index.php»);
die();
}
Ну а дальше дело техники— прочитать содержимое файла messages.txt в
массив и выбрать из него случайный элемент. Готовый сценарий приведен в
листинге 5.1.
·’ ·’ «??./?«.?;;./?.;.„?«&^ . .Vi.V. ….&.·.. ,.Y;.v.. .’.?.?…. й., ^s
if ( !defined(·BLOCK_FILE’) ) {
Header(«Location: ../index.php»);
die();
}
// Файл messages.txt находится в каталоге blocks
$a = file(‘blocks/messages.txt’);
// Генерируем случайное число от 0 до ?, где N — количество элементов
// в $а — 1
$i = mt_rand(0, count($a)-1);
// Выводим случайный афоризм
$content = $a[$i];
?>
В следующей главе мы поговорим о том, как устанавливать дополнительные
модули для PHP-Nuke, а в главе 7 мы займемся разработкой собственного
модуля.
Глава 6
Установка
дополнительных модулей
и графических тем
6.1. Некоторые полезные модули
для PHP-Nuke
Для PHP-Nuke написано огромное количество модулей. При поиске модулей
обращайте внимание на версию PHP-Nuke, на которую рассчитан данный
модуль. Многие модули не могут работать в последних версиях: 7.9, 8.0 и 8.1.
Очень много различных модулей доступно на сайте nukefiles.ru, причем там
периодически выкладываются обновления для модулей, поэтому у вас всегда
будет последняя версия.
Описание модулей приводится, понятно, на русском языке. Перед тем как
скачать модуль, внимательно читайте отзывы других пользователей,
поскольку далеко не всегда модули проверяются перед закачкой на сайте.
Вполне может оказаться, что скачанный модуль у вас не будет работать.
Перед установкой модуля нужно ознакомиться с содержимым файла readme.txt
(или install.txt), который есть в каждом архиве,— в нем описана
последовательность установки модуля.
На компакт-диске в каталоге Glava_6\modules вы найдете самые полезные, на
мой взгляд, модули. Описание модулей приводится в табл. 6.1.
Глава 6. Установка дополнительных модулей и графических тем
85
Таблица 6.1. Самые полезные модули для PHP-Nuke
Имя файла
Anketa.zip
edogsopros109a.zip
Voting_module_PHP-Nuke.zip
mod_calendarx.zip
acbycurt1.2.rar
nuke_and_le.zip
Описание
Модуль, реализующий функции анкеты. В анкете
есть десять вопросов, и пользователь должен
ответить на все. Модуль не завершит свою
работу, пока пользователь не ответит на все вопросы
анкеты. Анкеты приходят на e-mail
администратора сайта. Вопросы задаются в файле lang-
russian.php. Для установки модуля нужно
распаковать архив в каталог modules. Модуль
интересен не столько своей функциональностью,
сколько своей простотой, что позволяет
модифицировать его в более сложный модуль,
адаптировав под нужды вашего проекта
Модуль опросов, основанный на стандартном
Surveys, но немного усовершенствованный.
Усовершенствования коснулись защиты от
накрутки счетчиков опроса. Работает быстрее
стандартного Surveys. Позволяет создавать
неограниченное количество вопросов и
вариантов ответа
Еще один модуль опросов. Основан на
стандартном модуле Surveys. В этом модуле
изменен алгоритм запросов к базе данных и
алгоритм обработки данных, поэтому работает
намного быстрее стандартного Surveys, причем
максимально снижена нагрузка на базу данных
Очень удобный календарь событий. Может
работать без MySQL (использует текстовые файлы)
Архивный календарь — позволяет
просматривать архив новостей по указанной дате.
5th Фев 2011
|
Теги:
|