繁体   English   中英

TYPO3如何获取嵌套的私人成员

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM