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


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

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


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

Спасибо!

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

 

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

  1. foreach ($myitems as $this->item){
  2. $maps=null;
  3. $myitem=$this->item;
  4.  
  5. //навзание материала
  6. $namefirm=$this->item->name;
  7.  
  8. //ссылка на материал
  9. $link=$this->app->route->item($myitem);
  10.  
  11. //картинка
  12. $element1 = $myitem->getElement('код элемента');
  13. $data = (array)$element1->data();
  14. $imgfirm = $data[0]['file'];
  15.  
  16. //адрес формируется из двух полей
  17. $address = $myitem->getElement('95595244-92f0-4b4e-8d57-980afccfdf6c');
  18. $town = $myitem->getElement('6d7e2f0b-642f-4f8d-b7e0-4e7a020bec51');
  19. $address = (array)$address->data();
  20. $town = (array)$town->data();
  21. $address=$town[0]['value'].', '.$address[0]['value'];
  22. $maps[]=$namefirm;
  23. $maps[]=$link;
  24. $maps[]=$imgfirm;
  25. $maps[]=$address;
  26.  
  27. //итоговый массив
  28. $array_maps[]=$maps;
  29. }
Перейти к сообщению


Сообщений в теме: 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   Лучший Ответ

Спасибо!

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

 

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

  1. foreach ($myitems as $this->item){
  2. $maps=null;
  3. $myitem=$this->item;
  4.  
  5. //навзание материала
  6. $namefirm=$this->item->name;
  7.  
  8. //ссылка на материал
  9. $link=$this->app->route->item($myitem);
  10.  
  11. //картинка
  12. $element1 = $myitem->getElement('код элемента');
  13. $data = (array)$element1->data();
  14. $imgfirm = $data[0]['file'];
  15.  
  16. //адрес формируется из двух полей
  17. $address = $myitem->getElement('95595244-92f0-4b4e-8d57-980afccfdf6c');
  18. $town = $myitem->getElement('6d7e2f0b-642f-4f8d-b7e0-4e7a020bec51');
  19. $address = (array)$address->data();
  20. $town = (array)$town->data();
  21. $address=$town[0]['value'].', '.$address[0]['value'];
  22. $maps[]=$namefirm;
  23. $maps[]=$link;
  24. $maps[]=$imgfirm;
  25. $maps[]=$address;
  26.  
  27. //итоговый массив
  28. $array_maps[]=$maps;
  29. }

  • 2




Click to return to top of page in style!