站点预览器

了解如何构建自定义站点预览器插件。


站点预览器插件负责渲染实体类型的预览。

实现一个 @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