*/ class BackHook extends baseHook { public function onMainAfterContent(HookRenderEvent $event) { $event->add( $this->render('main-after-content.html') ); } public function onMainFooterJs(HookRenderEvent $event) { $event->add( $this->render('main-footer-js.html') ); } public function onEditJs(HookRenderEvent $event) { $params = $this->getParameters($event); if (!empty($params)) { $event->add( $this->render( 'edit-js.html', $params ) ); } } public function onEditTab(HookRenderBlockEvent $event) { $params = $this->getTabParameters($event); $count = AdminCommentQuery::create() ->filterByElementKey($params['key']) ->filterByElementId($event->getArgument('id')) ->count(); $event->add( [ "id" => 'admin-comment', "title" => Translator::getInstance()->trans("Comment (%count)", ['%count' => $count], AdminComment::MESSAGE_DOMAIN), "content" => "" ] ); } public function onListHeader(HookRenderEvent $event) { $event->add("".Translator::getInstance()->trans('Comment', [], AdminComment::MESSAGE_DOMAIN).""); } public function onListRow(HookRenderEvent $event) { $key = null; if (false !== strpos($event->getName(), 'orders.table-row')) { $key = 'order'; } $count = 0; if ($key) { $count = AdminCommentQuery::create() ->filterByElementKey($key) ->filterByElementId($event->getArgument($key.'_id')) ->count(); } $counter = ""; if ($count > 0) { $counter = "$count"; } $event->add("$counter"); } protected function getParameters(HookRenderEvent $event) { $out = []; $authorizedHook = [ 'category.edit-js', 'product.edit-js', 'folder.edit-js', 'content.edit-js', 'customer.edit-js', 'order.edit-js', 'coupon.update-js' ]; foreach ($authorizedHook as $hookName) { if (false !== strpos($event->getName(), $hookName)) { $key = explode('.', $hookName)[0]; $id = intval($event->getArgument($key . '_id')); // try to get from url if (0 === $id) { $id = intval($this->getRequest()->query->get($key . '_id', 0)); } if (0 !== $id) { $out = [ 'key' => $key, 'id' => $id ]; } break; } } return $out; } protected function getTabParameters(HookRenderBlockEvent $event) { $out = []; $authorizedHook = [ 'category.tab', 'product.tab', 'folder.tab', 'content.tab', 'order.tab' ]; foreach ($authorizedHook as $hookName) { if (false !== strpos($event->getName(), $hookName)) { $key = explode('.', $hookName)[0]; $out['key'] = $key; } } return $out; } }