[英]TYPO3 how to get nested private members
这是有问题的数据结构:
TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (2 items)
0 => Plistvendor\Plistkey\Domain\Model\Partnerprototypepersistent entity (uid=16, pid=50)
1 => Plistvendor\Plistkey\Domain\Model\Partnerprototypepersistent entity (uid=17, pid=50)
name => 'Egal' (4 chars)
nachname => 'Nachname' (8 chars)
position => 'position2' (9 chars)
adresse => 'adresse 123 lorem ipsum' (24 chars)
land => 'Deutschland' (11 chars)
bild => TYPO3\CMS\Extbase\Domain\Model\FileReferenceprototypepersistent entity (uid=98, pid=50)
skype => 'skypename' (9 chars)
telefon => '90853490583094' (14 chars)
email => 'mail@email.de' (13 chars)
division => TYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (1 items)
language => TYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorageprototypeobject (1 items)
000000004dac554500000000513665c6 => Plistvendor\Plistkey\Domain\Model\Languageprototypepersistent entity (uid=6, pid=50)
name => 'en' (2 chars)
uid => 6 (integer)
_localizedUid => 6 (integer)modified
_languageUid => 1 (integer)modified
_versionedUid => 6 (integer)modified
pid => 50 (integer)
uid => 17 (integer)
_localizedUid => 17 (integer)modified
_languageUid => -1 (integer)modified
_versionedUid => 17 (integer)modified
pid => 50 (integer)
现在我的问题是如何在Fluid或PHP中访问_languageUid
?
为了进一步参考,这是我的控制器代码。 我知道这很糟糕,因此我愿意接受不会花费太多时间的任何建议。
public function listAction() {
$lang = $_GET['L'];
$partners = $this->partnerRepository->GetAll();
foreach ($partners as $key => $value) {
foreach ($value->getlanguage() as $key => $lval) {
echo $lval;
}
}
$this->view->assignMultiple(array('partners' => $partners));
}
在这个控制器中,我可以执行echo $lval->getUid();
它将返回语言的Uid不过,我需要存取权限的_languageUid
/ sys_language_uid
。
您需要为此属性使用公共getter方法,否则您将无法获得它。 以https://github.com/TYPO3-extensions/news/blob/master/Classes/Domain/Model/News.php#L1158-L1161为例
public function getSysLanguageUid()
{
return $this->_languageUid;
}
在PHP中,您可以使用_getProperty('_languageUid')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.