2016-07-20 32 views
2

mein Modell settings.phpWie verwende ich Modelleinstellungen, um das Bild meiner Komponente und Seite einmal zu ändern? (Octobercms)

class Settings extends Model 
{ 
    public $implement = ['System.Behaviors.SettingsModel']; 
    // A unique code 
    public $settingsCode = 'dca_plugins_settings'; 
    // Reference to field configuration 
    public $settingsFields = 'fields.yaml'; 
    /** 
    * @var array Relations 
    */ 
    public $attachOne = [ 'avatar' => ['System\Models\File'] ]; 
} 

mein Fields.yaml

fields: 
    id: 
    label: ID 
    disabled: true 

    avatar: 
    label: Avatar 
    type: fileupload 
    mode: image 
    imageHeight: 150 
    imageWidth: 250 

meine Komponente comp.php

public $avatar_id = 1; 

public function getAvatarImage($avatar_id) 
{ 
    $var = \System\Models\File::select('disk_name')->where('attachment_id', $avatar_id)->first();   
    if (count($var) == 0) return ""; 

    return $var->path; 
} 

function setMyAvatarId($id) 
{ 
    $this->avatar_id = $id; 
} 

mein html default.htm

{% set avatar_id= __SELF__.property("avatar_id") %} 

{% if avatar_id is not empty %} 
{% do __SELF__.setMyAvatarId(avatar_id) %} 
{% endif %} 

<img id="avatar-image" alt="Virtual agent avatar" src="{{ __SELF__.getavatarImage(avatar_id) }}"> 
<script> 
var avatar_id = {{ avatar_id }}; 
</script> 

Ich schaffe eine zufällige Verbindung für meine Komponente zu erhalten, aber das Bild wird nicht I manage to get a random link but the image is not shown

backend - model settings

Backend gezeigt - Modelleinstellungen

Wer weiß, wie Seiteneigenschaften definieren? Wie verknüpfe ich meine Seite mit den Modelleinstellungen?

Wie kann ich es funktionieren lassen? pls mir jemand helfen ~~ Ich bin so verloren :(

Antwort