问题描述
这是我的问题:
<?PHP
$handlebars->registerHelper('cols',function ($var,$args) use ($handlebars) {
$cols = 0;
if (is_array($var) && count($var) == 2) {
$cols = 6;
}
if (is_array($var) && count($var) == 4) {
$cols = 3;
}
if (is_array($var) && count($var) == 3) {
$cols = 4;
}
if (is_array($var) && count($var) > 4) {
foreach ($var as $key => $data) {
if ($key > 3) {
echo $key;
$cols = 4;
//return $cols;
} else {
echo $key;
$cols = 6;
//return $cols;
}
}
}
return $cols;
});
{{#each cards}}
<div class="col-lg-{{#cols cards}} mb-4 {{#if centered}}text-center{{/if}} {{#if threedee}}raised-card{{/if}} basic-card">
</div>
{{/each}}
让我们假设(只是为了避免编写大量代码)每个函数都可以工作(我在 wordpress 上使用了 lazyblock 并且它与把手一起使用 - PHP 和 mustache 的混合体)。
我想根据数据库中特定类别的项目数更改列数,然后循环遍历它们,最后取决于项目总数的数量,我将创建我的布局。
到目前为止一切顺利,除了这样一个事实,如果我有 5 个项目,我想为前三列打印两个不同的数字(对于两个不同的引导列)4 为前三列,其余 2 为 6。
问题是,如果我回显密钥,就像在提到的代码中一样,我获得了这些值:01234,所以我可以分配两个不同的值:
if ($key > 3) {
echo $key;
$cols = 4;
//return $cols;
} else {
echo $key;
$cols = 6;
//return $cols;
}
但如果我改为返回值,总数就会不同,if 语句将不起作用。
我错过了什么吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)