逗号列表到数组:
不幸的是,正如我在 Extbase 4.7 中看到的,仍然没有用于迭代逗号分隔字符串的 ViewHelper。您有两个选择:编写自定义 ViewHelper 或保持您使用的方式。
提示:为了避免传递额外的参数(特别是当你有许多逗号分隔的字段和/或使用许多Partials
来呈现视图时)我正在向我的模型添加一个公共字段。如果在 TCA 中没有表示,它将被视为瞬态,即:
/**
* @var array
*/
public $imagesArray;
然后在分配之前将其填充到控制器中,以便我可以像{project.imagesArray}
在视图中一样访问它:
public function showAction(Tx_Myext_Domain_Model_Project $project) {
$project->imagesArray = explode(',', $project->getImage());
$this->view->assign('project', $project);
}
看法
<f:for each="{project.imagesArray}" as="image">
<f:image src="uploads/tx_myext/{image}" width="200" height="200m" alt="" />
</f:for>
很可能您正在使用非常相似的方法...
图像大小调整:
最简单的是...检查。ImageMagick
散列调整大小图像的名称并将其默认存储在 temp 文件夹中,因此如果在代码预览中您看到如下路径:typo3temp/pics/cd27baa408.jpg
而不是uploads/tx_myext/photo123.jpg
表示它是使用 IM 转换的。是的,图像ViewHelper
使用 IM。
您甚至可以通过在 viewhelper 的 phpdoc 中提供值来添加执行简单的计算width="200m"
:width="200c"
请参阅 imgResource.width 以获取可能的选项