[Frage] Im List-Template auf ein anderes Repository zugreifen TYPO3-Version: 6.1.1

  • jochla jochla
    Jedi-Ritter
    0 x
    128 Beiträge
    0 Hilfreiche Beiträge
    24. 11. 2013, 18:13

    Hallo,

    als Anfänger (entwickle gerade meine erste Extension) stehe ich vor dem Problem, dass ich in einem List-Template auf die List-Funktion für ein anderes Objekt zugreifen und die die Daten über dieses Template ausgeben möchte.

    Auf 'statuses' möchte ich zugreifen:

    1. public function listAction() {
    2. $statuses = $this->statusRepository->findAll();
    3. $this->view->assign('statuses', $statuses);
    4. }

    Das ist die List-Funktion in dem Cotroller, der mit dem Template verbunden ist:

    1. public function listAction() {
    2. $cruises = $this->cruiseRepository->findAll();
    3. $this->view->assign('cruises', $cruises);
    4. }

    Template-Code für die Ausgabe von 'statuses' (blödes Wort, aber vom Extension Builder so erstellt):

    1. <f:for each="{statuses}" as="status" iteration="statusIterator">
    2. {f:if(condition:statusIterator.isFirst, then: '{status.statusCode} = {status.statusName}', else: ' | {status.statusCode} = {status.statusName}')}
    3. </f:for>

    Wie geht das? Was muss ich dafür tun?


  • 1
  • aemka aemka
    Jedi-Ratsmitglied
    0 x
    562 Beiträge
    9 Hilfreiche Beiträge
    24. 11. 2013, 20:33

    Kopier den Code der einen listAction in die andere und dazu noch die respoitory Variable in den anderen Conrtoller und fertig.

    http://www.aemka.de/

  • jochla jochla
    Jedi-Ritter
    0 x
    128 Beiträge
    0 Hilfreiche Beiträge
    25. 11. 2013, 12:21

    Danke, perfekt! Manchmal kann's ja sooooo einfach sein... ;-)

    Das ganze sieht jetzt in dem controller, der mit dem Template verbunden ist so aus:

    1. /**
    2.  * cruiseRepository
    3.  *
    4.  * @var \VENDOR\Extension\Domain\Repository\CruiseRepository
    5.  * @inject
    6.  */
    7. protected $cruiseRepository;
    8.  
    9. /**
    10.  * statusRepository
    11.  *
    12.  * @var \VENDOR\Extension\Domain\Repository\StatusRepository
    13.  * @inject
    14.  */
    15. protected $statusRepository;
    16.  
    17. /**
    18.  * action list cruises
    19.  *
    20.  * @return void
    21. */
    22. public function listAction() {
    23. $cruises = $this->cruiseRepository->findAll();
    24. $this->view->assign('cruises', $cruises);
    25. $statuses = $this->statusRepository->findAll();
    26. $this->view->assign('statuses', $statuses);
    27. }

  • jochla jochla
    Jedi-Ritter
    0 x
    128 Beiträge
    0 Hilfreiche Beiträge
    25. 11. 2013, 13:35

    Hi aemka, ich will nicht unverschämt erscheinen, aber nachdem das so gut geklappt hat: kannst du mir vielleicht auch bei diesen Problem helfen? Wäre toll, danke.

    http://www.typo3.net/forum/thematik/zeige/thema/79146/
    Etwas ausführlicher habe ich das Problem hier geschildert: http://forum.typo3.org/index.php/t/200491/.

  • 1