将变量从伏特发送到自定义函数

2024-01-21

我创建了一个可以从 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 [模型\用户组].* 来自 [模型\用户组] 其中 user_id = $staff->id (78)' (长度=131)

正如你所看到的,而不是$staff->id作为一个整数,它是文本。

如何将实际 ID 发送到函数?

顺便说一句,我将 twig 与 Phalcon 结合使用,并按照本文中的说明进行操作:http://phalcontip.com/discussion/60/extending-volt-functions http://phalcontip.com/discussion/60/extending-volt-functions


如果你倾倒$user在你的方法内部public static function getUserGroup($user),您将收到这个$员工->id,但你实际上想要类似的东西42.

为了避免这种情况,请像这样注册 Volt 函数:

$volt->getCompiler()->addFunction('getusergroup', function ($resolvedArgs, $exprArgs) {
    return 'Models\User::getUserGroup(' . $resolvedArgs . ')';
});

更多信息:扩展 Volt 功能 https://docs.phalconphp.com/en/latest/reference/volt.html#id1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将变量从伏特发送到自定义函数 的相关文章

  • 使用Twig生成JSON

    我想要一个返回简单 JSON 对象的 URL 我正在尝试使用 Twig 生成 JSON 对象 urls for child in page root child url if not loop last endif endfor 不过 回车
  • IF a == true OR b == true 语句

    我找不到让 TWIG 解释以下条件语句的方法 if a true or b true do stuff endif 我错过了什么还是不可能的 检查这个树枝参考 https github com vito chyrp wiki Twig Re
  • 根据字段值更改奏鸣曲管理包中的行颜色

    我有奏鸣曲管理包 但无法弄清楚如何根据表单模板中的字段值更改样式 例如字段难度 难度值越高 记录行的颜色应该越红 我怎样才能做到这一点 我花了几个小时来理解奏鸣曲中的树枝模板 但是我读这个模板越多 我就越感到困惑 模板之间存在块调用 并且不
  • Symfony 2 根据用户代理属性加载不同的模板

    是否有可能 以及如何 确定用户是否正在使用移动设备 在这种情况下强制 symfony 2 加载不同的模板 并回退默认的 html 模板 id 喜欢做的是 在不修改任何控制器的情况下加载不同的模板 UPDATE 真正的问题不是检测部分 它实际
  • OpenCart .twig 文件未显示更改

    我一直在尝试更改product catalog twig 文件 以删除一些不必要的按钮 例如 添加到愿望清单 和 比较产品 选项 这些按钮对于我尝试创建的商店来说毫无用处 在主题编辑器上 我已从 twig 文件中删除了两个按钮 但更改并未显
  • 如何使用 Twig 的 Intl 扩展提高百分比格式的小数精度?

    我有一个 4 位小数 小数位数为 4 最大值为 0 9999 最小值为 0 0000 我正在使用 Twig 及其国际扩展 https twig extensions readthedocs io en latest intl html 当我
  • 使用 TWIG Markdown 转义 HTML 代码

    我正在开发一个博客评论包 我想让用户使用 Markdown 发布一些代码 我正在使用 symfony2 TWIG 和KNP Markdown 捆绑包 https github com KnpLabs KnpMarkdownBundle用于解
  • Symfony 2 - 删除表单和 CSRF 令牌

    我有一个来自数据库的条目列表 我希望在每一行的末尾都有一个 删除按钮 这样用户就不必先转到编辑 显示页面来删除条目 我尝试使用 csrf 令牌创建一个隐藏的输入字段 如下所示 return this gt createFormBuilder
  • 如何在 TWIG 中使用转储?

    我简单地添加模板 index html twig dump product 我有错误 The function dump does not exist in AcmeStoreBundle Default index html twig a
  • symfony 2 twig 访问数组 javascript 索引

    是否可以从中获取对象twig数组知道索引是ajavascript多变的 我的控制器 public function showContactModalAction iduser profil em this gt getDoctrine gt
  • 注入树枝变量 symfony2

    我正在使用 symfony 我想注入一个从数据库中获取的变量 到目前为止 我注入的变量如下 twig globals key value 我认为创建一个侦听器并由侦听器注入它可能是对的吗 是的 您可以使用侦听器自动将动态变量注入所有树枝模板
  • Symfony2 - 获取 TWIG 模板中的当前 URL 或路由?

    我的路线是 admin path admin defaults controller CatalogWebBundle Admin admin 如何在 PHP 模板中获取路由名称 获取当前 URL request gt getRequest
  • 我可以使用 Twig 将 html 放入 Symfony 表单按钮中吗?

    我试图将 html 放入带有树枝的表单按钮中 例如 form widget form jiraStatus label i class fa fa bug i Bug attr class btn btn large btn default
  • 树枝中不允许使用convert_encoding

    为了转换我的法语 html 口音 我尝试通过在 Twig 中执行以下操作来更改编码 ddf description convert encoding UTF 8 HTML ENTITIES 但这是我收到的消息 渲染模板期间引发异常 注意 i
  • 将 bootstrap 添加到 symfony 应用程序的正确方法是什么?

    我正在使用 symfony 框架 3 来开发 Web 应用程序 我需要将 boostrap 的功能添加到我的应用程序中 我使用以下命令安装了引导程序 我正在使用作曲家 composer require twbs bootstrap 它将 b
  • 夏季化上方的树枝和行

    我对 twig 有点陌生 我知道可以在模板中添加值并将它们收集在变量中 但我真正需要的是在总结它们之前在模板中显示汇总值 我需要像旧 symfony 中的插槽之类的东西 或者在 php 中我可以通过 ob start 来做到这一点 以某种方
  • Twig:渲染与包含

    我正在创建一个在线商店 如果我使用树枝函数 渲染 而不是 包含 我会遇到性能问题 以下是显示产品目录的代码 目录控制器
  • 如何使用 Symfony2 使 form_rest() 不显示字段?

    我已经开始使用 Symfony2 但遇到了一些问题 我想手动渲染字段 但它不起作用 因为我尚未渲染的字段显示为form rest 函数也一样 所以我有两个相同的字段 这是我的代码 div form errors form contenu d
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • 在 Twig 中使用 PHP 函数

    我有一个 PHP 代码 用于在我的通用控制器中为我的 Twig 模板添加一个新类 opencart htdocs catalog controller common cart php 该代码应检查设备是否是移动设备 function onS

随机推荐