Я работаю над пользовательским модулем Drupal 8, который отображает изображение в блоке.Codeniffer помечает следующие строки:
$advertFile = \Drupal\file\Entity\File::load($advert1);
$advertStyle = \Drupal\image\Entity\ImageStyle::load('ad_banner')->buildUrl($advertFile->getFileUri());
Генерируемая ошибка:
На классы / интерфейсы / признаки пространства имен следует ссылаться с помощью операторов использования
Я поместил следующие операторы использования в начало файла и изменил строки на File :: load ... и ImageStyle :: load ... соответственно.Это приводит к ошибкам, и сайт перестает работать.
Не совсем уверен, как правильно выражать классы пространства имен в пользовательском модуле D8, поэтому любая помощь приветствуется!
Обновление: верхняя часть файла выглядит такthis:
<?php
namespace Drupal\my_module\Plugin\Block;
/**
* @file
* Contains \Drupal\my_module\Plugin\Block\AdvertBlock.
*/
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Block\BlockPluginInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\file\Entity\File;
use Drupal\image\Plugin\Field\FieldWidget\ImageWidget;
use Drupal\image\Entity\ImageStyle;
Я получаю сообщение об ошибке: «На веб-сайте произошла непредвиденная ошибка.Пожалуйста, попробуйте позже. '
Спасибо