基于piBased的插件(FLUID) - TYPO3的图像问题6.2

时间:2014-12-09 10:14:59

标签: image plugins typo3 typo3-6.2.x pibase

我仍在我更新的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中已更改。请设置module [name] = module_name,而不是在TCA中使用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-&gt; loadExtensionTables#123 // TYPO3 \ CMS \ Core \ Utility \ ExtensionManagementUtility :: loadExtTables#925 // TYPO3 \ CMS \ Core \ Cache \ Frontend \ PhpFrontend-&gt; requireOnce# 1729 // TYPO3 \ CMS \ Core \ Cache \ Backend \ SimpleFileBackend-&gt; 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);
  }
}

1 个答案:

答案 0 :(得分: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 CLass中:

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');
  ...
}

现在它有效!也许有人可以解释一下......谢谢