Начало работы
Все компоненты должны храниться в областях.
Область - это папка в которой лежит компонент.
Для того чтобы создать область, перейдите в /Project/views/exComponents/ и создайте папку - это и будет областью компонентов. Пример: папка /Project/views/exComponents/catalog/ - это папка которая покрывает область каталога catalog
Для того чтобы создать компонент, перейдите в область catalog и создайте файл компонента. К примеру /Project/views/exComponents/catalog/getProducts.php Файл getProducts - это наш компонент. После создания файла, откройте сайт в браузере и компонент наполнится базовой сигнатурой. Компонент будет доступен как catalog/getProducts
<?php
defined('PROLOGUE__FRAMEWORK') or die ;
$this -> addToResponse('welcome', request::multi('welcome'));
?>
<div class="common_helloExComponent">
This exComponent.
</div>
<style data-type="prPack">
.common_helloExComponent {
}
</style>
<script data-type="prPack">
function common_hello__ExComponent(){
$EX_loadComponent($(this), 'common/hello', {
welcome : 'Extra-Component, Hello!'
}, function(response) {
alert(response.welcome);
$('body').html(response.html);
});
}
common_hello__ExComponent();
</script>
Экстра компоненты состоят из 3-х частей.
Первая часть - это логика контроллера. Логика контроллера срабатывает во время ответа сервера.
Контроллер не является полноценным, так как в нем нельзя описывать методы, но в нем можно описывать функции. Данный микро-контроллер очень похож на компонент контроллера.
Результатом работы микро-контроллера является ответ в json формате.
Далее, после контроллера описывается шаблон (если нужно). После того, как микроконтроллер отработал, отрендеренный шаблон помещается в json ответа в ключ html
В конце exComponent описываются стили и java-script компонента. Для сборки статики используется prPack