0

我在更新的 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);
  }
}
4

1 回答 1

0

我的 FLUID 模板错误。但是不知道为什么?!

曾是:

<f:if condition="{imgTeaser}">
  <f:image src="{imgTeaser}" alt="" />
</f:if>

现在:

<f:if condition="{imgTeaser}">
  <f:image src="uploads/tx_mymodules/{imgTeaser}" alt="" />
</f:if>

在我的 PHP 类中:

var $imagePath = 'uploads/tx_mymodules/';

public function main($content, array $conf) {
  ...
  $image = $this-> imagePath . $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'image', 'basicsheet');
  ...
}

改成:

public function main($content, array $conf) {
  ...
  $image = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'image', 'basicsheet');
  ...
}

现在它起作用了!也许有人可以解释一下... Thx

于 2014-12-09T20:09:34.320 回答