Что такое сообщение об ошибке:
Обязательный параметр 'theme_dir' не был передан
Это связано с Magento 2? И как можно решить эту проблему?
Что такое сообщение об ошибке:
Обязательный параметр 'theme_dir' не был передан
Это связано с Magento 2? И как можно решить эту проблему?
Ответы:
На всякий случай, если вы удаляете тему напрямую (не в Magento).
Затем выполните следующие действия.
ШАГ 1: Файловые операции
Удалите содержимое из
app/design/frontend/<Vendor>
(сначала убедитесь, что вы создали его резервную копию).Удалить все содержимое папки
var/view_preprocessed
&pub/static/frontend
.ШАГ 2: Операции с БД
Перейдите к своей
theme
таблице и удалите запись для созданной вами темы.После того...
Перейдите к своей
core_config_data
таблице и выполните поиск,theme
и вы получите записи пути, например,design/theme/theme_id
замените в ней идентификатор вашей темы по умолчанию.ШАГ 3: очистить кэш
Очистить кеш
php bin/magento cache:flush
Дайте мне знать, если после этого у вас все еще будут проблемы.
источник
theme
исправил -table, но забыл оcore_config_data
значении.setup:static-content:deploy
админ вернулся в интерфейс.pub/static/.htaccess
была не там. спасибоЭто сообщение об ошибке означает, что у вас настроена тема, которой больше нет в файловой системе (больше).
Это можно легко исправить, выбрав правильную тему. Перейдите в Content -> Configuration , выберите область (global, website, store_view) и измените тему. После того, как вы это сделали, вы также должны удалить его из Content -> Themes .
Рекомендации
источник
В моем случае я удалил дочернюю тему из каталога Vendor. Но запись БД все еще была в
theme
таблице. Итак, зайдите вtheme
таблицу и удалите запись, которая указывает на удаленную тему.источник
composer remove vendor/theme
?rm -rf vendor/theme
Убедитесь, что
theme
запись в таблице иmagento\app\design\frontend\<Vendor>
запись будут одинаковыми.Если нет, то это вызывает эту проблему.
Удалите ненужную тему через Admin -> Content -> Design -> Themes . Удалите это. Так что это также удалит запись в БД.
Если вы удалите только папку, она не будет работать
источник
Эта проблема также может возникнуть, когда вы находитесь в эмулируемом состоянии, например, в команде CLI. У меня была ситуация, когда я не мог отправить электронное письмо в CLI, потому что команда обертки работала в эмулированном состоянии:
В приведенном выше примере, когда электронная почта пыталась определить свой шаблон dir, она сопоставлялась бы
global/Magento/backend
, чего не существует. Чтобы это исправить, мне пришлось вручную добавить его в свой конструктор:После исправления проблема была решена, и я смог отправить электронное письмо.
Обновить:
Когда дело доходит до отправки почты с использованием CLI, более правильным подходом будет использование эмуляции. Например:
Таким образом, вам не придется делать свои грязные маленькие хаки.
источник
бегать
sql UPDATE core_config_data SET value=NULL WHERE path='design/theme/theme_id'
затем очистить
pub/static/frontend
,var/view_preprocessing
,var/cache
,var/page_cache
каталоги.источник
@hakre правильно. Я получил ту же ошибку
Required parameter 'theme_dir' was not passed
. Ниже я объясню, что я сделал, чтобы вызвать ошибку:Я создал тему в каталоге app / design / frontend / MyVendorTheme2 / myThemeName2 , а затем настроил ее, выбрав тему « MyVendorTheme2 - myThemeName2 » в браузере администратора Magento 2 ( Магазины> Конфигурация> НАСТРОЙКИ ТЕМЫ> ОБЩИЕ> Дизайн> Тема оформления ) , Но затем я решил переместить каталог « myThemeName2 » (содержащий мою новую тему) в другую (существующую) папку поставщика « MyVendorTheme1 » app / design / frontend / MyVendorTheme1 / myThemeName2 и удалил его из папки « MyVendorTheme2 », где это было раньше. Я приступил к активам компиляции (т.е.
grunt clean
,grunt exec:myThemeName2
,grunt less:myThemeName2
), а затем открыл мой браузер в моем поддомене темы (то есть http: // myvirtualhostdomain: myport / myvendortheme1_mythemename2_magento2_quickstart / ).Изначально я получил неуказанную ошибку:
There has been an error processing your request Exception printing is disabled by default for security reasons. Error log record number:
Я активировал отчеты об ошибках, переименовав
pub/errors/local.xml.sample
вlocal.xml
и обновлял страницу. Мне тогда подарили ошибкуRequired parameter 'theme_dir' was not passed
.Я решил эту ошибку, вернувшись в свой браузерный браузер Magento 2 (« Магазины»> «Конфигурация»> «ТЕМАТИЧЕСКИЕ НАСТРОЙКИ»> «ОБЩИЕ»> «Дизайн»> «Тема оформления» ), в котором была выбрана моя предыдущая и теперь недопустимая тема оформления, поэтому я выбрал правильную.
источник
Эта ошибка произошла со мной при сохранении изображений продукта после установки пользовательской темы.
У меня была настраиваемая тема, которая была установлена как виртуальный тип, который находится в БД в таблице тем, введите = 1. В моем случае я больше не использовал тему, поэтому удалил ее из таблицы.
источник
1 - Используйте команду ниже, чтобы определить темы в панели администратора.
2 - Запустите команду для определения установленных тем:
3- Запустите эти команды ниже, чтобы создать несуществующую тему:
источник
Если ничего не получилось, не забудьте проверить раздел категорий. Там тоже есть настройки дизайна. Убедитесь, что выбрана правильная тема оформления. В моем случае я получал ошибку только по некоторым категориям.
источник
Когда вы добавляете или редактируете продукт, перейдите в раздел «Дизайн» и измените макет.
источник
Вы можете удалить неиспользованную тему из БД напрямую, выполнив следующий запрос:
Когда неиспользованная тема является неиспользуемой темой, а после вы очистите свой кеш
источник
У меня была эта проблема, когда я случайно удалил папку app / desing / adminhtml / theme-name. Возвращение решило мою проблему. Более того, это происходило только тогда, когда я пытался войти в панель администратора.
источник
В некоторых случаях вы удаляете пользовательскую тему неправильно, тогда вы также столкнетесь с этой ошибкой. В этой ситуации:
Обновить страницу ошибка исчезла.
источник
Я решил проблему. В моем случае проблема заключалась не в Magento2, а в неправильной операции, которую я выполнял некоторое время назад следующим образом: я создал тему, создающую относительный путь в app / design / frontend / MyFolder / MyTheme, и зарегистрировал ее, как объяснено в онлайн-документации Magento 2. Тогда я решил отменить тему и вместо этого использовать соответствующую команду: bin / magento theme: uninstall frontend / MyFolder / MyTheme, я удалил папки напрямую. Это не очень хорошая операция, так как база данных не обновляется необходимой информацией. Решение: с помощью редактора базы данных phpmyadmin удалите запись в таблице «Тема», соответствующую удаленным папкам. Я надеюсь, это поможет!
источник
Я знаю, что этот вопрос довольно старый, но поскольку я столкнулся с этим только сегодня и быстро выяснил, в чем заключалась моя проблема, я решил опубликовать свой ответ в качестве напоминания для всех тех, кто, как и я, использует PhpStorm для работы с Magento: не забудьте проверить свои файлы при переключении веток.
В моем случае у ветви, над которой я работал, не было необходимых файлов темы (они были спрятаны PhpStorm, когда я перешел из ветви темы в основную ветку), потому что они еще не были объединены, поэтому ошибка.
Надеюсь, это может кому-то помочь.
источник
удалите все временные файлы темы, которые не используются на сайте, а также удалите из темы, которая не используется, и запустите кеш: flush
источник