Начало работы

Все компоненты должны храниться в областях.

Область - это папка в которой лежит компонент.

Для того чтобы создать область, перейдите в /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