Я создал пользовательскую функцию, к которой я могу получить доступ из файла volt. Функция работает нормально, но я не могу отправить переменную в функцию. Он отправляет переменную в виде текста вместо ее значения.
Функция ветки:
$volt->getCompiler()->addFunction('getusergroup', function ($user) {
return \Models\User::getUserGroup($user);
});
Функция в модели:
public static function getUserGroup($user) {
return UserGroup::find(array('conditions' => 'user_id = ' . $user));
}
Строки в Twig для вызова функции:
{% for member in getusergroup(staff.id) %}
{{ member.Group.name }}
{% endfor %}
Ошибка, которую я получаю:
'Ошибка сканирования перед 'staff->id' при синтаксическом анализе: SELECT [Models\UserGroup].* FROM [Models\UserGroup] WHERE user_id = $staff->id (78)' (длина = 131)
Как видите, $staff->id
не целое число, а текст.
Как мне отправить фактический идентификатор в функцию?
Кстати, я использую twig в сочетании с Phalcon и следую инструкциям в этой статье: http://phalcontip.com/discussion/60/extending-volt-functions