Перейти к содержимому


Фотография
- - - - -

Массив материалов


Лучший Ответ prosites , 22 August 2018 - 14:20

Спасибо!

в итоге нашла у себя ошибку. НЕ указала номер приложения в исходном коде.

 

В итоге данные из массива извлекала так:

foreach ($myitems as $this->item){
        $maps=null;
        $myitem=$this->item;

        //навзание материала
        $namefirm=$this->item->name;

        //ссылка на материал
        $link=$this->app->route->item($myitem);

        //картинка
        
        $element1 = $myitem->getElement('код элемента');        
        $data = (array)$element1->data();        
        $imgfirm =  $data[0]['file'];

        //адрес формируется из двух полей
        $address = $myitem->getElement('95595244-92f0-4b4e-8d57-980afccfdf6c');
        $town = $myitem->getElement('6d7e2f0b-642f-4f8d-b7e0-4e7a020bec51');
        $address = (array)$address->data();
        $town = (array)$town->data();
        $address=$town[0]['value'].', '.$address[0]['value'];
                
        $maps[]=$namefirm;
        $maps[]=$link;
        $maps[]=$imgfirm;
        $maps[]=$address;

        //итоговый массив
        $array_maps[]=$maps;
    }
Перейти к сообщению


Сообщений в теме: 6

#1 prosites

prosites

Отправлено 20 August 2018 - 15:47

Добрый день! Делаю карту гугл для категорий. По id категории получаю массив ее материалов:

   

    $itemModel = $this->app->table->item;
    $myitems = $itemModel->getByCategory($appId, $category->id);

 

Как дальше работать с массивом $myitems, чтобы извлечь из него данные (имя, ссылка, url изображения и другие параметры)


  • 0

#2 CB9TOIIIA

CB9TOIIIA

Отправлено 20 August 2018 - 18:57

https://github.com/JBZoo/JBDump


  • 0

#3 prosites

prosites

Отправлено 21 August 2018 - 07:35

А можно пример вывода хотя бы одного параметра?


  • 0

#4 CB9TOIIIA

CB9TOIIIA

Отправлено 21 August 2018 - 08:11

Подключаете класс

 

далее jbdump($myitems);


  • 0

#5 prosites

prosites

Отправлено 21 August 2018 - 10:16

А как мне просмотреть, например, название первого материала массива?


  • 0

#6 CB9TOIIIA

CB9TOIIIA

Отправлено 21 August 2018 - 10:45

Проверить дебаггером, потом скорей всего foreach цикл. Далее цикл дебаггером проверить
  • 0

#7 prosites

prosites

Отправлено 22 August 2018 - 14:20   Лучший Ответ

Спасибо!

в итоге нашла у себя ошибку. НЕ указала номер приложения в исходном коде.

 

В итоге данные из массива извлекала так:

foreach ($myitems as $this->item){
        $maps=null;
        $myitem=$this->item;

        //навзание материала
        $namefirm=$this->item->name;

        //ссылка на материал
        $link=$this->app->route->item($myitem);

        //картинка
        
        $element1 = $myitem->getElement('код элемента');        
        $data = (array)$element1->data();        
        $imgfirm =  $data[0]['file'];

        //адрес формируется из двух полей
        $address = $myitem->getElement('95595244-92f0-4b4e-8d57-980afccfdf6c');
        $town = $myitem->getElement('6d7e2f0b-642f-4f8d-b7e0-4e7a020bec51');
        $address = (array)$address->data();
        $town = (array)$town->data();
        $address=$town[0]['value'].', '.$address[0]['value'];
                
        $maps[]=$namefirm;
        $maps[]=$link;
        $maps[]=$imgfirm;
        $maps[]=$address;

        //итоговый массив
        $array_maps[]=$maps;
    }

  • 2




Click to return to top of page in style!