我在更新的 TYPO3 v6.2.7 - 安装中仍然使用 piBased-Plugins。从 6.2. 开始,我的小型前端插件出现了一些问题。
我的插件只显示标题、链接和图像。如果后端没有选择图像,我的插件不会在前端显示 HTML 输出:
<f:if condition="{imgTeaser}">
<f:image src="{imgTeaser}" alt="" />
</f:if>
但现在我得到一个错误。如果我上传图片一切都很好。但如果没有图像,我会在后端和前端收到这些错误警告。
如何更新我的 piBASED-PLUGIN (FLEXFORM)?图像或图像路径一定有问题。我不是 PHP 程序员,所以我不知道.. ;)
“提供的文件对象类型 TYPO3\CMS\Core\Resource\Folder 必须是 File 或 FileReference。”
谢谢你的帮助!史蒂夫
--
贬值日志:
|在 TCA 中注册向导的方式在 6.2 中发生了变化。请在您的 TCA 中设置 module[name]=module_name 而不是使用 script=path/to/sctipt.php。以这种方式注册向导的可能性将在 2 个版本中删除。|
前端错误:
Supplied file object type TYPO3\CMS\Core\Resource\Folder must be File or FileReference.
和
09-12-14 10:56:
|TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA() - 从 6.1 开始,将在两个版本之后删除 - require(typo3/sysext/cms/tslib/index_ts.php),index.php#28 // TYPO3\ CMS\Core\Core\Bootstrap->loadExtensionTables#123 // TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadExtTables#925 // TYPO3\CMS\Core\Cache\Frontend\PhpFrontend->requireOnce#1729 // TYPO3\ CMS\Core\Cache\Backend\SimpleFileBackend->requireOnce#72 // require_once(typo3temp/Cache/Code/cache_core/ext_tables_8daea175f152090331d107ba834640863df1679e.php),typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php#364 // TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA#3183 // TYPO3\CMS\Core\Utility\GeneralUtility::logDeprecatedFunction#4167 (typo3/sysext/core/Classes/Utility/GeneralUtility.php#4165)|
我使用 flexform 将我的图像从插件上传到 /uploads-Folder,如下所示:
<image>
<TCEforms>
<label>LLL:EXT:my_modules/pi3/locallang_flex.xml:label.imgTeaser</label>
<config>
<type>group</type>
<internal_type>file</internal_type>
<allowed>jpg,png,gif</allowed>
<max_size>500000</max_size>
<uploadfolder>uploads/tx_mymodules/</uploadfolder>
<size>1</size>
<maxitems>1</maxitems>
<minitems>0</minitems>
<show_thumbs>1</show_thumbs>
</config>
</TCEforms>
</image>
PHP 类:
class tx_mymodules_pi3 extends tslib_pibase {
...
var $imagePath = 'uploads/tx_mymodules/';
...
public function main($content, array $conf) {
$image = $this-> imagePath . $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'image', 'basicsheet');
...
$this->view->assign('imgTeaser', $image);
...
return ($content);
}
}