SilverStripe 3多个UploadField问题

时间:2012-10-19 15:11:43

标签: php silverstripe

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

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

图像正在上传到assets目录,数据库中文件的路径是正确的。我现在有点亏。

以下是我的Page模型中的代码

<?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;
}   

}

2 个答案:

答案 0 :(得分:2)

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

应该看起来像

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

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

答案 1 :(得分:0)

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

转到:

  

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

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

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

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

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