gpt4 book ai didi

TYPO3 教程扩展, Controller 不存在

转载 作者:行者123 更新时间:2023-12-04 16:51:07 27 4
gpt4 key购买 nike

我正在尝试开始使用 TYPO3 扩展并关注 this教程以了解基础知识。

在后端一切正常,但在前端我收到一个错误:

Oops, an error occurred! Code: 20170209104827c3b58d58 - {"exception":"exception 'ReflectionException' with message 'Class Tx_Inventory_Controller_InventoryController does not exist'



我的文件与教程中的文件完全相同。我不知道是什么原因造成的。我想我在命名空间上犯了一些愚蠢的错误,但它们似乎都是正确的。

Controller 类可以在下面找到并且位于 type3conf/ext/inventory/Classes/Controller/
<?php
namespace \MyVendor\Inventory\Controller;
use \TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
use \TYPO3\CMS\Core\Utility\GeneralUtility;
use \MyVendor\Inventory\Domain\Model\Repository\ProductRepository;

class InventoryController extends ActionController {
public function listAction() {
$productRepository = GeneralUtility::makeInstance(ProductRepository::class)
$products = $productRepository->findAll();
$this->view->assign('products', $products);
}
}
?>

最佳答案

在 Composer 安装的 TYPO3 V9(此处:9.4)中开发新扩展时,必须将自动加载部分添加到中央根 composer.json。找到了 here (German) .按照 OPs mentioned tutorial 中的步骤操作导致核心异常:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1278450972:
Class MyVendor\StoreInventory\Controller\StoreInventoryController does not exist.
Reflection failed.

只要扩展不是通过 composer 安装的,例如因为它是新开发的,composer 就找不到合适的 composer.json扩展目录中的文件。因此 TYPO3 在新扩展中找不到任何类 Classes目录。要解决此问题,必须将自动加载配置添加到根 composer.json .只需将以下几行放入 composer.json在安装基目录中:
{
"repositories": [
{ "type": "composer", "url": "https://composer.typo3.org/" }
],
...
"autoload": {
"psr-4": {
"MyVendor\\StoreInventory\\": "public/typo3conf/ext/store_inventory/Classes/"
}
}
}

然后重新生成自动加载配置:
composer dumpautoload

您可能还必须在后端清除缓存。

关于TYPO3 教程扩展, Controller 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42133409/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com