0

我想在自定义插件的整个输出的包装中添加一个自定义类。fluid_styled_content 生成<div id="c55">标签。在那里我想添加在插件的 flexform 中定义的自定义类。

我是否必须覆盖 fluid_styled_content 包的文件 HeaderContentFooter.html 或者是否有针对该问题的不同解决方案。如果我覆盖该文件,我将无法访问插件的 flexform 值。

我感谢每一个帮助。

干杯

4

1 回答 1

0

要将布局复制到您自己的模板文件夹,这是解决此问题的最佳方法:

我不确定,为什么您无法访问插件设置。创建模板扩展(站点包):

复制文件

typo3conf/ext/sitepackage/Resources/Private/Fluid/Content/Layouts/HeaderContentFooter.html

将此添加到TypoScript

plugin.tx_sitepackage {
    view {
        templateRootPaths.0 = EXT:sitepackage/Resources/Private/Templates/
        partialRootPaths.0 = EXT:sitepackage/Resources/Private/Partials/
        layoutRootPaths.0 = EXT:sitepackage/Resources/Private/Layouts/
    }
}

将这样的内容添加到 HeaderContentFooter.html

{namespace css=Vendor\Sitepackage\ViewHelpers}

并渲染 CSS 类

{css:getclass()}

在 sitepackage/Classes/ViewHelpers/getclass.php 中创建一个 Viewhelper

里面有这样的东西:

namespace Vendor\Sitepackage\viewhelper ;

class getclassViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper   {
   public function render() {
        $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
        $configurationManager = $objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManagerInterface');
        $settings = $configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT );
      return $settings['FlexFormfieldName'] ;
  }
}

未完全测试,但应该这样做

于 2016-10-07T12:47:13.797 回答