【问题标题】:Can't get id of module in Joomla 3无法在 Joomla 3 中获取模块的 ID
【发布时间】:2014-09-22 08:53:04
【问题描述】:

我尝试通过模板/mytemplate/index.php(Joomla 3.3.3)中的位置获取模块的ID并使用代码:

jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModule('top');
echo $module->id;

但我什么也得不到。怎么了?

【问题讨论】:

    标签: joomla joomla3.0


    【解决方案1】:

    使用JModuleHelper::getModule,您只能定义模块的名称或类型。你不能定义位置。因此,请输入名称,例如:

    jimport( 'joomla.application.module.helper' );
    $module = JModuleHelper::getModule('login');
    
    echo $module->id;
    

    如果你还想按位置获取模块,那么你必须使用JModuleHelper::getModules。注意末尾的s

    更新:

    由于第二个选项将为您提供属于该位置的多个模块的数组,因此您需要使用以下内容,这将为您提供数组的第一个实例:

    echo $modules[0]->id;
    

    希望对你有帮助

    【讨论】:

    • 不幸的是,它也不起作用。模块已发布,位置只有一个,我得到数组: Array ( [0] => stdClass Object ( [id] => 100 [title] => ... 如果我使用 print_r($module) 则成功但如果使用 $module->id 则无法获取 id 也许在 Jooomla 3.3.3 中的 API 中有所更改?
    • 谢谢,这行得通!还有一个问题:如何获取参数“note”?我尝试 $modules[0]->note 但它不起作用,我看到数组中没有这个参数
    猜你喜欢
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多