OnChunkFormRender
Последнее обновление Jan 28th, 2020 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn moreСобытие: OnChunkFormRender¶
Запускается во время рендеринга формы. Полезно для рендеринга HTML прямо в форму Chunk.
Служба: 1 - Parser Service Events Группа: Chunks
Параметры события¶
| Имя | Описание | 
|---|---|
| mode | Либо 'new' либо 'upd', в зависимости от обстоятельств. | 
| id | Идентификатор Чанка. Это будет 0 для новых чанков. | 
| chunk | Ссылка на объект modChunk. Будет нулевым в новых чанках. | 
Примеры¶
Такой плагин добавит контент чанку и сохранит его:
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnChunkFormRender':
        //если обновляем существующий
        if ($mode == modSystemEvent::MODE_UPD) {
            //добавили контент чанка
            $chunk->setContent('<p>Контент чанка</p>');
            //можно сразу сохранить новый контент
            $chunk->save();
        }
        break;
}
Такой плагин добавит контент чанку если у него нет контента и сохранит его:
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnChunkFormRender':
        //если обновляем существующий
        if ($mode == modSystemEvent::MODE_UPD) {
            //забираем контент чанка
            $content = $chunk->getContent();
            // если контента нет, впихиваем новый
            if (!$content){
                $chunk->setContent('<p>Контент новый</p>');
                //можно сразу сохранить новый контент
                $chunk->save();
            }
        }
        break;
}
Такой плагин добавит контент чанку но не сохранит его:
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnChunkFormRender':
        //если обновляем существующий
        if ($mode == modSystemEvent::MODE_UPD) {
            //меняем все содержимое чанка
            $chunk->setContent('<p>Контент новый</p>');
            $chunk->set('name','NewChunkName');
            $chunk->set('description','Описание');
            //можно сразу сохранить новый контент $chunk->save();
        }
        break;
}
Смотри также¶
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn more
















