Ich bekomme das Repository nicht.
Ich habe vor langer Zeit einen Artikel (Mapping von Tabellen - So klappts) geschrieben, und wollte das jetzt wieder ausprobieren.
Bekomme aber nur die Fehlermeldung:
Uncaught TYPO3 Exception
Argument 2 passed to Pluswerk\Simpleblog\Controller\BlogController::injectRepositories() must be an instance of Pluswerk\Simpleblog\Domain\Repository\PageRepository, none given, called in C:\xampp\htdocs\downloads\typo3_src-7.6.14\typo3\sysext\extbase\Classes\Object\Container\Container.php on line 234
TypeError thrown in file
C:\xampp\htdocs\typo3site\typo3conf\ext\simpleblog\Classes\Controller\BlogController.php in line 24.
Warum??
Meine setup.txt (nur der Teil fürs mapping):
plugin.tx_simpleblog {
persistence {
storagePid = 1
classes {
Pluswerk\Simpleblog\Domain\Model\Page {
mapping {
tableName = pages
}
}
}
}
}
Das Respository:
<?php
namespace Pluswerk\Simpleblog\Domain\Repository;
/**
* The repository for Pages *
* @package Pluwerk\Simpleblog\Domain\Repository
*/
class PageRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
}
und das Model:
<?php
namespace Pluswerk\Simpleblog\Domain\Model;
/**
* Class Page
* @package Pluswerk\Simpleblog\Domain\Model
*/
class Page extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
/**
* title
*
* @var string
*/
protected $title;
/**
* Returns the title
*
* @return string $title
*/
public function getTitle() {
return $this->title;
}
}
im Controller:
<?php
namespace Pluswerk\Simpleblog\Controller;
use Pluswerk\Simpleblog\Domain\Model\Blog;
use Pluswerk\Simpleblog\Domain\Repository\BlogRepository;
use Pluswerk\Simpleblog\Domain\Repository\PageRepository;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
class BlogController extends ActionController {
/**
* @var BlogRepository
*/
protected $blogRepository;
/**
* @var PageRepository
*/
protected $pageRepository;
/**
* @param BlogRepository $blogRepository
* @param PageRepository $pageRepository
*/
public function injectRepositories(BlogRepository $blogRepository, PageRepository $pageRepository) { //<--Zeile 24
$this->blogRepository = $blogRepository;
$this->pageRepository = $pageRepository;
}
/**
* @param string $search
*/
public function listAction($search = '') {
$this->view->assign('blogs', $this->blogRepository->findSeachForm($search));
$this->view->assign('search', $search);
}
}
Ich habe alle Dateien mehrfach kontrolliert, alle Caches gelöscht, die Extension mal deinstalliert und neu installiert - nix hat geholfen.
Was mache ich falsch??