900, 'name' => __('Tag'), 'help' => __('Highlight tags of your blog.'), 'htmltag' => 'pre,code,a', 'class' => ['a.epc-tag'], 'replace' => '%s', 'widget' => '%s', ]; } protected function initSettings(): array { return [ 'style' => ['text-decoration: none; border-bottom: 3px double #CCCCCC;'], 'notag' => 'pre,code,a,h1,h2,h3', 'tplValues' => ['EntryContent'], 'pubPages' => ['post.html'], ]; } public function publicContent(string $tag, array $args): void { if (!dcCore::app()->plugins->moduleExists('tags')) { return; } $metas = dcCore::app()->meta->getMetadata(['meta_type' => 'tag']); while ($metas->fetch()) { $args[0] = Epc::replaceString( $metas->f('meta_id'), sprintf($this->replace, dcCore::app()->blog?->url . dcCore::app()->url->getBase('tag') . '/' . $metas->f('meta_id'), '\\1'), $args[0], $this ); } } public function widgetList(string $content, WidgetsElement $w, ArrayObject $list): void { if (!dcCore::app()->plugins->moduleExists('tags')) { return; } $metas = dcCore::app()->meta->getMetadata(['meta_type' => 'tag']); while ($metas->fetch()) { $list[] = Epc::matchString( $metas->f('meta_id'), sprintf($this->widget, dcCore::app()->blog?->url . dcCore::app()->url->getBase('tag') . '/' . $metas->f('meta_id'), '\\1'), $content, $this ); } } }