Отвечая на этот вопрос, я предполагаю, что вы создали свою конфигурацию через пользовательский интерфейс, а затем экспортировали ее, как упомянул Кевин в своем комментарии. Это лучший способ создать начальную конфигурацию для включения в ваш проект.
Обратите внимание, что все примеры показаны с использованием процедурного кода для простоты; обязательно следуйте рекомендациям и внедряйте свои услуги при создании проекта.
Сущность ImageStyle
После того, как этот файл конфигурации установлен, он становится Стиль изображения объект конфигурации, и им можно манипулировать как любым объектом конфигурации.
// Получить обработчик хранилища для сущностей ImageStyle.
$image_style_storage = \Drupal::entityTypeManager()->getStorage("image_style");
// Получаем экземпляр нашей сущности ImageStyle.
$my_image_style = $image_style_storage->load("my_image_style");
Эффекты, указанные в определении ImageStyle, являются подключаемыми модулями, управляемыми plugin.manager.image.effect
служба менеджера плагинов.
Как назло, Стиль изображения организация предлагает добавитьэффект изображения()
общедоступный метод, который принимает массив информации об эффектах. Этот метод на самом деле заботится о создании и назначении UUID, который затем возвращается вам.
общедоступная функция addImageEffect (массив $ конфигурации) {
$configuration['uuid'] = $this->uuidGenerator()->generate();
$this->getEffects()->addInstanceId($configuration['uuid'], $configuration);
вернуть $configuration['uuid'];
}
Итак, с помощью вашего image.style.max_1300x1300
Например, назначение эффекта изображения будет выглядеть так:
$effect_uuid = $my_image_style->addImageEffect([
'id' => 'масштаб_изображения',
'данные' => [
'ширина' => '1300',
'высота' => '1300',
'высококлассный' => ЛОЖЬ,
],
'вес' => 1,
]);
Вы можете найти все графические эффекты, зарегистрированные на вашем сайте, выполнив:
\Drupal::service('plugin.manager.image.effect')->getDefinitions();