TYPO3 6.2:"Could not find a suitable type converter for "字符串“”更新后异常

TYPO3 6.2: "Could not find a suitable type converter for "String" " exeption after update

TYPO3 是从一个非常旧的版本更新到 TYPO3 6.2。大多数事情现在都在工作,但我有一个自己的书面扩展,它给我以下错误:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1297759968: Exception while property mapping at property path "":Could not find a suitable type converter for "String" because no such class or interface exists. | TYPO3\CMS\Extbase\Property\Exception thrown in file /srv/vhosts.d/typo3_src-6.2.9/typo3/sysext/extbase/Classes/Property/PropertyMapper.php in line 106.

我在其中一个生成 link:

的控制器中有一个列表方法
<f:link.action action="show" arguments="{id : course.id}"> {course.name}</f:link.action>

这个列表方法有效,但是当我想在网站上打开这个生成的 link 时,我从上面得到了错误。

我删除了 showAction 方法中的所有内容,并将模板更改为没有特殊内容的基本输出。该方法看起来像这样:

 /**
 * action show
 *
 * @param String Course-Id
 * @return void
 */
public function showAction($id){

}

但是错误依然存在。我完全不知道是什么问题了。如果有人有不同的看法并且有一些想法,我可以尝试找出问题的真正原因,那就太好了。

我认为需要

 /**
  * action show
  *
  * @param string $id Course-Id
  * @return void
  */
 public function showAction($id){

 }

string 小写和参数 $id 也必须指定

我想分享我的解决方法:

第一个问题是不知道有没有新的删除核心缓存的方法。我发现是因为 Jost 在我的回答中用 "clear the cache from install tool" 发表评论。所以我进入 Typo3 的后端编辑用户并在 OptionsTSconfig 字段下编辑我自己的用户。我在那里添加了一行 options.clearCache.system = 1。现在我可以通过Typo3 后端的flash 符号清除系统内核。

之后我尝试更改 @param string 中的 @param String。我删除了核心缓存,然后我得到了一个不同的错误。我发现这个新错误表明只有 arraysobjects 是操作方法中允许的参数(参见:http://wiki.typo3.org/Exception/CMS/1253175643)。 所以我删除了参数并按照解释错误的网站上的说明进行操作。所以我的新方法如下所示:

/**
* action show
*
* @return void
*/
public function showAction(){
    if ($this->request->hasArgument('id')) {
        $id= $this->request->getArgument('id');
    }
    // Do stuff with the id
}

现在可以了:)