Активизация модуля
Рис. 6.2. Изменение имени модуля
Гпава 6. Установка дополнительных модулей и графических тем
89
Рис. 6.3. Наш модуль в работе
6.3. Темы
Теперь поговорим о темах для PHP-Nuke. В каталоге Glava_6\themes вы
найдете несколько тем, которые сможете модифицировать по вашему желанию.
А если ни одна тема не понравится, тогда много разных тем вы сможете
найти на сайтах:
¦J www.templatemonster.com/phpnuke-themes.php;
? nukefiles.ru;
? Phpnuke.org/modules.php?name=News&file=categories&op=
newindex&catid=4.
90
Часть II. PHP-Nuke
Установить тему очень просто— нужно распаковать содержимое архива в
каталог themes, а затем выбрать название темы в общих настройках сайта
(в панели управления). Однако есть несколько нюансов:
? при закачке файлов на сервер следите, чтобы сохранялся регистр
символов в именах файлов. Если вы закачаете каталог MyTheme в каталог
themes, но регистр символов будет изменен (например, mytheme), то
тема работать не будет;
? иногда архивы с темами содержат не только тему, но и шаблоны для
форума. В этом случае, когда вы открываете архив, вы обнаружите в нем
два каталога — themes и templates. Содержимое каталога themes нужно
скопировать в каталог themes на сервере, а содержимое каталога
templates — соответственно в каталог templates на сервере.
Рис. 6.4. Установка темы
Глава 6. Установка дополнительных модулей и графических тем 91
Рис. 6.5. PHP-Nuke: темз изменена
Глава 7
Создание собственных модулей
для PHP-Nuke
7.1. Простой модуль
Как уже было отмечено в предыдущей главе, модули позволяют расширить
возможности CMS. Например, форум, фотогалерея, опросы — все это
модули. Без конкретного модуля CMS не потеряет работоспособности, просто
определенная возможность, реализуемая модулем, будет недоступна.
Прежде чем приступить к написанию собственного модуля для PHP-Nuke,
поищите нужный вам модуль в Интернете, возможно, вы найдете уже
готовый модуль, на установку которого будет затрачено намного меньше
времени, чем на самостоятельное создание аналогичного.
Если требуемого вам модуля «в природе» не существует или у вас появилось
непреодолимое желание создать собственный модуль, тогда можете
приступить к дальнейшему чтению этой главы.
Создание модулей нужно начать с создания структуры файлов и каталогов в
каталоге modules. Предположим, что вы хотите назвать свой модуль randomimage.
Он ничего особенного не делает: просто выводит случайную картинку.
В каталоге modules следует создать подкаталог random_image: имя каталога
должно совпадать с именем модуля. Затем в каталоге random_image
необходимо создать два каталога:
? images — для графических файлов;
? language — для языковых файлов.
В каталог images нужно загрузить наши картинки. Для упрощения кода
сценария будем считать, что в этом каталоге могут быть только графические
файлы и ни при каких условиях в нем не будет файлов другого типа.
Глава 7. Создание собственных модулей для PHP-Nuke
93
В каталог language следует поместить два языковых файла: lang-russian.php и
lang-english.php. Первый пусть выглядит так:
define(«RNDJTITLE»,»Случайная картинка»);
?>
Второй так:
рпр
define(«RNDJTITLE»,»Random image»);
?>
Теперь можно приступить к созданию самого модуля. Но сначала
разберемся, как мы будем выводить случайную картинку. Представим, что у нас нет
никакой PHP-Nuke, нам нужно написать обычный сценарий, который
выводит тег , а в качестве картинки (в качестве значения параметра src)
выбирает любой случайный файл из каталога images.
Я предлагаю использовать функцию scandiro, которая читает оглавление
указанного каталога и возвращает его в виде массива. Например:
$files = scandir($dir);
Первые два элемента массива $ files будут содержать значения . и .. — это
ссылки на текущий и родительский каталог соответственно. С третьего
элемента массива (его номер — 2) начнутся файлы и каталоги, хранящиеся в
этом каталоге. Как уже было отмечено, мы будем считать, что в каталоге
images нет подкаталогов и файлов, которые не являются изображениями.
У функции scandir () два параметра:
array scandir (string catalog [, int order])
Первый параметр — это имя каталога, оглавление которого нужно прочитать,
а второй — порядок вывода файлов и каталогов.
5th Фев 2011
|
Теги:
|