impresspages анализирует данные возврата из класса getMenuItems

Я хочу создать собственный вывод меню, поэтому я вызываю этот класс:

$pages = \Ip\Menu\Helper::getMenuItems('menu1');

Он возвращает это:

Array
(
[0] => Ip\Menu\Item Object
    (
        [title:protected] => Home
        [pageTitle:protected] => 
        [url:protected] => http://porto.gigaweb.me/home
        [target:protected] => 
        [selected:protected] => 
        [current:protected] => 1
        [children:protected] => Array
            (
                [0] => Ip\Menu\Item Object
                    (
                        [title:protected] => Lorem ipsum
                        [pageTitle:protected] => 
                        [url:protected] => http://porto.gigaweb.me/lorem-ipsumy
                        [target:protected] => 
                        [selected:protected] => 
                        [current:protected] => 
                        [children:protected] => 
                        [depth:protected] => 2
                        [disabled:protected] => 0
                        [blank:protected] => 0
                    )

                [1] => Ip\Menu\Item Object
                    (
                        [title:protected] => about
                        [pageTitle:protected] => 
                        [url:protected] => http://porto.gigaweb.me/about
                        [target:protected] => 
                        [selected:protected] => 
                        [current:protected] => 
                        [children:protected] => 
                        [depth:protected] => 2
                        [disabled:protected] => 0
                        [blank:protected] => 0
                    )
            )
        [depth:protected] => 1
        [disabled:protected] => 0
        [blank:protected] => 0
    )
)

Я попытался превратить его в массив, но он возвращает значение, подобное этому [*title]. Я хочу пройти через него и вывести значения, но, похоже, не могу этого сделать.


person user3477467    schedule 18.04.2014    source источник


Ответы (1)


Это массив объектов. Не массив массивов. Итак, вы должны сделать что-то вроде этого:

foreach ($pages as $menuItem) {
  $page->getTitle();
}

Вы можете найти другие методы объекта $page здесь http://www.impresspages.org/menu-item

Имейте в виду, что вы получаете объекты MenuItem, а не объекты Page.

person Mangirdas Skripka    schedule 18.04.2014