Jump to main content Jump to doc navigation

Событие: 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

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Dannevang Digital
  • Sepia River Studios
  • Chris Fickling
  • CrewMark
  • deJaya
  • Lefthandmedia
  • Murray Wood
  • eydolan
  • Following Sea
  • Anton Tarasov
  • Stéphane Jäggi
  • Raffy
  • Snow Creative
  • A. Moreno
  • Nick Clark
  • JT Skaggs
  • Helen
  • YJ
  • krisznet
  • Richard
  • Yanni

Budget

$301 per month—let's make that $500!

Learn more