1

我在 SilverStripe CMS 中遇到了多个 UploadFields 的问题。

上传一堆图像时,它们似乎可以正确上传和预览。但是在保存页面并重新加载和查看前端时,没有图像。预览应该在哪里只是一个空白图像,前端没有 URL 输出。

图片正在上传到 assets 目录,并且数据库中文件的路径是正确的。我现在有点不知所措。

这是我的页面模型中的代码

<?php
class Page extends SiteTree {

public static $db = array(
);  

public static $many_many = array(
    'Images' => 'Image'
);  

    public function getCMSFields() {
    $fields = parent::getCMSFields();

    $fields->addFieldsToTab('Root.Main', new UploadField('Images','Images',$this->Images()), 'Content');

    return $fields;
}   

}
4

2 回答 2

2

它只是您遇到问题的网站的前端吗?您能否在模板文件中显示用于显示图像的代码?

它应该看起来像

<% loop $Images %>
    $setSize(150,150) // whatever you want to use here
<% end_loop %>

您不能使用 $Image.whatever,它不起作用。

于 2012-10-19T16:40:09.817 回答
0

假设您使用默认主题“简单”,在后端(CMS)创建了“页面”类型的页面,上传了图像并发布了页面。

去 :

根文件夹 -> 主题 -> 简单 -> 模板 -> 布局 -> 打开文件“Page.ss”

类型(上述“Ryan M”提供的解决方案)

<% loop $Images %>
    $setSize(150,150)
<% end_loop %>

<div class="content">$Content</div>

通过在浏览器的地址栏中提供您的页面 URL 转到前端。

于 2012-10-26T04:46:07.760 回答