Делаю на сайт вывод последних 5 постов из группы ВК. Текст, дату, просмотры - подтянул, а с изображениями (вложениями) никак не могу разобраться. Записываю в массив ссылку на изображение: PHP: 'image' => $w->attachments->photo->sizes->url[2] и вывожу в шаблоне... в итоге выдает ошибку: Код (Text): Notice: Trying to get property 'photo' of non-object in /home/c/ce651/public_html/catalog/controller/extension/module/vk_news.php on line 36 Notice: Trying to get property 'sizes' of non-object in /home/c/ce651/public_html/catalog/controller/extension/module/vk_news.php on line 36 Notice: Trying to get property 'url' of non-object in /home/c/ce651/public_html/catalog/controller/extension/module/vk_news.php on line 36 как правильно получить вложения постов из группы ВК, а именно изображения? PHP: // ID нашего сообщества или страницы вконтакте $wall_id="-86529522"; // Удаляем минус у ID групп, что мы используем выше (понадобится для ссылки). $group_id = preg_replace("/-/i", "", $wall_id); // Количество записей, которое нам нужно получить. $count = "5"; // Токен $token = "f0022454f0022454f002245479f07ee6cdff002f0022454928fc887a253afc909a9xxxx"; // Получаем информацию, подставив все данные выше. $api = file_get_contents("https://api.vk.com/api.php?oauth=1&method=wall.get&owner_id=".$wall_id."&count=5&v=5.131&access_token=".$token.""); // Преобразуем JSON-строку в массив $wall = json_decode($api); //var_dump($wall); // Получаем массив $wall = $wall->response->items; //$images = $wall->response->attachments; $data['news'] = []; foreach ($wall as $w) { //формируем массив с данными $data['news'][] = [ 'id' => $w->id, 'posted' => date("d.m.Y H:i", $w->date), 'image' => $w->attachments->photo->sizes->url[2], 'view' => $w->views->count, 'text' => utf8_substr(trim(strip_tags(html_entity_decode($w->text, ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..', 'href' => "https://vk.com/wall-" . $group_id . "_" . $w->id ]; } HTML/TWIG: PHP: <div class="heading">VK Новости</div> <div class="uni-module news-module news-100"> <div class="uni-module__wrapper row-flex"> {% for news in news %} <div class="news-module__item uni-item"> <div class="news-module__image uni-href" data-href="{{ news.href }}"> <img src="{{ news.image }}" loading="lazy" alt="" title="" class="img-responsive" width="100" height="100" /> </div> <div class="news-module__description"> <div class="news-module__category-date-viewed"> <span class="news-module__date"><i class="fa fa-calendar"></i>{{ news.posted }}</span> <span class="news-module__viewed"><i class="fa fa-eye"></i>{{ news.view }}</span> </div> <div class="news-module__text">{{ news.text }} <a class="news-module__name" href="{{ news.href }}" title="">читать далее</a></div> </div> </div> {% endfor %} </div> </div> массив wall во вложении txt
может для начала попытаться перевести текст ошибки? чтоб понять что там нет того чего вы хотите... потом задуматься, "а что же там есть?" и посмотреть для разнообразия print_r($w->attachments);
В - внимательность .... attachments - это массив! кроме этого и sizes тоже массив для обращения к 1 элементу и с 1 размером можете делать так PHP: $w->attachments[0]->photo->sizesх[0]->url, а вот url - не массив, хоть вы и пытаетесь к нему так обратиться