How can I get the category object in Fluid of Typo3 Content Element Pictures? -


after long time of google, can categories of fal objects in typo3 7.6 fluid. can return string. want object {data}.

what do: typoscript

lib.category = content lib.category {     table=sys_category     wrap=|     select {         pidinlist = root,0,1          recursive = 99         max=10         selectfields=sys_category.title,sys_category.uid         join = sys_category_record_mm on sys_category_record_mm.uid_local = sys_category.uid join sys_file_metadata on sys_file_metadata.uid = sys_category_record_mm.uid_foreign join sys_file_reference on sys_file_reference.uid_local = sys_file_metadata.file         where.field = fuid         where.wrap = sys_file_reference.uid=|     }     renderobj=coa     renderobj {         1=text         1.field = uid         2=text         2.field = title     } } 

in fluid have:

<f:for each="{files}" as="file">     <p>     - {file.uid}<br />     - <f:cobject typoscriptobjectpath="lib.category" data="{fuid:file.uid}" />     </p> </f:for> 

on webpage prints:

  • 88
  • 3black7small

  • 89

  • 2blue7big

  • 90

  • 1red

but think object in fluid better, can use f:for each etc. don't know how can return it.

can me?

looks task tricky. file object in {files} array of type \typo3\cms\core\resource\filereference properties uid, title or description passed through original file object of type \typo3\cms\core\resource\file. filereference implemented model not file, can not extend it.

the other way see create viewhelper categories native sql query , categoryrepository automatically map result category model. that:

<?php namespace vendor\extension\viewhelpers; /**  *  * @version $id$  * @copyright dimitri lavrenuek <lavrenuek.de>  * @license http://www.gnu.org/licenses/gpl.html gnu general public license, version 3 or later  */ class getfilecategoriesviewhelper extends \typo3\cms\fluid\core\viewhelper\abstractviewhelper {      /**      * @var \typo3\cms\extbase\domain\repository\categoryrepository      * @inject      */     protected $categoryrepository;      /**      * @param int $uid       * @return array      */     public function render ($uid) {         $query = $this->categoryrepository->createquery();         $sql = "select sys_category.* sys_category             inner join sys_category_record_mm on sys_category_record_mm.uid_local = sys_category.uid , sys_category_record_mm.fieldname = 'categories' , sys_category_record_mm.tablenames = 'sys_file_metadata'             inner join sys_file_metadata on  sys_category_record_mm.uid_foreign = sys_file_metadata.uid             sys_file_metadata.file = '" . (int)$uid . "'             , sys_category.deleted = 0             order sys_category_record_mm.sorting_foreign asc";         return $query->statement($sql)->execute();     } } 

i have not tested actual code, sql query, should work. hope know how include viewhelpers in fluid template, if not provide example.


Comments