Page 1 of 1

Zachycení události z PhocaCart Dispatcheru

Posted: 19 Dec 2025, 10:57
by Karel099
Zdravím,
dělám si plugin pro Phoca Cart, ale mám problém v jeho rámci zachytit tuto událost:

Code: Select all

Dispatcher::dispatch(new Event\Payment\BeforeSaveOrderAdmin($this->context, $order, $isNew, $data));
(models\phocacarteditstatus.php:133)

zkoušel jsem v mém pluginu, ale ani jedno se nespustilo:

Code: Select all

public function onPhocacartBeforeSaveOrderAdmin($context, $order, $isNew, $data)
    { ... }

Code: Select all

public function onBeforeSaveOrderAdmin($context, $order, $isNew, $data)
    { ... }
V rámci třídy PhocaCartCpModelPhocaCartEditStatus můj plugin vidím, mám ho umístěný v plugins\phocacart\subscriptionhandler\subscriptionhandler.php.
Můžete mi prosím poradit, jestli jsou to správné funkce pro zachycení?

Mám Joomla verzi 5.3.1 a Phoca Cart verzi 5.2.3

Díky za odpověď.
Karel

Re: Zachycení události z PhocaCart Dispatcheru

Posted: 21 Dec 2025, 21:40
by Jan
Ahoj, je to plugin ze skupiny pcp (tedy payment) a název funkce je:

onPCPbeforeSaveOrderAdmin

viz: administrator/components/com_phocacart/libraries/src/Event/Payment/BeforeSaveOrderAdmin.php

Code: Select all

class BeforeSaveOrderAdmin extends AbstractEvent
{
  public function __construct(string $context, \TablePhocacartOrder $table, bool $isNew, array &$data) {
    parent::__construct('pcp', 'onPCPbeforeSaveOrderAdmin', [
      'context' => $context,
      'table' => $table,
      'isNew' => $isNew,
      'data' => &$data
    ]);
  }
}