首页 文章

TYPO3 Extbase storagePid

提问于
浏览
4

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

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

任何帮助,将不胜感激

1 回答

  • 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中的缓存 .

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

相关问题