我正在尝试使用TYPO3 extbase存储库方法开发自定义扩展 . 我想在我的扩展中获取tt_content“pi_flexform”字段值 .
为实现这一点,我遵循了持久性方法 .
在typoscript配置文件中,我添加了这样的内容;
plugin.tx_myext{
persistence {
classes {
\TYPO3\MyExt\Domain\Model\Myext {
mapping {
tableName = tt_content
recordType = \TYPO3\MyExt\Domain\Model\Myext
columns {
pi_flexform.mapOnProperty = piflexform
}
}
}
}
}
}
在我的模型文件中,我实现了以下代码;
/**
* @var string
*/
protected $piflexform;
/**
* @return the $piflexform
*/
public function getPiflexform()
{
return $this->piflexform;
}
/**
* @param string $piflexform
*/
public function setPiflexform($piflexform)
{
$this->piflexform = $piflexform;
}
还有在存储库文件中;
$queryStmt = "SELECT pi_flexform FROM tt_content WHERE CType = 'dce_dce10' AND pid = 1 AND sys_language_uid = 0";
$query = $this->createQuery();
$query->statement( $queryStmt );
return $query->execute();
但它返回一个空对象 .
TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (empty)
0 => TYPO3\VstRssfeed\Domain\Model\Vstrssfeedprototypepersistent entity (uid=0, pid=0)
piflexform => NULL
uid => 0 (integer)
_localizedUid => 0 (integer)modified
_languageUid => 0 (integer)modified
_versionedUid => 0 (integer)modified
pid => 0 (integer)
你能帮我解决这个问题吗?提前致谢 .
1 回答
以下是您的存储库应如何显示的示例:
myext/Classes/Domain/Repository/ContentRepository.php
以下是控制器应如何完成工作的示例:
myext/Classes/Controller/SomeController.php