Проблем с множество полета за качване на SilverStripe 3

Имам проблем с множество полета за качване в SilverStripe CMS.

Когато качвате куп изображения, изглежда, че те се качват и визуализират правилно. Въпреки това при запазване на страницата и презареждане и преглед на предния край няма изображение. Там, където трябва да бъде предварителният преглед, е само празно изображение и няма URL изход в предния край.

Изображението се качва в директорията с активи и пътят до файла в базата данни е правилен. Сега съм малко на загуба.

Ето кода от моя модел на страница

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

}

person Mark Williams    schedule 19.10.2012    source източник


Отговори (2)


Имате ли проблеми само с предната част на сайта? Можете ли да покажете кода, който използвате във файла на шаблона за показване на изображенията?

трябва да изглежда така

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

Не можете да използвате $Image.whatever, няма да работи.

person Ryan M    schedule 19.10.2012
comment
Не е само в предния край, но и в CMS. - person Mark Williams; 21.10.2012
comment
опитвайки се да премахнете $this-›Images() от функцията addFieldsToTab(). - person Ryan M; 22.10.2012
comment
Имах същия проблем, премахването на $this-›Images() го разреши. Не съм сигурен откъде съм копирал/поставил това... - person nnevala; 04.02.2013

Ако приемем, че използвате темата по подразбиране „проста“, създали сте страница от тип „Страница“ в задната част (CMS), качили сте изображения и сте публикували страница.

Go to :

Основна папка -> теми -> прости -> шаблони -> Оформление -> отворен файл "Page.ss"

Тип (решение, предоставено от "Ryan M" по-горе)

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

След

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

Отидете до интерфейса, като посочите URL адреса на страницата си в адресната лента на браузъра.

person azeem    schedule 26.10.2012