Myengine

Типы расширений

Наша CMS поддерживает несколько типов расширений. Одни типы могут встраиваться в систему, другие позволяют интегрироваться в страницы сайта и т.д.

Типы определяются наличием определенного вида файла в папке расширения. Например, если в папке присутствует файл integration_page.php, то это означает, что расширение может встроиться в страницу сайта.

Список файлов расширения

  • integration_page.php - Интегрируется в одну страницу сайта.
  • integration_pages.php - Интегрируется во все страницы сайта.
  • integration_blok.php - Интегрируется в боковые блоки сайта.
  • integration_admin.php - Интегрируется в главную страницу панели управления.
  • integration_system.php - Интегрируется в систему всего сайта.
  • integration_end.php - Интегрируется в конец выполнения скриптов и перед выводом.
  • template.php - Является шаблоном по которому выводится контент сайта.
  • wysiwyg.php - Является визуальным редактором страниц.

Подробнее о файлах расширения

integration_page.php

Встраивается в страницу сайта и возвращает свой контент. Например:

<?php

$return = "<p>Привет мир!!!</p>";
return $return;
?>

Применение конструкции echo недопустимо, т.к в момент выполнения этого файла, вывод в браузер еще подготавливается, а параметры страницы еще могут быть изменены.

Файл обязательно должен что-то возвращать, если возвращать ничего не требуется, то возвратите null или пустую строку. Например:

<?php

return '';
// Или
return null;
?>

Файл может оперировать следующими объектами: $Config, $System, $Module, $User, $Page. Также файлу доступны: все предопределенные константы, переменная $MODULE_URI, массив $URI.

integration_pages.php

Имеет те же возможности, что и integration_page.php, за исключением того, что встраивается во все страницы сайта. Встраивание происходит сразу , как только модуль будет установлен или проинициализирован.

integration_blok.php

Встраивается в боковые блоки сайта и возвращает свой контент. Например:

<?php

$return = "<p>Содержимое блока</p>";
return $return;
?>

Применение конструкции echo недопустимо, т.к в момент выполнения этого файла, вывод в браузер еще подготавливается.

Файл обязательно должен что-то возвращать.

Файл не может оперировать встроенными объектами, т.к. встраивается в один из них , из за чего эти объекты отсутствуют в его области видимости. Но вы можете объявить эти объекты глобальными для этого файла и они станут доступны:

<?php

global $Config, $System, $Module, $User, $Page;
// Объявляйте только те, что вам нужны, а не все сразу как тут
$return = '<p>Привет '.$User->login.'</p>';
return $return;
?>

Для доступа к переменной $MODULE_URI и массиву $URI, вы также можете объявить их глобальными:

integration_admin.php

Встраивается в главную страницу панели администратора и возвращает свой контент. Например:

<?php

echo'<div class="box" style="text-align: center;">
Привет админ!!!
</div>'
;
?>

Файл выполняется только если в панели управления авторизированный администратор.

Файл может оперировать следующими объектами: $Config, $System, $Module, $User, $Page. Также файлу доступны все предопределенные константы.