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

1 回線で通話したいのですが、うまくいきません

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

私は getmodule の単一バージョンでそれを行うことができ、それは機能します。配列にラップされていないため機能します。

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

1行のコードでこのデータ構造をドリルダウンする方法を知っている人はいますか?

4

1 に答える 1

1

PHPreset()は配列の内部ポインタをリセットし、最初の要素を返します。したがって、

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

最初の要素のコンテンツを取得します。

ただし、空の配列が によって返された場合は、明らかな理由で失敗JModuleHelperます。残念ながら、空の配列が提供されるとreset()返されるため、静かに失敗することはありません。false

于 2013-08-07T20:52:18.703 に答える