Перевод от runetcms.ru, посвященный созданию модуля для RUNCMS.
Автор: Боб Джейнс (http://bobjanes.com), перевод: XTRO (http://www.runetcms.ru), опубликованно: 26 июля 2006 г.
Эта статья показывает, как создать RUNCMS-модуль, так сказать с нуля. Часто легче скопировать и исправить существующий модуль, но зато это сложнее для описания (и иногда для отладки).
Модуль, который мы будем создавать, не будет делать ничего полезного, кроме отображения нескольких сообщений , т.е. чтобы показать нам как это работает. Если мы получили в итоге сообщение как результат действий, то мы можем благополучно предположить, что другой код php/html также может быть выполнен.
Придумайте название для вашего модуля.
Придуманное имя должно быть:
коротким (Вы будете печатать его довольно часто);
представлять модуль (так чтобы другие люди могли его распознать);
не использоваться другим модулем, даже если он не установлен;
только прописные буквы и числа возможны в имени модуля (без пробелов);
Для примера и простоты мы назовём его: mymodule.
Создайте соответствующую структуру в новой директории.
В вашем списке модулей RunCms создаём новый каталог и называем его по имени модуля.
В нашем случае это - 'runcms/modules/mymodule'
Создайте еще четыре подпапки со следующими названиями 'admin', 'blocks, 'images' и 'sql' .
Создайте пятую подпапку 'language', и в ней папку 'english'
Таким образом, мы теперь имеем пустую структуру каталога, которая похожа на эту:
Примечания:
Вы можете захотеть позже добавить дополнительные языки, наиболее просто это сделать как один из последних шагов, как только ваш модуль будет готов – вместо того, чтобы держать несколько наборов языковых файлов и их синхронизировать.
RunCms использует английский язык по умолчанию в роли универсального. Никто не запретит Вам в настоящий момент (на этапе написания кода модуля) вставлять текст на вашем собственном языке , как и никто не остановит Вас при переименовании папки языка на 'french', а не 'english', но надо иметь ввиду, что у пользователей, поскольку их язык отсутствует и многие не знают того же французского языка, устанавливая этот модуль , нормальная работа модуля потерпит неудачу.
Вы можете также позже добавить другие папки типа 'cache', include', 'manual` или какие-либо другие, исходя из Ваших специальных потребностей. В данном случае пока нам в этом нужды нет
Добавляем index.html в каждую папку
Создаём файл index.html (или копируем из любого доступного модуля) , содержащего всего одну единственную строчку:
<script>history.go(-1);</script>
Копируем этот файл в каждую папку в вашей структуре каталогов – исключая только корневую папку модуля! (если такой файл найдётся в каталоге, то он окажется более предпочтительнее, чем файл index.php). И не забудьте копировать этот файл в любую новую папку, которую Вы создадите позже.
Этот файл нужен только для того, что бы предотвратить просмотр вашего каталога в виде списка php файлов, т.е. в целях безопасности.
Создаём файл xoops_version.
Используйте ваш любимый текстовой редактор для создания так называемого файла xoops_version.php и сохраните его в корне вашего модуля.
Эти строки устанавливают только три параметра, которые будут использоваться, чтобы сконфигурировать ваш модуль. (Подробнее дальше). Единственное, необходимо удостовериться, что строка с 'dirname' идентична названию вашей папки модуля - это нужно для того, чтобы RunCms знал где искать файлы нашего модуля.
Создаём файл index.php
Используйте ваш редактор для создания так называемого index.php файла и сохраните его в корне вашего модуля . Напечатайте следующий код в нём:
<?php
include ("../../mainfile.php");
include (XOOPS_ROOT_PATH."/header.php");
global $xoopsTheme;
$title = "Заголовок страницы";
$content = "Всё, что связано с этой страницей";
themecenterbox_center ($title, $content);
include (XOOPS_ROOT_PATH."/footer.php");
?>
Примечание: включение mainfile.php делается в первую очередь и никакого вывода html до этого момента!.
Установка Вашего нового модуля в RunCms.
Это,
возможно, не очень смотрится, и это не делает ничего полезного, но весь
этот код только для того, чтобы просто научиться создавать рабочий
runcms модуль.
Дважды проверьте соответствие имени директории в xoops_version.php и реального названия каталога.
Перейдите при помощи вашего броузера в режим Управление системой.
Перейдите в Админ_меню -> Панель управления -> 'Модули'
В нижней части окна таблицы списка неустановленных модулей должен
быть отображён ваш новый модуль. Он будет без картинки «лого_модуля»,
но только потому, что мы пока её не установили .
Нажмите справа на опцию 'info' о модуле – пока там будет довольно пусто.
Выберите в выпадающем списке опцию установка' и укажите в поле
'порядок отображения ' число 1 (или любое другое, отличное от 0).
Прокрутите вниз и нажмите на кнопку Отправить.
Нажмите Далее для перехода к следующему меню .
Теперь Вы должны увидеть сообщение системы, что ваш модуль
установлен - OK. Если нет, включите отладку!
Перейдите к стартовой странице сайта и проверьте главное меню –
Вы должны увидеть в пунктах меню ссылку на Ваш модуль .
Щелкните на этом пункте - ссылке на Ваш модуль и убедитесь, что стартовая страница модуля выводится.