Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在模板的TYPO3扩展中找不到我的PHP类。错误代码1407060572_Php_Templates_Typo3 - Fatal编程技术网

我在模板的TYPO3扩展中找不到我的PHP类。错误代码1407060572

我在模板的TYPO3扩展中找不到我的PHP类。错误代码1407060572,php,templates,typo3,Php,Templates,Typo3,我为一个TYPO3站点(版本10.4.15)编写了一个扩展,在那里您必须使用ViewHelper类访问数据库。ViewHelper类的路径为 websitename/public/typo3conf/ext/sitepackage/Classes/ViewHelpers/GetRecordViewHelper.php <?php namespace mwatschong\sitepackage\ViewHelpers; use TYPO3Fluid\Fluid

我为一个TYPO3站点(版本10.4.15)编写了一个扩展,在那里您必须使用ViewHelper类访问数据库。ViewHelper类的路径为

websitename/public/typo3conf/ext/sitepackage/Classes/ViewHelpers/GetRecordViewHelper.php

    <?php

    namespace mwatschong\sitepackage\ViewHelpers;


    use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
    use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
    use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;

    use TYPO3\CMS\Core\Utility\GeneralUtility;
    use TYPO3\CMS\Core\Database\ConnectionPool;

    class GetRecordViewHelper extends AbstractViewHelper
    {
      use CompileWithRenderStatic;

      public function initializeArguments()
      {
        $this->registerArgument('land', 'string','the land which is rendered', true);
      }
      public static function renderStatic(
         array $arguments,
         \Closure $renderChildrenClosure,
         RenderingContextInterface $renderingContext
      ) }
      $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_patentsites_content');
      $resultSet = $connection->query('SELECT text FROM tx_patentsites_content WHERE land = $arguments['land']')->execute();
    return $resultSet
      }
    }
并调用我的ViewHelper作为

但是我得到了错误代码1407060572,这意味着fluidparser找不到我的类

我希望这是讨论这个问题的足够信息

编辑:

我在composer.json中添加了一个autoload子句,未做任何更改,但在typo3文档、StoreInventory和SJROffer示例中的示例插件的composer.json中是默认值

        "autoload": {
    "psr-4": {
        "mwatschong\\sitepackage\\": "Classes/"
    }
编辑:

我首先尝试从 在autoload_psr4.php中没有对我的包类的引用。我试图手动将它们添加到此文件(
'mwatschong\\sitepackage\\\\\\'=>数组($baseDir./public/typo3conf/ext/sitepackage/Classes')
),但遗憾的是没有任何区别

编辑:

我从零开始做这件事,但仍然没有运气。我有权根据博客上的答案检查拼写。这是新的composer.json

{
    "name": "mvision/patentsites",
    "type": "typo3-cms-extension",
    "description": "Create Patentsites from Database",
    "license": ["GPL-2.0-or-later"],
    "keywords": ["TYPO3 CMS"],
    "require": {
        "typo3/cms-core": "^10.4",
        "typo3/cms-rte-ckeditor": "^10.4",
        "typo3/cms-fluid-styled-content": "^10.4"
    },
    "autoload": {
        "psr-4": {
            "Mvision\\Patentsites\\": "Classes/"
        }
    }
}
编辑

我执行
composer dumpautoload
并检查我的自动加载\u psr4。没有提到我的包裹

编辑

我运行
composer req mvision/patentsites-vvv
,它输出最小稳定性不匹配。但是在我的ext_emconf.php中,状态设置为稳定,extensionmanager也显示了它

编辑

我在另一个typo3/composer线程中完成了这项工作,我知道我可以毫无问题地加载我的类。我认为问题在于错误的composer/repo配置

谢谢你的帮助

有一篇由赫尔穆特·哈默尔撰写的博客文章,告诉我们

psr-4的PHP名称空间前缀必须只有两部分,第一部分必须是大写的供应商名称,第二部分必须是大写的扩展名


1) 您是否将扩展的静态TS包括在主TS中?2) 你清除后端的所有缓存了吗?@biesior谢谢你的回答!我已经尝试清除缓存了,但它不起作用,但是你说的“TS”是什么意思,我不确定你指的是TSconfig还是主模板或其他什么。转到你的主打字脚本模板(后端,左窗格,
WEB>Template>Info/modify>Edit whole…
进入
Includes
选项卡,确保在
中包含static(来自扩展)
selector您的ext包含在选择器的左侧。啊,谢谢。是的,我的扩展名位于所选项目下。您是否从BE转储自动加载的类?
Admin tools>Maintenance>Rebuild PHP自动加载信息
?我从最新编辑中描述的类型3开始使用sitepackagebuilder从头开始尝试。仍然不走运
{
    "name": "mvision/patentsites",
    "type": "typo3-cms-extension",
    "description": "Create Patentsites from Database",
    "license": ["GPL-2.0-or-later"],
    "keywords": ["TYPO3 CMS"],
    "require": {
        "typo3/cms-core": "^10.4",
        "typo3/cms-rte-ckeditor": "^10.4",
        "typo3/cms-fluid-styled-content": "^10.4"
    },
    "autoload": {
        "psr-4": {
            "Mvision\\Patentsites\\": "Classes/"
        }
    }
}