Прежде всего, вы уверены, что эта функция возвращает правильный путь к файлу? Я буду считать, что да.
Итак, при организации вещей вы пытаетесь использовать пользовательскую функцию внутри среды Twig< /а>.
Для этого вам необходимо зарегистрировать свою функцию в CMS расширяющей ветки.
ШАГ 1
Создайте метод registerMarkupTags()
, который возвращает массив пользовательских функций, назначенных «именем функции» в классе регистрации плагина.
Ваш плагин/Plugin.php
public function registerMarkupTags() {
return [
'functions' => [
'getAvatarImage' => [ $this, 'getAvatarImageInternal' ]
]
];
}
ШАГ 2
Мы ссылаемся на пользовательскую функцию на $this
, поэтому добавьте метод в тот же класс.
Ваш плагин/Plugin.php
public function registerMarkupTags() {
return [
'functions' => [
'getAvatarImage' => [ $this, 'getAvatarImageInternal' ]
]
];
}
/**
* Example of registering a Twig function.
*
* @return string
*/
public function getAvatarImageInternal() {
// Your function body goes here.
$path = 'http://app.localhost/storage/image.jpg';
return $path;
}
ШАГ 3
Теперь пользовательская функция зарегистрирована, и вы можете использовать ее внутри среды Twig.
<img src="{{ getAvatarImage() }}" />
person
Alexandre Thebaldi
schedule
19.07.2016
echo
при вызове функции и попробуйте:<img id="avatar-image" alt="Jason's Image" src="{{ echo __SELF__.getAvatarImage(avatar_id); }}" />
- person Dhara Parmar   schedule 19.07.2016avatar_id
(в default.htm)? - person BeetleJuice   schedule 19.07.2016