Я создал представление, которое показывает список полей. В нем перечислены продукты (из drupal commerce), поэтому я получаю только название продукта и ссылку на продукт (путь к странице продукта).
Мне нужен способ использовать это представление из кода для сбора массива пар, то есть один массив будет некоторым подмассивом или объектом, подобным:
{
'title' => 'Product title',
'path' => 'product/1'
}
Так же, как я вижу результаты на странице редактирования просмотра. То, что я пробовал до сих пор:
$view = views_get_view_result('get_all_products');
print_r($view);
Таким образом, я получаю некоторые результаты, но они являются сущностями продукта, а не полями, выбранными в представлении.
Также пробовал:
function getView($viewId, $displayId, array $arguments)
{
$result = false;
$view = Views::getView($viewId);
if (is_object($view)) {
$view->setDisplay($displayId);
$view->setArguments($arguments);
$view->execute();
// Render the view
$result = \Drupal::service('renderer')->render($view->render());
}
return $result;
}
И это возвращает значения, которые я выбрал в представлении, но не как массив ключ / значение, а как отображаемый html. Я мог бы разобрать HTML для сбора значений, но должен быть какой-то лучший способ просто собрать значения представления?