我需要获得实际的“常规记录存储页面ID”。我找到了下面的snipplet,但即使在页面上设置了storagePid,变量也是空的。
$config = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
var_dump($config['persistence']['storagePid']);
任何帮助将不胜感激
答案 0 :(得分:10)
我不太确定,你想要得到什么。您提供的代码段可以毫无问题地为您的扩展程序设置常量中的storagePid,与setup.txt
中的此代码相同:
plugin.tx_yourext {
persistence {
storagePid = {$plugin.tx_yourext.persistence.storagePid}
}
}
如果您在使用提供的代码段获取storagePid时遇到问题,也可以修改您的setup.txt
并确保该值也会传播到settings
范围内:
plugin.tx_yourext {
persistence {
storagePid = {$plugin.tx_yourext.persistence.storagePid}
}
settings {
storagePid = {$plugin.tx_yourext.persistence.storagePid}
}
}
然后在您的控制器中,您可以使用更简单的代码来捕获它:
$myStoragePid = $this->settings['storagePid'];
如果它对您不起作用,则表示您没有在Constants
中为YourExt设置正确的值和/或没有清除BE中的缓存。