TYPO3 - оберточный элемент в жидком стиле
Я хотел бы добавить пользовательский класс в оболочку всего вывода пользовательского плагина. liquid_styled_content генерирует <div id="c55">
тег. Там я хотел бы добавить пользовательский класс, определенный в flexform плагина.
Нужно ли переопределять файл HeaderContentFooter.html пакета Fluid_styled_content или есть другое решение для этой проблемы. Если я переопределю этот файл, я не смогу получить доступ к значениям flexform плагина.
Я благодарен за любую помощь.
ура
1 ответ
Копировать макет в собственную папку шаблонов - лучший способ решить эту проблему:
Я не уверен, почему вы не можете получить доступ к настройкам плагина. Создает временное расширение:
скопировать файл
typo3conf\ext\YOUR_template_EXT\Resources\Private\Fluid\Content\Layouts\HeaderContentFooter.html
добавить это в Typoe Script
plugin.tx_yourtemplateext_template {
view {
templateRootPaths.0 = EXT:yourtemplateext_template/Resources/Private/Templates/
partialRootPaths.0 = EXT:yourtemplateext_template/Resources/Private/Partials/
layoutRootPaths.0 = EXT:yourtemplateext_template/Resources/Private/Layouts/
}
}
добавить что-то вроде этого в HeaderContentFooter.html
{namespace css=DEVKEY\extensionname\ViewHelpers}
и сделать класс Css
{css:getclass()}
Создайте Viewhelper в расширении name\Classes\ViewHelpers\getclass.php
с чем-то вроде этого внутри:
namespace DEVKEY\extensionname\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'] ;
}
}
Полностью не проверено, но должно быть