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