Joomla访问getModules数据结构


Joomla Accessing getModules datastructure

从此

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 ?>

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

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

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

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

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