Hallo,
ich programmiere an einer Erweiterung, die hochgeladene Bilder aus der Media-Extension im Frontend darstellt. Die Bilder sollen nach Systemkategorien und Suchbegriff filterbar sein. Dafür habe ich mir mit dem Extension Builder eine Erweiterung konfiguriert und einen ActionController angelegt:
class ItemsController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
/**
* action list
*
* @return void
*/
public function listAction() {
// Get HTTP parameters
$httpParameters = $this->request->getArguments();
// Add CSS resource
$this->response->addAdditionalHeaderData('<link rel="stylesheet" href="' . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->request->getControllerExtensionKey()) . 'Resources/Public/css/style.css" />');
// Get the Content Repository for sys_category.
$categoryRepository = \TYPO3\CMS\Vidi\Domain\Repository\ContentRepositoryFactory::getInstance('sys_category');
$categories = $categoryRepository->findAll();
$this->view->assign('categories', $categories);
// Get the Content Repository for sys_file.
$fileRepository = \TYPO3\CMS\Vidi\Domain\Repository\ContentRepositoryFactory::getInstance('sys_file');
$matcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Vidi\Persistence\Matcher', array(), 'sys_file');
$matcher->equals('storage', '2');
if( isset($httpParameters['categoryUid']) && $httpParameters['categoryUid'] != "") {
$matcher->equals('metadata.categories', $httpParameters['categoryUid']);
}
if( isset($httpParameters['term']) && $httpParameters['term'] != "" ) {
$matcher->likes('metadata.title', $httpParameters['term']);
}
$items = $fileRepository->findBy($matcher);
$this->view->assign('items', $items);
}
}
Das funktioniert soweit auch gut und ich kann mit der Zeile
matcher->equals('metadata.categories', $httpParameters['categoryUid']);
nach den in den Metadaten zugewiesen Kategorien filtern.
Mein Problem ist folgende Zeile:
$matcher->likes('metadata.title', $httpParameters['term']);
Sobald ich mit dem Matcher nach dem Titel in den Metadaten suche, bekomme ich eine Exception. #1385554481: Does the field really exist? No TCA entry found for field "metadata"
Hier nochmal der komplette Traceback:
Bild: img5.fotos-hochladen.net/…/typo3exceptionjx4ylrn63p.png
Bei der Programmierung habe ich mich an diesen Wikieintrag gehalten:
http://docs.typo3.org/typo3cms/extensions/vidi/
Mit wundert, dass metadata.categories funktioniert, aber metadata.title nicht. Übersehe ich noch was?
Vielen Dank!