Подскажите, пожалуйста.
Надо создать в своем кастомном модуле шаблон и передавать в него по одной каждую запись из определенной таблицы БД.
Как это сделать?
Знаю только, что можно собрать в один массив все записи и передавать в файл темизации.
Но мне надо передавать именно по одной записи.
Комментарии
Изначально задача какая?
Есть таблица в БД со списком некоторых торговых предложений поставщиков.
Надо создать файл темизации тизера торгового предложения.
Создал файл темизации node--stock-offer--teaser.html.twig
Зарегистрировал в .module эту тему и у нее будет одна переменная stock_offer (она будет содержать все нужные поля из БД по предложению в виде одномерного массива)
Не понимаю, как передавать каждую запись в этот файл темизации, а не сразу массив этих записей.
Вы опять описываете свои решения.
Напишите какая конкретно стоит задача, например "необходимо вывести то то и то то так то и так то"
В контроллере я обращаюсь к таблице БД и выбираю все записи оттуда:
$query = \Drupal::database()->select('dt_stock_offers', 'dso');
$query->fields('dso', ['stock_offer_id','stock_offer_name','manufacture_year','stock_offer_condition','mileage','price','description','stock_city_name','topicality','comment']); //выборка нужных полей
$result = $query->execute();
Необходимо вывести через файл темизации информацию о торговом предложении из БД:
Вывод так должен выглядеть для каждого предложения.
В итоге на странице выведется совокупность из примера ниже столько раз, сколько есть этих предложений
Полное название автомобиля:{{ stock_offer.stock_offer_name }}
Год выпуска:{{ stock_offer.manufacture_year }}
Состояние:{{ stock_offer.stock_offer_condition }}
Пробег:{{ stock_offer.mileage }}
Входящая цена:{{ stock_offer.price }}
Краткие характеристики и комплектация:{{ stock_offer.description }}
Город базирования{{ stock_offer.stock_city_name }}
Актуальность:{{ stock_offer.topicality }}
Дополнительная информация:{{ stock_offer.comment }}
Если объяснять по-другому:
Нужно создать шаблон для некоторого массива, который будет содержать одну запись из таблицы БД.
Например: Есть некоторый тип материала (нода). Для нее можно прописать шаблон, что бы, допустим, выводить поля этой ноды как-то иначе.
А мои данные из БД не являются для Друпала сущностями, как ноды. Но смысл их обработки мне нужен такой же.
И я не знаю, как в этом случае формировать много билд массивов и передавать их в шаблон.
https://niklan.net/blog/151
Здесь пример №2 ближе всего.
Читал эту статью, не смог понять.
Вы скинули ее, еще раз внимательнее перечитал и да, это работает, теперь все понял, спасибо большое!