3

我正在制作一个响应式 joomla 模板,但我遇到了一个问题。

我有四个模块位置:header1、header2、header3、header4 如果只有位置 active ,那么它的类将是 'col12' & 'last'

如果有两个位置,那么位置的类将是“col6”,而类“last”仅适用于最后一个位置

如果有位置,则所有位置为“三”类,最后一个位置为“最后”类

我如何在数组中做到这一点?这样做的任何好的解决方案

目前我正在使用它但不能正常工作,或者请告诉我在 JAT3 框架中使用的块系统如何为我的模板制作我自己的块系统,如 jat3

if($header1 && $header2 && $header3 && $header4 > 0){
    $hCols='three';
}elseif($header1 && $header2 && $header3 > 0){
    $hCols='four';
    $h3last='last';
}elseif($header1 && $header2 > 0){
    $hCols='six';
    $h2last='last';
}elseif($header1 > 0){
    $hCols='twelve';
    $h1last='last';
}
4

1 回答 1

0

您可能打算检查所有值是否不为空(我更喜欢使用isset) - 但实际上您只检查 each 中的最后一个值if,您可以这样做:

if($header1 > 0 && $header2 > 0 && $header3 > 0 && $header4 > 0){
    $hCols='three';
}elseif($header1 > 0 && $header2 > 0 && $header3 > 0){
    $hCols='four';
    $h3last='last';
}elseif($header1 > 0 && $header2 > 0){
    $hCols='six';
    $h2last='last';
}elseif($header1 > 0){
    $hCols='twelve';
    $h1last='last';
}

&您也可以只使用一个(按位运算符)来做到这一点(这可能是您的初衷):

if($header1 & $header2 & $header3 & $header4 > 0){
    $hCols='three';
}elseif($header1 & $header2 & $header3 > 0){
    $hCols='four';
    $h3last='last';
}elseif($header1 & $header2 > 0){
    $hCols='six';
    $h2last='last';
}elseif($header1 > 0){
    $hCols='twelve';
    $h1last='last';
}
于 2012-07-14T18:53:48.700 回答