Skip to content

Commit 9258e8d

Browse files
authored
Use new event trigger and more (#582)
* Use new event trigger and more * Use 5.2.0 for now
1 parent d8a9aa0 commit 9258e8d

File tree

3 files changed

+35
-13
lines changed

3 files changed

+35
-13
lines changed

src/administrator/components/com_weblinks/src/View/Weblinks/HtmlView.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
use Joomla\CMS\Language\Text;
2121
use Joomla\CMS\MVC\View\GenericDataException;
2222
use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView;
23-
use Joomla\CMS\Toolbar\Toolbar;
2423
use Joomla\CMS\Toolbar\ToolbarHelper;
2524
use Joomla\Component\Weblinks\Administrator\Model\WeblinksModel;
2625

@@ -136,7 +135,7 @@ protected function addToolbar()
136135
$user = $this->getCurrentUser();
137136

138137
// Get the toolbar object instance
139-
$toolbar = Toolbar::getInstance('toolbar');
138+
$toolbar = $this->getDocument()->getToolbar();
140139

141140
ToolbarHelper::title(Text::_('COM_WEBLINKS_MANAGER_WEBLINKS'), 'link weblinks');
142141

src/administrator/manifests/packages/weblinks/script.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class Pkg_WeblinksInstallerScript extends InstallerScript
3838
*/
3939
public function __construct()
4040
{
41-
$this->minimumJoomla = '4.4.0';
41+
$this->minimumJoomla = '5.2.0';
4242
$this->minimumPhp = JOOMLA_MINIMUM_PHP;
4343
}
4444
}

src/components/com_weblinks/src/View/Weblink/HtmlView.php

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
namespace Joomla\Component\Weblinks\Site\View\Weblink;
1212

13+
use Joomla\CMS\Event\Content;
1314
use Joomla\CMS\Factory;
1415
use Joomla\CMS\MVC\View\GenericDataException;
1516
use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView;
@@ -75,23 +76,45 @@ public function display($tpl = null)
7576
$this->handleModelErrors($errors);
7677
}
7778

78-
PluginHelper::importPlugin('content');
79-
8079
// Create a shortcut for $item.
8180
$item = $this->item;
8281
$item->slug = $item->alias ? ($item->id . ':' . $item->alias) : $item->id;
8382
$temp = $item->params;
8483
$item->params = clone $app->getParams();
8584
$item->params->merge($temp);
8685
$offset = $this->state->get('list.offset');
87-
$app->triggerEvent('onContentPrepare', ['com_weblinks.weblink', &$item, &$item->params, $offset]);
88-
$item->event = new \stdClass();
89-
$results = $app->triggerEvent('onContentAfterTitle', ['com_weblinks.weblink', &$item, &$item->params, $offset]);
90-
$item->event->afterDisplayTitle = trim(implode("\n", $results));
91-
$results = $app->triggerEvent('onContentBeforeDisplay', ['com_weblinks.weblink', &$item, &$item->params, $offset]);
92-
$item->event->beforeDisplayContent = trim(implode("\n", $results));
93-
$results = $app->triggerEvent('onContentAfterDisplay', ['com_weblinks.weblink', &$item, &$item->params, $offset]);
94-
$item->event->afterDisplayContent = trim(implode("\n", $results));
86+
87+
$dispatcher = $this->getDispatcher();
88+
89+
// Process the content plugins.
90+
PluginHelper::importPlugin('content', null, true, $dispatcher);
91+
92+
$contentEventArguments = [
93+
'context' => 'com_weblinks.weblink',
94+
'subject' => $item,
95+
'params' => $item->params,
96+
'page' => $offset,
97+
];
98+
99+
$dispatcher->dispatch(
100+
'onContentPrepare',
101+
new Content\ContentPrepareEvent('onContentPrepare', $contentEventArguments)
102+
);
103+
104+
// Extra content from events
105+
$item->event = new \stdClass();
106+
$contentEvents = [
107+
'afterDisplayTitle' => new Content\AfterTitleEvent('onContentAfterTitle', $contentEventArguments),
108+
'beforeDisplayContent' => new Content\BeforeDisplayEvent('onContentBeforeDisplay', $contentEventArguments),
109+
'afterDisplayContent' => new Content\AfterDisplayEvent('onContentAfterDisplay', $contentEventArguments),
110+
];
111+
112+
foreach ($contentEvents as $resultKey => $event) {
113+
$results = $dispatcher->dispatch($event->getName(), $event)->getArgument('result', []);
114+
115+
$item->event->{$resultKey} = $results ? trim(implode("\n", $results)) : '';
116+
}
117+
95118
parent::display($tpl);
96119
}
97120

0 commit comments

Comments
 (0)