TYPO3 Extbase storagePid

时间:2012-05-21 16:28:06

标签: typo3 extbase

我需要获得实际的“常规记录存储页面ID”。我找到了下面的snipplet,但即使在页面上设置了storagePid,变量也是空的。

$config = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
var_dump($config['persistence']['storagePid']);

任何帮助将不胜感激

1 个答案:

答案 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中的缓存。

顺便说一下:也许如果你更具体,我可以发出更好的答案。

相关问题