Файловый менеджер - Редактировать - /home/lmsyaran/public_html/joomla5/plugins/schemaorg/blogposting/src/Extension/BlogPosting.php
Назад
<?php /** * @package Joomla.Plugin * @subpackage Schemaorg.blogposting * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\Schemaorg\BlogPosting\Extension; use Joomla\CMS\Event\Plugin\System\Schemaorg\BeforeCompileHeadEvent; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Schemaorg\SchemaorgPluginTrait; use Joomla\CMS\Schemaorg\SchemaorgPrepareDateTrait; use Joomla\CMS\Schemaorg\SchemaorgPrepareImageTrait; use Joomla\Event\Priority; use Joomla\Event\SubscriberInterface; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Schemaorg Plugin * * @since 5.0.0 */ final class BlogPosting extends CMSPlugin implements SubscriberInterface { use SchemaorgPluginTrait; use SchemaorgPrepareDateTrait; use SchemaorgPrepareImageTrait; /** * Load the language file on instantiation. * * @var boolean * @since 5.0.0 */ protected $autoloadLanguage = true; /** * The name of the schema form * * @var string * @since 5.0.0 */ protected $pluginName = 'BlogPosting'; /** * Returns an array of events this subscriber will listen to. * * @return array * * @since 5.0.0 */ public static function getSubscribedEvents(): array { return [ 'onSchemaPrepareForm' => 'onSchemaPrepareForm', 'onSchemaBeforeCompileHead' => ['onSchemaBeforeCompileHead', Priority::BELOW_NORMAL], ]; } /** * Cleanup all BlogPosting types * * @param BeforeCompileHeadEvent $event The given event * * @return void * * @since 5.0.0 */ public function onSchemaBeforeCompileHead(BeforeCompileHeadEvent $event): void { $schema = $event->getSchema(); $graph = $schema->get('@graph'); foreach ($graph as &$entry) { if (!isset($entry['@type']) || $entry['@type'] !== 'BlogPosting') { continue; } if (!empty($entry['datePublished'])) { $entry['datePublished'] = $this->prepareDate($entry['datePublished']); } if (!empty($entry['dateModified'])) { $entry['dateModified'] = $this->prepareDate($entry['dateModified']); } if (!empty($entry['image'])) { $entry['image'] = $this->prepareImage($entry['image']); } } $schema->set('@graph', $graph); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.04 |
proxy
|
phpinfo
|
Настройка