这是我的页面
page.htm(标记)-我设法获得了图像名称,但无法获得图像源
<img id="avatar-image" alt="Jason's Image" src="{{ avatar_id }}"/>
{{ file_name }} // working
{{ avatar_id }} // not working
page.htm(代码)
function onStart()
{
$var = 'System'Models'File::where("field", "=", "avatar")->first();
$this["file_name"] = $var->file_name;
$this["avatar_id"] = $var->path;
}
我的型号
型号.php
class Settings extends Model
{
public $implement = ['System.Behaviors.SettingsModel'];
public $settingsCode = 'dca_plugins_settings';
public $settingsFields = 'fields.yaml';
public $attachOne = [ 'avatar' => ['System'Models'File'] ];
}
field.yaml
fields:
id:
label: ID
disabled: true
name:
label: Image
avatar:
label: Avatar
type: fileupload
mode: image
imageHeight: 150
imageWidth: 250
有人能告诉我如何获取路径(图片来源)吗?
遵循文档:
getPath()方法返回上传的公共文件的完整URL。下面的代码将打印如下内容…mysite.com/uploads/public/path/to/avatar.jpg
在你的情况下,应该是这样的:
$setting = Settings::first(); // Gets some settings model.
$avatar = $setting->avatar;
$avatarPath = null;
// Check if setting has an attached avatar.
if ($avatar) {
$avatarPath = $avatar->getPath(); // Uploaded public file.
}
并通过PHP Section注入到Twig环境中。
$this['avatar_path'] = $avatarPath;