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\CompetitionDisplayEventContext:
com_competition.competitionTriggered 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\BeforeSaveEventContext:
com_competition.competitionTriggered In:
CompetitionModel::save()(admin)Cancellable: Yes (returning
falseaborts 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\AfterSaveEventContext:
com_competition.competitionTriggered 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\BeforeDeleteEventContext:
com_competition.competitionTriggered In:
CompetitionModel::delete()(admin)Cancellable: Yes (returning
falseaborts deletion)
Description
Triggered before deleting a contest. Returning false prevents deletion.
onCompetitionAfterDelete
Event Class:
\NorrNext\Component\Competition\Administrator\Event\Model\AfterDeleteEventContext:
com_competition.competitionTriggered In:
CompetitionModel::delete()(admin)
Description
Triggered after the contest and associated cascade records are deleted from the database.
onCompetitionChangeState
Context:
com_competition.competitionTriggered 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\ChangeStatusEventContext:
com_competition.competitionTriggered 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