Slim+Twig自定义扩展调用报错:未知paginator函数
解决Twig自定义扩展函数未找到的问题
你确实遗漏了将自定义Twig扩展注册到Twig实例的关键步骤,这才导致模板调用时出现"Unknown 'paginator' function"错误。
修复步骤
在创建Twig实例后,添加一行代码将你的自定义扩展注册进去:
// Create Twig $twig = Twig::create('path/to/templates', ['cache' => false]); // 注册自定义分页扩展 $twig->addExtension(new PaginatorTwigExtension()); // Add Twig-View Middleware $app->add(TwigMiddleware::create($app, $twig));
额外检查点
- 确认
Helpers\PaginatorTwigExtension的命名空间与文件路径匹配,且Composer自动加载能正确找到该类(比如Helpers目录在src下,composer.json中配置了"autoload": {"psr-4": {"Helpers\\": "src/Helpers/"}})。 - 你的扩展函数命名为
paginator,模板中的调用方式paginator(10, 25 , 11, '...')是正确的,不需要修改调用名称。 - 注意你的
generatePaginationData方法中,返回数组里的$pagination变量未定义,运行时会触发PHP警告,需要补充分页逻辑生成该变量。
内容的提问来源于stack exchange,提问作者Alberto Mier
相关产品推荐
相关产品推荐

