Рейтинг:0

Почему дополнительный модуль пытается загрузить один из своих файлов из пользовательского каталога?

флаг ma

Я построил модуль на локальном экземпляре в моем каталоге module/custom; Затем я опубликовал его на drupal.org, т.к. Виджет группировки по полю. Почему-то при установке релиз 1.1.1 через Composer я получаю эту ошибку.

Предупреждение: include(/app/web/modules/custom/group_by_field_widget/src/Plugin/Field/FieldWidget/EntityReferenceGroupByFieldWidget.php): не удалось открыть поток: Нет такого файла или каталога в /app/vendor/composer/ClassLoader.php на строка 444
Предупреждение: include(): не удалось открыть '/app/web/modules/custom/group_by_field_widget/src/Plugin/Field/FieldWidget/EntityReferenceGroupByFieldWidget.php' для включения (include_path='/app/vendor/pear/pear_exception:/app/ vendor/pear/console_getopt:/app/vendor/pear/pear-core-minimal/src:/app/vendor/pear/archive_tar:.:/usr/local/lib/php') в /app/vendor/composer/ ClassLoader.php в строке 444
Drupal\Component\Plugin\Exception\PluginException: класс экземпляра плагина (entity_reference_group_by_field_widget) "Drupal\group_by_field_widget\Plugin\Field\FieldWidget\EntityReferenceGroupByFieldWidget" не существует.в Drupal\Component\Plugin\Factory\DefaultFactory::getPluginClass() (строка 97 core/lib/Drupal/Component/Plugin/Factory/DefaultFactory.php).

Модуль установлен в модуль/вклад через Composer, но в предупреждении указано, что /app/vendor/composer/ClassLoader.php загружает файлы из /app/web/modules/custom/.

Обратите внимание, что ошибка появляется только при редактировании страницы отображения формы управления.

Когда я перемещаю модуль в пользовательский каталог, он работает нормально. Что бы привязать модуль к каталогу?

J.Floyd avatar
флаг ma
Это было решено, но решение не было найдено. Я переименовал свой виджет из EntityReferenceGroupByFieldWidget в GroupByFieldReferenceWidget, и, как по волшебству, он начал работать. Все еще ищу причину, по которой оригинальная версия не работала. Может быть, это основное ограничение на то, как называются виджеты?
флаг cn
Да, я только что установил ваш модуль и не смог воспроизвести ошибку. Возможно, ваш `composer.json` на тестовом сайте был как-то перепутан. В будущем будет намного проще отлаживать проблемы, если вы опубликуете фактический код (`composer.json`, который вы использовали для установки модуля) и версию модуля, который не работает.
J.Floyd avatar
флаг ma
@PatrickKenny вы установили версию 1.1.2, потому что это версия с изменениями, и она работает так, как ожидалось. версия 1.1.1 - сломанный релиз.
J.Floyd avatar
флаг ma
@PatrickKenny Также ошибка появляется только при посещении страницы отображения формы управления.
флаг cn
Я установил 1.1.2, потому что откуда мне знать, какую версию устанавливать, если вы не скажете? И как я должен знать, как воспроизвести ошибку, если вы не описываете, как это сделать в вопросе?
J.Floyd avatar
флаг ma
@PatrickKenny Мои извинения, я работал над проблемой после того, как опубликовал вопрос. Я буквально только что выпустил исправление, которое решило эту проблему, когда вы его загрузили. Вы правы, я должен был предоставить более подробную информацию.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.