使用 Smarty 模板切换和大小写?
Switch and case with Smarty templates?
我是 smarty 的新手。我正在尝试将 switch 和 case 功能与 smarty 一起使用。
这是我使用的php代码
$i=1;
while ($row = mysqli_fetch_array($sql)){
switch($i%8){
case 1:
case 2:
//DO Something Here
break;
case 3:
case 4:
case 5:
case 6:
case 7:
case 0:
//DO Something Else Here
break;
}
$i++;
}
我的问题是如何将此代码应用于 Smarty?感谢您的宝贵时间。
我不确定在 Smarty 中复制是不是最好的主意。 Smarty 的概念是将这样的逻辑保留在您的控制器中。此外,您必须将数据完全原始地转换为 Smarty 才能在 Smarty 中执行此操作。换句话说,您必须对数据进行两次循环。相反,我会将数据构建成类似于 array
的结构并将其传递给 Smarty。比起你可以在 smarty 中使用一个简单的 {foreach}
来遍历数据。
$data = array();
$i=1;
while ($row = mysqli_fetch_array($sql)){
switch($i%8){
case 1:
case 2:
$data[$i][] = $row; //DO Something Here
break;
case 3:
case 4:
case 5:
case 6:
case 7:
case 0:
$data[$i][] = $row; //DO Something Else Here
break;
}
$i++;
}
$smarty->assign('data', $data);
我是 smarty 的新手。我正在尝试将 switch 和 case 功能与 smarty 一起使用。 这是我使用的php代码
$i=1;
while ($row = mysqli_fetch_array($sql)){
switch($i%8){
case 1:
case 2:
//DO Something Here
break;
case 3:
case 4:
case 5:
case 6:
case 7:
case 0:
//DO Something Else Here
break;
}
$i++;
}
我的问题是如何将此代码应用于 Smarty?感谢您的宝贵时间。
我不确定在 Smarty 中复制是不是最好的主意。 Smarty 的概念是将这样的逻辑保留在您的控制器中。此外,您必须将数据完全原始地转换为 Smarty 才能在 Smarty 中执行此操作。换句话说,您必须对数据进行两次循环。相反,我会将数据构建成类似于 array
的结构并将其传递给 Smarty。比起你可以在 smarty 中使用一个简单的 {foreach}
来遍历数据。
$data = array();
$i=1;
while ($row = mysqli_fetch_array($sql)){
switch($i%8){
case 1:
case 2:
$data[$i][] = $row; //DO Something Here
break;
case 3:
case 4:
case 5:
case 6:
case 7:
case 0:
$data[$i][] = $row; //DO Something Else Here
break;
}
$i++;
}
$smarty->assign('data', $data);