【问题标题】:Set sys_language_uid in an extbase command controller在 extbase 命令控制器中设置 sys_language_uid
【发布时间】:2016-06-08 14:54:38
【问题描述】:

我有一个由调度程序运行的命令控制器(导入器),它应该这样保存数据:

foreach ($items as $item){
  // store it
  $entry = $this->objectManager->get('STUBR\Importer\Domain\Model\Item');
  $entry->setTitle($item['Title']);
  $entry->setData(json_encode($item));
  // manually set the storage page (defined in scheduler form)
  $entry->setPid($itemStoragePid); // works
  // manually set the language (defined in scheduler form)
  // EDIT
  // $entry->setSysLanguageUid = -1; // had typo
  $entry->set_languageUid(-1); // works
  // END EDIT
  $this->itemRepository->add($entry);
}

虽然模型中没有设置 pid 和 sys_language_uid,但 setPid 的行为符合预期,但 setSysLanguageUid 没有。

我知道 extbase (https://forge.typo3.org/issues/45873) 中的 setSysLanguageUid() 有什么不对或不对的地方,尽管我无法完全理解这个问题。

如何手动存储到 sys_language_uid 列?

PS:我试过Extbase Model: setSysLanguageUid not working,但可能我错过了什么

【问题讨论】:

    标签: typo3 extbase typo3-7.6.x typo3-7.x


    【解决方案1】:

    已经解决了,上面写错了

    @Chi 的解决方案https://stackoverflow.com/a/33798615/160968

    /**
     * languageUid
     * @var int
     */
    protected $languageUid;
    
    /**
     * @param int $languageUid
     * @return void
     */
    public function setLanguageUid($languageUid) {
        $this->languageUid = $languageUid;
    }
    
    /**
     * @return int
     */
    public function getLanguageUid() {
        return $this->languageUid;
    }
    

    然后$entry->setLanguageUid(-1);

    【讨论】:

    • 我会说是setLanguageUid,遵守惯例;)
    • 啊,我以为下划线有一些隐藏的功能!所以你的意思是保留 getter/setter,但按惯例命名?
    • 是的。对于那些认为这个解决方案不起作用的人..它适用于设置sys_language_uid,但由于数据映射器,它可能不会像这样持续到数据库中。
    • 这不再适合我。我专门向 extbase 询问给定语言的对象,$query->equals('sysLanguageUid',5),但 extbase 返回默认语言。关于如何使用它的任何更新?
    • 您确实在$query->equals() 周围使用$query->matching(),对吧?只是问,因为我刚刚学会了。我在我的站点中搜索了代码,发现它在 TYPO3 7 安装中。您的“不再”是指 8.x 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多