Hallo Dirk,

das ist ein guter Hinweis. Ja, die Kategorien und die Customers haben jeweils ein Repository. Ich habe nun folgendes versucht (zunächst nur mit den Customers):


------------------------
class ProjectsController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

    /**
     * projectsRepository
     *
     * @var \TYPO3\yhproject\Domain\Repository\ProjectsRepository
     * @inject
     */
    protected $projectsRepository;
    protected $customersRepository;

    /*
* @param Tx_Yhproject_Domain_Repository_customersRepository $customersRepository
    * @return void
    */
public function injectCustomersRepository(Tx_Yhproject_Domain_Repository_customersRepository $customersRepository) {
        $this->customersRepository = $customersRepository;
    }


    /**
     * action list
     *
     * @return void
     */
    public function listAction() {
        $projectss = $this->projectsRepository->findAll();
        $this->view->assign('projectss', $projectss);
$this->view->assign('customers', $this->customersRepository->findAll());
    }

}

------------------------

Ich habe viele Hinweise gelesen, dass es so gehen müsste, aber irgendwie mache ich doch etwas falsch.
Ich bekomme in der letzten Zeile den Fehler:
PHP Fatal error: Call to a member function findAll() on a non-object in ProjectsController.php on line 65

In meiner CustomersRepository.php steht folgendes, falls das relevant ist:

------------------------
class CustomersRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {

}
------------------------

Hast du vielleicht noch einen Hinweis, was ich falsch mache?

(Nächstes Mal werde ich meine Anfrage in die korrekte Gruppe posten! Danke für den Hinweis dazu!!)


Viele Grüße
Norman

Dirk Wenzel <mailto:wen...@webfox03.de>
11. Mai 2013 20:47
Hi Norman,


Hast Du ein Repository?
$categories = $this->categoriesRepository->findAll();
$this->view->assign('categories', $categories);
Es gibt auch view->assignMultiple(...) Siehe API

BTW: Du solltest solche Fragen eher in der dev-Liste stellen (englisch)

Dirk
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Norman Sand <mailto:norman.s...@googlemail.com>
11. Mai 2013 18:56
Hallo zusammen,

ich habe eine sehr einfache Erweiterung auf Extbase/Fluid gebaut und habe das Ziel, eine Listenansicht zu generieren, die wie üblich die Items enthält, aber auch eine Dropbox über der eigentlichen Liste mit allen verhandenen Kategorien, jedoch weiß ich nicht, wie ich es anstelle, dass die Kategorien separat ausgegeben werden.

Dies ist mein Model mit zwei Relationen:

http://dl.dropbox.com/u/684256/ext01.png

Das funktioniert auch soweit sehr schön:

http://dl.dropbox.com/u/684256/ext02.png

Ich kann die Relationen den Objekten hinzufügen und im Backend pflegen wie es sein sollte.

Nun möchte ich eine Listenansicht der Objekte erhalten, was soweit auch funktioniert. Ich spreche über


---------------------
public function listAction() {
        $projectss = $this->projectsRepository->findAll();
        $this->view->assign('projectss', $projectss);
    }
---------------------


eine Listview mit folgendem Template an (vereinfacht):


---------------------
<f:for each="{projectss}" as="projects"  iteration="objIterator">

            {projects.title}

<ul>

<f:for each="{projects.customers}" as="a">
<li>{a.title}</li>
</f:for>

</ul>
</f:for>
---------------------

Hier erhalte ich erfolgreich eine Ausgabe mit den Projekten und den jeweils dazugehörigen Kategorien.

Mein Ziel ist es jedoch, darüber hinaus quasi über der Listenansicht eine Liste mit allen verfügbaren Kategorien zu erhalten. Also quasi sowas:

---------------------
<ul>
<f:for each="{customerss}" as="customers">

<li>{customers.title}</li>

</f:for>
</ul>



<f:for each="{projectss}" as="projects">

            {projects.title}

<ul>

<f:for each="{projects.customers}" as="a">
<li>{a.title}</li>
</f:for>

</ul>
</f:for>
---------------------


Nur geht das natürlich nicht, weil der Aufruf der View die entsprechenden Datensätze so nicht beinhaltet, sondern nur die projects. Ich vermute, dass das eigentlich eine einfach Anforderung ist, aber im Moment sehe ich wohl den Wald vor lauter Bäumen nicht. Wie gehe ich in einem solchen Fall vor? (Es sind wie im ersten Link oben zu sehen zwei Relationen, die beide hier abgebildet werden sollten.)

Ich bin für jede Idee oder Lösungsansatz dankbar!

Viele Grüße
Norman



_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an