TYPO3 Extbase zu machen - Failing json über typnumTYPO3 Extbase - Failing json über typnum
Weiter machen zur Liste/Bearbeiten/Neu/entfernen Aktion (die Arbeit) Ich habe versucht, die Ausgabe in json zu machen. Aber keine Werte rendern. Wenn ich eine einfache tun ...
$data = array('value'=>'001');
return json_encode($data);
Es zurückkehrt ...
{"value":"001"}
Was bin ich?
Edit: mit der Verwendung und verweist auf demselben Repository seine Arbeits:
JSONController.php
<?php
namespace Vendor\Lei\Controller;
use Vendor\Lei\Domain\Model\Lei;
/**
* JSONController
*/
class JSONController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
/**
* leiRepository
*
* @var \Vendor\Lei\Domain\Repository\LeiRepository
* @inject
*/
protected $leiRepository;
/**
* @var string
*/
protected $defaultViewObjectName = 'TYPO3\CMS\Extbase\Mvc\View\JsonView';
/**
* action jsonRequest
*
* @return void
*/
public function jsonRequestAction() {
//$data = array('value'=>'001');
//return json_encode($data);
$this->view->setVariablesToRender(array('records'));
$this->view->assign('records', $this->leiRepository->jsonRequest());
}
}
LeiRepository.php
<?php
namespace Vendor\Lei\Domain\Repository;
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
class LeiRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
...
public function jsonRequest() {
$query = $this->createQuery();
$result = $query->setLimit(100)->execute();
return $result;
}
}
Gibt Ihre 'jsonReturn()' Methode irgendetwas zurück? Und ich denke 'setVariablesToRender()' erwartet kein Array, aber ich bin mir jetzt nicht sicher. Ich habe einen Artikel über die JSON-Ansicht hier geschrieben: https://usetypo3.com/json-view.html – Daniel
Ich habe es angeschaut :-) Wie kann ich überprüfen, ob jsonReturn() irgendetwas zurückgibt? Ich habe versucht, dump (var_dump ($ result);) es in der JsonRepository.php und schaute auf die typnum ... aber nichts da. Ich folgte mehr oder weniger dem Tutorial des Simple Blog Beispiel und mein List/Edit/New Controller sieht so aus (mit Limit und Suche) https://github.com/maddy2101/simpleblog/blob/master/Classes/Controller/BlogController .php. Alles funktioniert. Bezüglich der setVariablesToRender() habe ich einfach andere Beispiele wie https://www.snip2code.com/Snippet/282519/TYPO3--Extbase--Simple-JsonView-usage verfolgt. –
Ich spielte ein wenig mehr herum und erhalte den folgenden Fehler: Die Klassendefinition für den Namen "Hersteller \ Lei \ Domain \ Model \ Json" konnte nicht gefunden werden. Dies könnte durch eine falsche Schreibweise des Klassennamens in der Klassendefinition verursacht werden. –