3

レスポンシブな joomla テンプレートを作成していますが、問題が発生しています。

私は4つのモジュール位置を持っています:header1、header2、header3、header4の位置のみがアクティブな場合、そのクラスは 'col12' & 'last' になります

位置が 2 つの場合、クラスは両方の位置で「col6」になり、クラスは最後の位置のみで「last」になります。

位置がある場合、すべての位置に対してクラス「three」、最後の位置に対してクラス「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

おそらく、すべての値が null でないことを確認するつもりでした (私は を使用したいと思いissetます) - しかし、実際には every の最後の値のみを確認して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';
}

&1つだけ(ビット演算子)を使用して(これは元々の意図かもしれませんが)それを行うこともできます:

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 に答える