Joomla访问getModules数据结构

时间:2013-08-07 20:11:42

标签: php joomla

从此

jimport( 'joomla.application.module.helper' );
$modules = JModuleHelper::getModules( 'top' );
echo '<pre>';
print_r( $modules );
echo '</pre>';
输出此结构的

Array
(
    [0] => stdClass Object
        (
            [id] => 25
            [title] => Newsflash
            [module] => mod_newsflash
            [position] => top
            [content] => 
            [showtitle] => 1
            [control] => 
            [params] => catid=3
style=random
items=
moduleclass_sfx=
            [user] => 0
            [name] => newsflash
            [style] => 
        )

)

我目前调用此函数来输出它

<?=$modules[0]->content ?>

我想用一行打电话但它不起作用

<?=JModuleHelper::getModules( 'top' )[0]->content ?>

我可以在getmodule的单数版本上完成它并且它可以正常工作,因为它没有包含在数组中。

<?=JModuleHelper::getModule( 'top' )->content ?>

有人知道如何使用一行代码深入研究这个数据结构吗?

1 个答案:

答案 0 :(得分:1)

PHP reset()重置数组的内部指针并返回第一个元素。 因此,

$modules = reset(JModuleHelper::getModules( 'top' ))->content;

将获得第一个元素的内容。

如果JModuleHelper返回一个空数组,失败,原因很明显。不幸的是,它不会安静地失败,因为reset()在提供空数组时返回false