Ничего не найдено
Быстрый старт
CSS
Компоненты
Меню
Динамическое содержимое
SEO-паук
Социальные теги
Прочее
Установка
Категории v3
Категории v3: типы свойств

Компоненты и модели

Модели можно передать в компонент. Они сохранятся и при AJAX-обновлении копонента. Для этого при рендере компонента используем такую конструкцию:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$model = \Eva\GeneratedModels\NewsItemBlender::create()
    ->getModelById(1);
$typesList = \Eva\GeneratedModels\NewsTypeBlender::create()
    ->getModelList();
Component::create("test-component")->setProps(["var"=>1])
    ->setModel("news_item"$model) // передача модели от новости по коду news_item. Код может быть любым.
    ->setModel("news_type"$typesList) // Передача объекта со списком по коду news_type. Код может быть любым.
    ->render();
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Внутри компонента, чтоб достать модель по коду, используем:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
/** @var $this Component */
if (!defined("EVA_READY_TO_FIRE")) die();
/** @var \Eva\GeneratedModels\NewsItem $item */
$item=$this->getModel("news_item");
/** @var \Eva\GeneratedModels\NewsTypeList $list */
$list=$this->getModel("news_type");
?>
<div id="<?php echo  $this->getId() ?>">
    <?php echo $item->getNameValue()?>
</div>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX