我正在尝试在拼写错误3页面中使用页面内容图像。我上传了2张图片,而在DB中只存储了文件名。
好的 - 我发现上传的图片是直观的! 但现在我要如何显示图像?!
我可以对上传目录网址进行hrdcode并从数据库中添加文件名,但它真的很丑陋且不灵活。
我尝试使用<f:image />
,但没有机会,因为它期待资源路径?!
好的 - 我找到了资源目录,但我无法从cms中的标准错误3页面上传图像。
<f:image />
对我来说非常有用,因为我需要显示不同大小的图像并裁剪它们。这一切都在ViewHelper中实现,但我无法告诉ViewHelper在上传目录中获取我的图像。
请帮助我如何使用页面上的图像。用于在页面contrent上传图像的菜单在后端非常有用,但我无法在前端显示结果。
答案 0 :(得分:1)
尝试使用以下内容:<f:image src="uploads/tx_extensionname/{object.image}" alt="foo" title="bar" maxHeight="50" />
答案 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
方法),了解格式化图片代码的代码。