0

由此

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

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

4

1 回答 1

1

PHPreset()重置数组的内部指针并返回第一个元素。所以,

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

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

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

于 2013-08-07T20:52:18.703 回答