関数を使用して繰り返される PHP コードを最小限に抑えたいと考えています。私はデザイナーで、現在 PHP を学習しようとしています。以下のコードは、Module ブロックがアクティブかどうかをチェックし、ブロックをカウントします。
$TopCol1 = (int)($this->countModules('top-col-1') > 0);
$TopCol2 = (int)($this->countModules('top-col-2') > 0);
$TopCol3 = (int)($this->countModules('top-col-3') > 0);
$topColCount = $TopCol1 + $TopCol2 + $TopCol3;
if ($topColCount) : $TopColClass = 'count-' . $topColCount;
endif;
次に、以下のコードが処理されます
<?php if ($topColCount) : ?>
<div class="row">
<?php if ($this->countModules('top-col-1')) : ?>
<div id="top-col" class="<?php echo $TopColClass ?> columns">
<div class="panel">
<jdoc:include type="modules" name="top-col-1" style="html5" />
</div>
</div>
<?php endif ?>
<?php if ($this->countModules('top-col-2')) : ?>
<div id="top-col" class="<?php echo $TopColClass ?> columns">
<div class="panel">
<jdoc:include type="modules" name="top-col-2" style="html5" />
</div>
</div>
<?php endif ?>
<?php if ($this->countModules('top-col-3')) : ?>
<div id="top-col" class="<?php echo $TopColClass ?> columns">
<div class="panel">
<jdoc:include type="modules" name="top-col-3" style="html5" />
</div>
</div>
<?php endif ?>
</div>
<?php endif ?>
テンプレートでこのタイプのコードを何度も繰り返す必要があります。このコードを何度も繰り返さずにブロックを作成する関数を作成するのを手伝ってください