You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP Kirby开发:如何在单个Snippet中传入并使用两个自定义变量

问题根因

你的代码中存在两个需要修正的点:

  1. Snippet内部调用variable2时用单引号包裹,导致系统将其识别为固定字符串"variable2",而非你传入的变量值,过滤逻辑完全不生效
  2. 传参代码里variable1的赋值末尾多了一个多余的双引号,可能引发输出异常

修正后的Snippet代码

<div class="container">

<h2><?= $variable1 ?></h2>


<?php
foreach (page('blogs')
  ->children()
  ->listed()
  ->filterBy('tags', $variable2, ',') // 去掉variable2的单引号,直接调用变量
  ->flip() as $subpage) :

  snippet('blogkarte', ['subpage' => $subpage]);
?>

<?php endforeach ?>

修正后的传参代码

<?php snippet('blogkarten', ['variable1' => 'MYTEXT', 'variable2' => 'MYTEXT']) ?>

验证逻辑

修改完成后即可实现预期效果:传入的variable1正常输出为页面标题,同时filterBy会按照variable2传入的标签值筛选对应博客子页面,渲染匹配的blogkarte卡片。

内容的提问来源于stack exchange,提问作者Constantin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:48:03