如果我正确理解这一点,这应该会有所帮助。
tovolt类:(注意添加到此类的新函数'prep_modules')
// BEGIN CLASS tovolt
class tovolt{
function tovolt() {
constructor function - used to setup default variable states, etc. - if this is omitted PHP may have a fit ( depending on version and config )
}
public static $TopColClass = 'default-value';
function code_block( $jdoc_name ) {
?>
}
function module( $prefix, $comma_seperated_suffixes ) {
foreach( (array)explode( ",", $comma_seperated_suffixes ) as $suffix ) {
$module_name = $prefix.trim($suffix);
self::code_block( $module_name );
}
}
// BEGIN NEW FUNCTIONS
function prep_modules( $MODULE_LIST ) {
$READY_MODULES = array();
foreach( (array)$MODULE_LIST as $module_name ) {
$MATCHED_MODULES = JModuleHelper::getModules($module_name);
$matched_count = count( $MATCHED_MODULES );
$matched_list = implode( ',', range( 1, $matched_count ) );
$READY_MODULES[$module_name] = array(
'MODULES' => $MATCHED_MODULES,
'count' => $matched_count,
'list' => $matched_list,
);
}
}
// END NEW FUNCTIONS
}
// END CLASS tovolt
?>
内容页面代码 - 靠近顶部:(准备此页面的模块)
// SOMEWHERE BEFORE THE OUTPUT SECTION, LOAD MODULES FOR THIS PAGE
$READY_MODULES = tovolt::prep_modules( 'top', 'side', 'etc' );
内容页面代码 - 内容输出区域:(选择最适合您设计的方法)
方法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."-", $READY_MODULES[$section]['list'] );
}方法2 - 按加载顺序输出all:
// 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."-", $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."-", $READY_MODULES[$section]['list'] );
}
}