Написание кода блока.

В наборе портальной системы есть много блоков выполняющих различные задачи. Но часто возникает ситуация что мы не находим блок с нужным нам механизмом работы. В данной статье я расскажу как можно создать блок с собственным кодом на вашем сайте. В качестве примера возьмем блок с несложным и совершенно бесполезным алгоритмом работы. Блок будет выводить текущий день недели. Если у вас еще нет домена вам принадлежащего то можно зарегистрировать настроив свой собственный домен на сервер с портальной системой или выбрать свободный домен из уже настроенных третьего уровня http://что-то.mpak.su. Если имя свободно вы попадете в форму регистрации домена. Обязательно укажите в форме регистрации свои контактные данные. Их будем в дальнейшем использовать для получения доступа к файловой системе хоста. После регистрации заходим в форму которая предоставляет доступ к файловой системе. Указав имя хостк доступ к которому хотим получить и контактные данные указанные при регистрации получаем на почту параметры доступа по фтп протоколу к файловой системе. Итак у вас фтп доступ к серверу. Заходим в папку и создаем каталог /include/blocks/ В этой директории система хранит блоки не связанные с модулями. Каждый раз при работе система проверяет наличие файлов в директории вашего хоста. Если в директории система найдет новый блок то он станет доступен для использования в списке типов блокоу. Если будет найден блок с имя файла которого совпадает с существующим - при вызове код существующего будет заменен на код блока размещенного в директории вашего хоста. Для упрощения процесса разработки в системе уже есть блок "Пустышка". Копируем его содержимое в файл с новым именем. Имя нового файла может быть произвольным. Назовем новый блок week.php. У нас должен получиться файл с такаим содержимым.

<? die; # Нуль

if ((int)$arg['confnum']){
    # Востановление параметров модуля
//    if (count($res = mpql(mpqw("SELECT param FROM {$GLOBALS['conf']['db']['prefix']}blocks WHERE id = {$arg['confnum']}")))) $param = unserialize($res[0]['param']);

    # Сохранение параметров модуля
//    if (count($param)) mpqw("UPDATE {$GLOBALS['conf']['db']['prefix']}blocks SET param = '".serialize($param)."' WHERE id = {$arg['confnum']}");
    return;
}

echo "Блок пустышка";

?>

В блоке уже созданны несколько строк предназначенных для востановления и сохранения параметров блока через меню настроек админстраницы. В качестве примера установлена одна строка вывода строки "Блок пустышка". Основное что мы должны сделать для создания нового это изменить его название которое будет отображаться в админменю. Название это записано в первой строке кода блока после символа #. Назовем его ДеньНедели. Часть кода связанную с изменением настроек уберем так как в нашем блоке не предполагается изменять настройки через админменю. Нам остается заменить строку вывода на свою. Две строки необходимые для отображения дня недели.

В первом задаются названия дней недели. Во втором отображается текущий элемент. В итоге получаем такое содержимое.

<? die; # ДеньНедели

$w = array( '1'=>'Понедельник','Вторник','Среда','Четверг','Пятница','Суббота','Воскресенье');
echo $w[date('w')];

?>

Вот в общем то и все блок готов. Остается его установить на страницу.

Наша работа

Создать сайт

С нами сайтов: 13
Демонстрационный вход:
адрес http://demo.mpak.su
логин demo пароль demo.
Исходный код: ftp://mpak.su

Вход на сайт

Логин:
Пароль:
 Регистрация
Восстановление |

Последние статьи

© 2007—2010 «жираф»