TYPO3 Extbase渲染JSON - 未能通过typnumTYPO3 Extbase - 未能通过typnum
下一页渲染JSON列出/编辑/新/删除操作我试图呈现在JSON输出(这工作)。但没有值呈现。如果我做一个简单的...
$data = array('value'=>'001');
return json_encode($data);
它返回......
{"value":"001"}
我缺少什么?
编辑:随着使用和引用同一仓库的工作:如果你注入并使用JsonRepository
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;
}
}
你的'jsonReturn()'方法返回任何东西吗?我想'setVariablesToRender()'不期望一个数组,但我现在还不确定。我在这里写了一篇关于JSON视图的文章:https://usetypo3.com/json-view.html – Daniel
我正在看它:-)我如何检查jsonReturn()是否返回任何内容?我试图转储(var_dump($结果);)它在JsonRepository.php中,并看着typnum ...但没有。我或多或少地遵循简单博客示例的教程,我的列表/编辑/新控制器看起来像它(有限制和搜索)https://github.com/maddy2101/simpleblog/blob/master/Classes/Controller/BlogController .php。所有的工作。关于setVariablesToRender()我只是遵循其他例子,如https://www.snip2code.com/Snippet/282519/TYPO3--Extbase--Simple-JsonView-usage。 –
我玩了一会儿,得到以下错误:无法找到名称“Vendor \ Lei \ Domain \ Model \ Json”的类定义。这可能是由类定义中的类名错误拼写引起的。 –