Typo3 Fluid Image ViewHelper和uploads目录

时间:2011-12-14 12:53:24

标签: typo3 fluid typo3-flow viewhelper

我正在尝试在拼写错误3页面中使用页面内容图像。我上传了2张图片,而在DB中只存储了文件名。

好的 - 我发现上传的图片是直观的! 但现在我要如何显示图像?!

我可以对上传目录网址进行hrdcode并从数据库中添加文件名,但它真的很丑陋且不灵活。

我尝试使用<f:image />,但没有机会,因为它期待资源路径?! 好的 - 我找到了资源目录,但我无法从cms中的标准错误3页面上传图像。

<f:image />对我来说非常有用,因为我需要显示不同大小的图像并裁剪它们。这一切都在ViewHelper中实现,但我无法告诉ViewHelper在上传目录中获取我的图像。

请帮助我如何使用页面上的图像。用于在页面contrent上传图像的菜单在后端非常有用,但我无法在前端显示结果。

2 个答案:

答案 0 :(得分:1)

尝试使用以下内容:<f:image src="uploads/tx_extensionname/{object.image}" alt="foo" title="bar" maxHeight="50" />

See the Fluid Wiki Page

答案 1 :(得分:1)

如果上传目录在TCA columns config (uploadfolder)中设置,您可以写your own viewHelper并获取上传目录,例如。

/**
 * @param Tx_(extkey)_Domain_Model_(entity class) $entity 
 * @return string rendered image tags
 */
public function render($entity) {

    $html = '';

    $GLOBALS['TSFE']->includeTCA();
    $uploadfolder = $GLOBALS['TCA']['tx_(extkey)_domain_model_(entity class)']['columns']['(column_name)']['config']['uploadfolder'];

    $images = explode(',', $entity->getImages());

    foreach ($images as $image) {
        $html .= $this->getImageTag($uploadfolder, $image, $width);
    }

    return $html;
}

查看Tx_Fluid_ViewHelpers_ImageViewHelper类(尤其是render方法),了解格式化图片代码的代码。