首页 文章

TYPO3:读取tt_address并打印它,按sys_categories排序,并在自己的extbase扩展中使用流体

提问于
浏览
1

我想阅读tt_address的内容,并在我自己的extbase / fluid扩展中打印它们,这些内容按sys_categories排序 .

我在两个表中都映射了两个表,为两者创建了模型,控制器和存储库,因此我能够完整地打印这两个表 .

但是,我只需要打印与某个类别匹配的地址(取决于页面),但我无法使其工作 .

根据一些研究,应该可以加载它们并在流体模板中访问它们

<f:for each="{cats}" as="cat">
      <f:for each="{cat.items}" as="adr">{adr}</f:for>
    </f:for>

但是,如果我通过调试选项显示它们,那么没有附加到cat数组的地址 - 难怪没有显示 .

我为两个表创建了TCAs,其中只有M:M相关的列定义(tt_address的类别和sys_categories的项目),我在模型中包含以下内容:

/**
     * Addresses
     *
     * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Vendor\Myext\Domain\Model\Address>
     */
     protected $addresses;

     /**
      * Adds a Address
      *
      * @param \Vendor\Myext\Domain\Model\Address $address
      * @return void
      */
      public function addAddress(\Vendor\Myext\Address\Domain\Model\Address $address) {
       $this->addresses->attach($address);
      }

    /**
     * Removes a Address
     *
     * @param \Vendor\Myext\Domain\Model\Address $addressToRemove The Address to be removed
     * @return void
     */
     public function removeAddress(\Vendor\Myext\Domain\Model\Address $addressToRemove) {
      $this->addresses->detach($addressToRemove);
     }

    /**
     * Returns the Addresses
     *
     * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Vendor\Myext\Domain\Model\Address> $addresses
     */
     public function getAddresses() {
      return $this->addresses;
     }

    /**
     * Sets the Addresses
     *
     * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Vendor\Myext\Domain\Model\Address> $addresses
     * @return void
     */
     public function setAddresses(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $addresses) {
      $this->addresses = $addresses;
     }

当然,在地址模型中反过来 .

错在哪里,我错过了什么?甚至可以在映射表上使用M:M关系吗?我需要一个完整的TCA吗?

请帮助我一周以来拼命地尝试这个 . 每个答案都将非常感激 .

提前致谢!

PS:我当然想使用“sys_category_record_mm” - 关系表 .

1 回答

  • 2

    您是否使用 makeCategorizable() 向tt_address表添加了类别?

    这将在tt_address上为您添加正确的TCA,因此您不必担心MM raltaions . 然后,您还可以根据某些参数获取所有需要的记录 . 在您的情况下,您的页面的类别 . 您还可以创建类别集合以推送到您的视图 .

    所有内容都在这里解释:https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Categories/Index.html

相关问题