mein Modell settings.phpWie kann ich die Startseite und das Komponentenbild vom Backend aus ändern? Wie bekomme ich HTML-Tag-Attribute in PHP?
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
comp.php meine Komponente
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>
I Manag e eine zufällige Verbindung zu erhalten, aber das Bild wird nicht
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 :(
Danke :) Ich werde es später versuchen. Übrigens, wissen Sie, wie man eine eindeutige ID für Komponenten setzt? Wenn ich die Komponente_1 dupliziere, können beide Komponenten (Komponente_1 und eine andere Komponente_1) normal auf derselben Seite arbeiten. – BEX
Ich habe einige Änderungen an meinem Beitrag vorgenommen. Könnten Sie bitte einen Blick darauf werfen? Danke :) – BEX
Eigentlich kann man die Avatar ID nicht auf diese Weise setzen. Aber überprüfen Sie den Quellcode der Seite, wenn Sie den richtigen Dateinamen des Bildes erhalten haben, aber der Pfad kein vollständiger Pfad ist, müssen Sie '| media' zum src in Ihrem Frontend hinzufügen. Wenn Sie mir einen Screenshot des Quellcodes der Seite zur Verfügung stellen können, kann ich Ihnen mehr verstehen und helfen. –