站点预览器
了解如何构建自定义站点预览器插件。
站点预览器插件负责渲染实体类型的预览。
实现一个 @SitePreviewer
插件以提供您自己的自定义预览器。
示例
一个渲染预览链接的插件。
<?php
namespace Drupal\next\Plugin\Next\SitePreviewer;
use Drupal\Core\Entity\EntityInterface;use Drupal\next\Plugin\SitePreviewerBase;
/** * Provides a link to the preview page. * * @SitePreviewer( * id = "link", * label = "Link to preview", * description = "Displays a link to the preview page." * ) */class Link extends SitePreviewerBase {
/** * {@inheritdoc} */ public function render(EntityInterface $entity, array $sites) { $build = [];
foreach ($sites as $site) { $build[] = [ '#type' => 'link', '#title' => $this->t('Open preview'), '#url' => $site->getPreviewUrlForEntity($entity), ]; }
return $build; }
}
配置
站点预览器插件可以提供自己的配置。请参阅 \Drupal\next\Plugin\ConfigurableSitePreviewerInterface
。