Zum Inhalt springen

Repository in eigenem ViewHelper?

Erstellt am 25. Juni 2018 · 1 Antwort · letzte Antwort am 27. Juni 2018

Tags: ViewHelper, Frage

Tosta ·

TYPO3 8.7: Ich möchte in einem eigenen ViewHelper auf ein Repository zugreifen. Wenn ich findAll für das Repository aufrufe, bekomme ich keine Daten. Im Controller derselben Extension funktioniert der Zugriff mit findAll und diesem Repository aber. Kann es sein, dass Repositories in ViewHelper nicht oder anders benutzt werden müssen? Hier ist mein Code für den ViewHelper:

<?php

namespace Ven\MyExt\ViewHelpers;

class MyOwnViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper {

  /**
  * @return String
  */
  public function render() {
    $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\ObjectManager::class);
    $myDataRepository = $objectManager->get(\Ven\MyExt\Domain\Repository\MyDataRepository::class);
    $result = $myDataRepository->findAll();
    if ($result->count <= 0) {
      return '<span>Keine Daten</span>';
    }
    return '<span>Viele Daten</span>';
  }
}

Ich freu mich, wenn mir jemand weiterhelfen kann! Vielen Dank schon mal!

— Tosta

off-topic: Mein Gott, ist das furchtbar, dass Text-Formatierung und -Auszeichnung (z.B. mit [​code]) in diesem Forum seit Jahren nicht mehr funktionieren.

freeatweb ·

Hallo,

du musst die Repository in deinem Viewhelper indizieren.

In etwa so:

/**
* deineRepository
*
* @var \TYPO3\extName\Domain\Repository\deineRepository
* @inject
*/
protected $deineRepository = NULL;

Lg