Модуль — это короткий код (одной функции), написанный на языке PHP и вызываемый непосредственно из текста заметки или шаблона. Модуль — это файл МОДУЛЬ.php, который кладется в папку site_mod (или site_module, если автор счел его «системным», хотя физически разницы нет).
Вызов модуля происходит из HTML-кода (из текста заметки или темплейта дизайна) командой MODULE NOT FOUND: МОДУЛЬ, при этом должен существовать файл МОДУЛЬ.php, содержащий одноименную (это важно!) процедуру function МОДУЛЬ($параметр){}
Параметр (это может быть и слово и огромный кусок текста) передается модулю как один параметр. А то, что модуль вернул, вставляется вместо вызвавшей конструкции.
Пример простого файла-модуля B.php:
<?php function B($e) { return "<b>$e</b>"; } ?>
?>
Пишем в заметке "жырный", видим: жырный
А если надо передать несколько параметров? Универсальной процедуры разбора я не делал, здесь все на ваше усмотрение: придумывайте любые форматы и разбирайте параметр $e. Например, если мне надо получить два параметра, разделенных запятой, я пишу:
<?php
?>
Штатно присутствующая в движке функция c() очищает текст от пробелов в начале и конце и прочего мусора. Изначально параметр $e очищен, но дальнейшие разборки я всегда чищу вручную — мало ли пробелов кто для красоты втиснет.
Заодно для простоты учтите, что h() — это htmlspecialchars() для тех, кто заебался всякий раз набирать эту непроизносимую строку, а e() — это mysqlescapespecial... блин, я даже не помню, как она называлась в оригинале, но вы поняли.
Итого: пишем любой модуль, кладем в site_mod/ и радуемся жизни, вызывая его из текста заметки или шаблона.
Хозяйке на заметку: уже достаточно давно модули можно сколь угодно (до 200 кажется) вкладывать друг в друга. То есть, можно писать:
В site_mod лежат все модули' border='0'>_}_} |