Может кто-нибудь сказать мне, что я делаю неправильно?
Я хочу создать галерею с silvestripe 4.4
Я создал модель и шаблон, и я могу получать изображения в цикле, но могне изменяйте размер изображения для создания миниатюр для изображения
<?php
namespace SilverStripe\Lessons;
use SilverStripe\Forms\DateField;
use SilverStripe\Forms\TextareaField;
use SilverStripe\Forms\TextField;
use SilverStripe\Assets\Image;
use SilverStripe\Assets\File;
use SilverStripe\AssetAdmin\Forms\UploadField;
use Page;
class GalleryPage extends Page
{
private static $table_name = 'GalleryPage';
private static $can_be_root = false;
private static $db = [
'Date' => 'Date',
'Author' => 'Varchar',
];
private static $has_one = [
'PhotoCover' => Image::class,
];
private static $many_many = [
'Gallery' => Image::class,
];
private static $owns = [
'PhotoCover',
'Gallery',
];
public function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Main', DateField::create('Date','Date of article'), 'Content');
$fields->addFieldToTab(
'Root.Main',
$PhotoCover = UploadField::create('PhotoCover'), 'Author');
$fields->addFieldToTab('Root.Main', TextField::create('Author','Author of article'),'Content');
$PhotoCover->setFolderName('PhotoCovers');
$fields->addFieldToTab(
'Root.Gallery',
$Gallery = UploadField::create('Gallery')->setDescription('Selektuj Photos')
);
$Gallery->setFolderName('Gallery');
return $fields;
}
}
, и вот мой шаблон GalleryPage.ss
<% if $Gallery %>
<% loop $Gallery %>
<a class="thumb" href="$URL" data-lightgallery="group-item">
<img src="$URL" alt="" width="371" height="276"/>
</a>
<% end_loop %>
<% end_if %>
Это единственный способ получить изображения через цикл.
<img class="my-custom-class" src="$Gallery.ScaleWidth(750).URL" alt="" width="$Gallery.ScaleWidth(750).Width" height="$Gallery.ScaleWidth(750).Height" />
or
<% with $Gallery.ScaleWidth(750) %>
<img class="my-custom-class" src="$URL" alt="" width="$Width" height="$Height" />
<% end_with %>
Все до сих пор безуспешно пытались попробовать только ...
Что я здесь не так делаю?