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 callmodule(“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'] );
}
}