php动态创建css类

php动态创建css类,php,arrays,foreach,Php,Arrays,Foreach,我有一个已完成的代码,我想在已完成的代码中添加另一个代码 完成代码: function module( $prefix, $comma_seperated_suffixes ) { foreach( (array)explode( ",", $comma_seperated_suffixes ) as $suffix ) { $module_name = $prefix.trim($suffix); if(count(JModuleHelper::getModules($

我有一个已完成的代码,我想在已完成的代码中添加另一个代码

完成代码:

function module( $prefix, $comma_seperated_suffixes ) {
    foreach( (array)explode( ",", $comma_seperated_suffixes ) as $suffix ) {
    $module_name = $prefix.trim($suffix);
    if(count(JModuleHelper::getModules($module_name))) {
            module_block($module_name); 
        }
    }
}
我将
count(JModuleHelper::getModules($module_name))
移动到
module
函数,之前它在
module_块中

请不要使用tovolt类,我的意思是没有php类的简单代码

模块计数块

我假设我正在调用这个模块
模块(“顶列-”,“1,2,3”)然后我有三个模块称为
top-col-1、top-col-2、top-col-3

然后我的计数模块将如下所示:

$TopCol1 = (int)(count(JModuleHelper::getModules($module_name)) > 0);
$TopCol2 = (int)(count(JModuleHelper::getModules($module_name)) > 0);
$TopCol3 = (int)(count(JModuleHelper::getModules($module_name)) > 0);
上述代码仅适用于活动模块(检查活动模块的唯一方法),如果模块处于活动状态,则其
var
将为
1

现在是计算活动模块的时间:

$topColCount = $TopCol1 + $TopCol2 + $TopCol3;
if ($topColCount) : $TopColClass = 'count-' . $topColCount; 
endif;
我正在计算模块数量,我想将一个CSS类设置为活动模块,如下所示
count-1、count-2、count-3
。我想在
模块块中使用这个类。
请记住,上面的变量是静态的,因为我是手动创建的。但若我调用函数,那个么var需要和函数值一起改变,就像if user call
module(“bottom”,“1,2,3”)
则其
计数\u模块
将为
$bottom1、$bottom2、$bottom3
,类将为
$bottomClass

我想使用相同的代码
模块(“底部”、“1,2,3”)生成
count\u模块


谢谢@steve的帮助

如果我理解正确,这应该会有所帮助

tovolt类:(注意添加到该类的新功能“prep_模块”)


内容页面代码-内容输出区域:(选择最适合您的设计的方法)

方法1-输出单个部分:

//////////////////    DOWN IN THE MODULE OUTPUT SECTION - TO OUTPUT A SINGLE SECTION USE:
$section = 'top';
if( @$READY_MODULES[$section]['count'] > 0 ) {
    tovolt::$TopColClass = $section;                //// if you need to change: $TopColClass
    tovolt::module( $section."-col-", $READY_MODULES[$section]['list'] );        
}
方法2-按加载顺序输出所有数据:

//////////////////    DOWN IN THE MODULE OUTPUT SECTION - TO OUTPUT ALL SECTIONS IN LOADED SEQUENCE USE:
foreach( (array)$READY_MODULES as $section=>$THIS_VAR_IS_NOT_DIRECTLY_REFERENCED ) {
    if( @$READY_MODULES[$section]['count'] > 0 ) {
        tovolt::$TopColClass = $section;                //// if you need to change: $TopColClass
        tovolt::module( $section."-col-", $READY_MODULES[$section]['list'] );        
    }    
}
方法3-任意输出:

//////////////////    DOWN IN THE MODULE OUTPUT SECTION - TO OUTPUT MULTIPLE SECTIONS IN AN ARBITRARY ORDER:
foreach( array( 'side', 'top' ) as $section ) {
    if( @$READY_MODULES[$section]['count'] > 0 ) {
        tovolt::$TopColClass = $section;                //// if you need to change: $TopColClass
        tovolt::module( $section."-col-", $READY_MODULES[$section]['list'] );        
    }    
}

谢谢你的帮助,我会先尝试这段代码,然后再回来。耶,我现在可以评论:)-一旦你运行了prep_modules函数,你就可以像这样读取任何集合的计数:$count=$READY_modules['section_name']['count']-用你想要计数的任何部分替换'section_name'。。。所以$READY_MODULES['bottom']['count']将为您提供底部模块的计数。
//////////////////    DOWN IN THE MODULE OUTPUT SECTION - TO OUTPUT ALL SECTIONS IN LOADED SEQUENCE USE:
foreach( (array)$READY_MODULES as $section=>$THIS_VAR_IS_NOT_DIRECTLY_REFERENCED ) {
    if( @$READY_MODULES[$section]['count'] > 0 ) {
        tovolt::$TopColClass = $section;                //// if you need to change: $TopColClass
        tovolt::module( $section."-col-", $READY_MODULES[$section]['list'] );        
    }    
}
//////////////////    DOWN IN THE MODULE OUTPUT SECTION - TO OUTPUT MULTIPLE SECTIONS IN AN ARBITRARY ORDER:
foreach( array( 'side', 'top' ) as $section ) {
    if( @$READY_MODULES[$section]['count'] > 0 ) {
        tovolt::$TopColClass = $section;                //// if you need to change: $TopColClass
        tovolt::module( $section."-col-", $READY_MODULES[$section]['list'] );        
    }    
}