For the complete documentation index, see llms.txt. This page is also available as Markdown.

Contest

Contest events are dispatched during the lifecycle of contests (competitions) across both administrator and frontend environments.


onCompetitionDisplay

  • Event Class: \NorrNext\Component\Competition\Administrator\Event\Display\CompetitionDisplayEvent

  • Context: com_competition.competition

  • Triggered In: Frontend Contest view (site/src/View/Competition/HtmlView.php)

Description

Fired when a contest page is initialized for rendering, allowing plugins to inspect or enrich the contest entity.

use NorrNext\Component\Competition\Administrator\Event\Display\CompetitionDisplayEvent;

public function onCompetitionDisplay(CompetitionDisplayEvent $event): void
{
    $context = $event->getContext(); // 'com_competition.competition'
    $contest = $event->getItem();    // stdClass / Competition object
}

onCompetitionBeforeSave

  • Event Class: \NorrNext\Component\Competition\Administrator\Event\Model\BeforeSaveEvent

  • Context: com_competition.competition

  • Triggered In: CompetitionModel::save() (admin)

  • Cancellable: Yes (returning false aborts the save)

Description

Triggered within the database transaction before the contest record is saved. Returning false aborts the operation and rolls back the transaction.


onCompetitionAfterSave

  • Event Class: \NorrNext\Component\Competition\Administrator\Event\Model\AfterSaveEvent

  • Context: com_competition.competition

  • Triggered In: CompetitionModel::save() (admin)

Description

Triggered after the contest record is successfully written to the database table.


onCompetitionBeforeDelete

  • Event Class: \NorrNext\Component\Competition\Administrator\Event\Model\BeforeDeleteEvent

  • Context: com_competition.competition

  • Triggered In: CompetitionModel::delete() (admin)

  • Cancellable: Yes (returning false aborts deletion)

Description

Triggered before deleting a contest. Returning false prevents deletion.


onCompetitionAfterDelete

  • Event Class: \NorrNext\Component\Competition\Administrator\Event\Model\AfterDeleteEvent

  • Context: com_competition.competition

  • Triggered In: CompetitionModel::delete() (admin)

Description

Triggered after the contest and associated cascade records are deleted from the database.


onCompetitionChangeState

  • Context: com_competition.competition

  • Triggered In: CompetitionModel::publish() (admin)

Description

Fired after one or more contests have their published state changed.


onCompetitionChangeStatus

  • Event Class: \NorrNext\Component\Competition\Administrator\Event\Competition\ChangeStatusEvent

  • Context: com_competition.competition

  • Triggered In: Automatic contest lifecycle checks

Description

Fired when a contest status changes automatically (for example, when the contest voting period closes and the status transitions from Active to Closed).

Last updated