TYPO3: Как настроить предварительный просмотр плагина в Backend - PullRequest
0 голосов
/ 15 апреля 2019

В бэкэнде я хочу отобразить некоторые конфигурации плагина, который выбрал редактор.Как в Powermail или плагин новостей.Как этого достичь?

1 Ответ

2 голосов
/ 15 апреля 2019

Вы применили бы ту же логику, что и для пользовательского предварительного просмотра любого пользовательского элемента :

  • Вы можете использовать PageTS для регистрации пользовательского шаблона Fluid :

    // Register preview for a custom content element
    mod.web_layout.tt_content.preview.my_content_element = EXT:my_ext/Resources/Private/Templates/Preview/MyContentElement.html
    // Register preview for a plugin
    mod.web_layout.tt_content.preview.list.myext_myplugin = EXT:my_ext/Resources/Private/Templates/Preview/MyPlugin.html
    
  • В качестве альтернативы вы можете реализовать хук tt_content_drawItem:

    $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['fluid_styled_slider'] = \Acme\Package\MyPreviewRenderer::class;
    

    А затем реализовать этот хук:

    namespace Acme\Package;
    
    use TYPO3\CMS\Backend\View\PageLayoutViewDrawItemHookInterface;
    
    class MyPreviewRenderer implements PageLayoutViewDrawItemHookInterface
    {
        /**
         * ...
         */
        public function preProcess(PageLayoutView &$parentObject, &$drawItem, &$headerContent, &$itemContent, array &$row)
        {
            // 1. Check $row['CType'] for your content element and $row['list_type'] for your plugin in case of "list"
            // 2. Fill $itemContent with your preview
            // 3. Set $drawItem = false; to prevent rendering of the default preview
        }
    }
    
...