Получение результатов просмотра в виде массива пар ключ / значение - PullRequest
0 голосов
/ 27 мая 2019

Я создал представление, которое показывает список полей. В нем перечислены продукты (из 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 для сбора значений, но должен быть какой-то лучший способ просто собрать значения представления?

...