Я пытаюсь написать функцию, которая отображает изображения с дочерних страниц на странице владельца.SilverStripe 3: Image Объект в функции контроллера
Поскольку у SilverStripe нет функциональности на шаблонах, я решил, что лучше всего обработать все это в контроллере.
Есть некоторые условные утверждения, которые требуются, которые могут быть выполнены только в php.
controller.php
public function LatestWork() {
$works = WorkPage::get();
$i = 1;
$html = "";
foreach ($works as $work) {
//Build the IMage Object so we can add it to the Work Object
$ImageObj = File::get()->byID($work->FeaturedImageID);
if ($this->is_odd($i)) {
$html .= "<div class='row'>";
$span = "span8";
} else {
$span = "span4";
}
$html .= "<div class = '$span'>" . $ImageObj->croppedImage(200,100) . "</div>";
if ($this->is_even($i) || $i == $works->Count()) {
$html .= "</div>";
}
$i++;
}
return $html;
}
Когда его обработке в представлении дивы и пролеты есть, но изображение не является. В коде есть больше условий, но это всего лишь базовая версия. Вместо этого отображается «Image_Cached».
Как я могу отобразить изображение?
При возврате $ ImageObj -> croppedImage (200 100) без html или чего-нибудь еще, например: return $ ImageObj-> croppedImage (200 100). "" он отображает изображение, но как только вы добавляете что-либо, оно отображает Image_cache – user742736