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