我创建了一个带有属性" external_url"的域模型。在TCA。但在域模型中,我写了#34; externalURL"而不是" externalUrl"。现在我想纠正这个。但总之,当我改变这个时,我得到了一个异常"#1251315967:无法确定子对象类型。"
我在安装工具(typo3缓存和操作码缓存)中清除了所有缓存,并清除了数据库中的所有cf_*
表。我还手动删除了typo3temp/Cache/
目录。但错误并没有消失。
我必须做什么让这个重命名变得有效!?在我的发展环境中,它立即起作用......
修改:更多信息:
我在域模型中的注释:
/**
* @var string
*/
protected $externalUrl = '';
我的TCA:
'external_url' => array(
'exclude' => 0,
'label' => 'LLL:EXT:my_ext/Resources/Private/Language/locallang_db.xlf:tx_myext_domain_model_model.external_url',
'config' => array(
'type' => 'input',
'max' => 1024,
'size' => 50,
'softref' => 'typolink',
'eval' => 'trim',
'wizards' => array(
'link' => array(
'icon' => 'link_popup.gif',
'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
'module' => array(
'name' => 'wizard_element_browser',
'urlParameters' => array(
'mode' => 'wizard'
)
),
'title' => 'LLL:EXT:cms/locallang_ttc.xlf:header_link_formlabel',
'type' => 'popup'
),
'_PADDING' => 2
)
)
),
如果需要sql列定义:
external_url varchar(1024) DEFAULT '' NOT NULL,
答案 0 :(得分:1)
您是否已停用/激活扩展程序?
你清除了/typo3temp/autoload/
吗?
一些信息存储在缓存之外,使用内置按钮清除缓存。
也可能涉及加载顺序很重要(并且最后加载的最后一个激活的扩展名)的缺失依赖项。一定要有干净的依赖!
答案 1 :(得分:0)
您很可能在一个或多个1)属性名称中出现拼写错误或类似错误,或2)模型中缺少/不正确的@var
注释。当Reflection框架无法通过分析它具有的注释来确定特定属性的类型时,就会出现错误。
答案 2 :(得分:0)
您是否有可能引用旧属性的数据? 数据库表是否有效?