현재 스케줄러 태스크가 있지만 (동일한 확장자의) 내 extbase 저장소에서 함수를 사용하려고합니다.스케줄러 태스크에서 저장소 기능 실행
"PHP의 치명적인 오류 : Extop의 컨트롤러 나 컨트롤러를 포함시키려는 시도가 있더라도 관계없이 비 멤버 객체에 add() 멤버 함수 호출"이 계속 발생합니다.
내 SampleTask.php : 내 ext_localconf.php에
제대로namespace TYPO3\ExtName\Task;
class SampleTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
public function execute() {
$controller = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('\TYPO3\ExtName\Controller\SampleController');
$new = new \TYPO3\ExtName\Domain\Model\Sample;
$new->setName('test');
$controller->createAction($new);
}
}
그리고 정의
누군가가 내 저장소 (또는 컨트롤러)에 액세스 할 수있는 방법을 설명해 -extbase- 내 SampleTask.php에서 수 .
TYPO3 사용하기 6.2.
감사합니다.
안녕 다니엘, 당신 주셔서 감사합니다 당신의 대답! 내 스케줄러 작업에서 더 이상 오류가 발생하지 않지만 저장소에 아무 것도 추가 할 수 없습니다. 나는 Pid가 문제라고 생각하고 아무 효과가없는 configurationManager로 설정하려고 시도했다. 문제없이 내 컨트롤러의 저장소에 항목을 추가 할 수 있습니다. 또한 플러그인을 컨텐츠 요소에 추가 할 때 '레코드 저장 페이지'에 PID를 설정해야합니다. Pid는 typoscript 구성에서 설정됩니다. – Daan
가능성이 가장 높습니다. 추가 된 객체를 유지하려면 persitenceManager를 수동으로 호출해야합니다. 나는 그것을 내 대답에 덧붙였다. – Daniel
persitenceManager가 추가되었습니다! 내가 지금 실행중인 유일한 문제는 pid가 2 (?)로 설정되어 있다는 것입니다. – Daan