这是我正在创建的这个基本模块系统,用于在 joomla 模板中制作一个 6 列网格系统 是的,我已经成功地为每个网格创建了不同的类,即如果只有 4 个模块从 joomla 的后端启用,则类 dc-modules4 将自动启用,依此类推,但我需要帮助来调用一个类来保存单个模块,但现在当我调用 CSS 类时它包含所有模块并用 dc-module4 包装它,以便我可以在 CSS 中设置该类的样式,这是代码,这将有助于您理解它。
<?php
function Top(){
$modules = array();
$modules["top1"] = '<jdoc:include type="modules" name="top1" style="xhtml" />';
$modules["top2"] = '<jdoc:include type="modules" name="top2" style="xhtml" />';
$modules["top3"] = '<jdoc:include type="modules" name="top3" style="xhtml" />';
$modules["top4"] = '<jdoc:include type="modules" name="top4" style="xhtml" />';
$modules["top5"] = '<jdoc:include type="modules" name="top5" style="xhtml" />';
$modules["top6"] = '<jdoc:include type="modules" name="top6" style="xhtml" />';
foreach($modules as $module => $name){
echo '<div class="dc-modules">'.$name.'</div>';
}
}
if($this->countModules('top1')){
$mod[0] = 'mod1';
}
if($this->countModules('top2')){
$mod[1] = 'mod2';
}
if($this->countModules('top3')){
$mod[2] = 'mod3';
}
if($this->countModules('top4')){
$mod[3] = 'mod4';
}
if($this->countModules('top5')){
$mod[4] = 'mod5';
}
if($this->countModules('top6')){
$mod[5] = 'mod6';
}
$result = count($mod);
if($result == 6){
echo '<div class="dc-modules6">';
echo Top();
echo '</div>';
}
if($result == 5){
echo '<div class="dc-modules5">';
echo Top();
echo '</div>';
}
if($result == 4){
echo '<div class="dc-modules4">';
echo Top();
echo '</div>';
}
if($result == 3){
echo '<div class="dc-modules3">';
echo Top();
echo '</div>';
}
if($result == 2){
echo '<div class="dc-modules2">';
echo Top();
echo '</div>';
}
if($result == 1){
echo '<div class="dc-modules1">';
echo Top();
echo '</div>';
}
?>
花了两个小时后,我刚刚提出了网格系统的解决方案,希望你们可以利用这一点,希望有人能以更好的方式改进我的代码,所以这里是
<?php
if($this->countModules('top1')){
$modules["top1"] = '<jdoc:include type="modules" name="top1" style="xhtml" />';
}
if($this->countModules('top2')){
$modules["top2"] = '<jdoc:include type="modules" name="top2" style="xhtml" />';
}
if($this->countModules('top3')){
$modules["top3"] = '<jdoc:include type="modules" name="top3" style="xhtml" />';
}
if($this->countModules('top4')){
$modules["top4"] = '<jdoc:include type="modules" name="top4" style="xhtml" />';
}
if($this->countModules('top5')){
$modules["top5"] = '<jdoc:include type="modules" name="top5" style="xhtml" />';
}
if($this->countModules('top6')){
$modules["top6"] = '<jdoc:include type="modules" name="top6" style="xhtml" />';
}
if(isset($modules)){
$result = count($modules);
foreach($modules as $module => $name){
if($result == 6){
echo '<div class="dc-modules6">';
echo $name;
echo '</div>';
}
if($result == 5){
echo '<div class="dc-modules5">';
echo $name;
echo '</div>';
}
if($result == 4){
echo '<div class="dc-modules4">';
echo $name;
echo '</div>';
}
if($result == 3){
echo '<div class="dc-modules3">';
echo $name;
echo '</div>';
}
if($result == 2){
echo '<div class="dc-modules2">';
echo $name;
echo '</div>';
}
if($result == 1){
echo '<div class="dc-modules1">';
echo $name;
echo '</div>';
}
}
}
?>