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
Post a Comment