在后端模型列中显示缩略图

时间:2018-06-01 16:03:29

标签: laravel octobercms octobercms-backend

我在Laravel中使用OctoberCMS

我使用文件上传/媒体查找程序附加图像。我正在尝试将缩略图添加到后端模型列。

我尝试过这些指南:
https://octobercms.com/forum/post/how-to-display-pictures-in-backend-lists
https://octobercms.com/docs/database/attachments

文件上传

file upload

列缩略图

photo

模型

我的模特Catalog.php

public $attachOne = [
    'photo' => 'System\Models\File'
];

columns.yamal

字段photo设置为部分并添加路径

在部分_photo.htm我有

<?php echo $this->photo->getThumb(100, 100, ['mode' => 'crop']); ?>

错误

我得到Error: Call to a member function getThumb() on null

如果我在部分中使用<img src="" />,它会在列中显示一个空图像,但我不知道将什么是php作为src。

2 个答案:

答案 0 :(得分:1)

根据列小工具使用部分it will pass $record variable corresponding to that row时, [不要使用$this ]

表示该行$record将指向当前记录,因此您可以使用$record

  

您的_photo.htm应该是这样的

<img src="<?php echo $record->photo->getThumb(100, 100, ['mode' => 'crop']); ?>" />
<!-- OR -->
<img src="<?= $record->photo->getThumb(100, 100, ['mode' => 'crop']) ?>" />

更新

如果您使用media finder,则无法在文件上使用getThumb,因为它只是path for that file ,因此无法resize该图片使用getThumb [只能使用relational attachments (attachMany, attachone etc...) ]

虽然您可以使用它来显示小图像

<img height="64" width="64" src="<?= 'https://october-plaza.com/storage/app/media/' 
. $model->photo ?>"` />
  

你可以添加 height =&#34; 64&#34; width =&#34; 64&#34; 将图像显示为缩略图(但它将是使用属性缩小的完整图像)。

如有疑问请发表评论

答案 1 :(得分:0)

您可以使用columns.yaml文件中的OCTOBER IMAGE RESIZER插件来完成此操作

在后端列表中的使用

图像调整器也可以用于拇指类型的后端列表,例如

image:
 label: Image
 type: thumb
 sortable: false

此功能适用于:

  • AttachMany(使用第一张图片)文档
  • 附加一个文档
  • Mediafinder文档

您还可以选择传递宽度(默认值为50),高度(默认值为50)和以下选项:

image:
  label: Image
  type: thumb
  sortable: false
  width: 75
  height: 100
  options:
     mode: crop