2013-11-10 2 views
1

Я пытаюсь установить в storagePid в качестве Extbase плагин с помощью levelfield вроде этого:Extbase StoragePid с levelfield

plugin.tx_myext.persistence.storagePid = TEXT 
plugin.tx_myext.persistence.storagePid.data= levelfield: -1, storage_pid, slide 

Использование storage_pid текущей страницы не проблема:

plugin.tx_myext.persistence.storagePid = TEXT 
plugin.tx_myext.persistence.storagePid.data= page:storage_pid 

Но Я хочу использовать levelfield для улучшения удобства использования. Таким образом, вы бы только должны установить storage_pid в корневой странице и включают в себя настройку TypoScript по умолчанию для расширения, который использует levelfield, в шаблоне корня ...

ли кто-нибудь есть ключ, почему levelfield является здесь не работает?

ответ

1

Не все поля могут использоваться по умолчанию с полем уровня. Поля, которые могут быть использованы на пустом месте определены в $TYPO3_CONF_VARS["FE"]["addRootLineFields"]

Чтобы добавить еще одно поле просто добавить

$GLOBALS["TYPO3_CONF_VARS"]["FE"]["addRootLineFields"] .= ",storage_pid"; 

typo3conf/ext_tables.php в или в ext_tables.php вашего расширения.

+0

К сожалению, 'storage_pid' уже является частью корневой линии по умолчанию для проверки по умолчанию https://github.com/TYPO3/TYPO3.CMS/blob/0d69f740086120ffee7409001f7090520ab9734c/typo3/sysext/core/Classes/Utility/RootlineUtility.php#L96. Это можно легко протестировать с помощью 'levefield: -1, storage_pid, slider' только в шаблоне страницы. Это работает без каких-либо проблем, в отличие от свойства storagePid в extbase. – witrin