Cuál es el mensaje de error:
El parámetro requerido 'theme_dir' no se pasó
¿Está relacionado con Magento 2? ¿Y cómo se puede solucionar este problema?
Cuál es el mensaje de error:
El parámetro requerido 'theme_dir' no se pasó
¿Está relacionado con Magento 2? ¿Y cómo se puede solucionar este problema?
Respuestas:
Por si acaso, si está eliminando el tema directamente (no en modo Magento).
Luego sigue estos pasos.
PASO 1: Operaciones de archivo
Elimine el contenido de
app/design/frontend/<Vendor>
(asegúrese de hacer una copia de seguridad primero).Eliminar todo el contenido de la carpeta
var/view_preprocessed
&pub/static/frontend
.PASO 2: Operaciones DB
Vaya a su
theme
tabla y elimine la entrada para su tema creado.Después de esto...
Vaya a su
core_config_data
tabla y busquetheme
y obtendrá registros de ruta comodesign/theme/theme_id
reemplazar su identificación de tema predeterminada.PASO 3: Vaciar caché
Vacía tu caché
php bin/magento cache:flush
Avísame si aún tienes problemas después de eso.
fuente
theme
tabla, pero olvidé elcore_config_data
valor.setup:static-content:deploy
admin regresó a la interfaz de usuario.pub/static/.htaccess
fue que no estaba allí. graciasEste mensaje de error significa que tiene un tema configurado que no existe en el sistema de archivos (más).
Se puede solucionar fácilmente seleccionando un tema válido en su lugar. Vaya a Contenido -> Configuración , seleccione el alcance (global, sitio web, store_view) y cambie el tema. Después de hacerlo, también debe eliminarlo de Contenido -> Temas .
Referencias
fuente
En mi caso, eliminé un tema secundario del directorio de proveedores. Pero la entrada DB todavía estaba allí en la
theme
tabla. Vaya a latheme
tabla y elimine el registro que apunta al tema eliminado.fuente
composer remove vendor/theme
?rm -rf vendor/theme
Asegúrese de que la
theme
entrada a la mesa y lamagento\app\design\frontend\<Vendor>
entrada sean las mismas.Si no, causa este problema.
Elimine temas innecesarios a través de Admin -> Contenido -> Diseño -> Temas . Bórralo. Por lo tanto, también eliminará la entrada de DB.
Si solo elimina la carpeta, entonces no funcionará
fuente
Este problema también puede ocurrir cuando está en un estado emulado, por ejemplo, en un comando CLI. Tuve una situación en la que no podía enviar un correo electrónico en la CLI, porque el comando de ajuste se ejecutaba en un estado emulado:
En el ejemplo anterior, cuando el correo electrónico intentaba determinar su directorio de plantilla, se asignaba a
global/Magento/backend
, que no existe. Para solucionar esto, tuve que agregarlo manualmente en mi constructor:Después de esta solución, el problema se resolvió y pude enviar el correo electrónico.
Actualizar:
Cuando se trata de enviar correo utilizando la CLI, un enfoque más adecuado sería utilizar la emulación. Por ejemplo:
De esta manera no tienes que hacer tus pequeños trucos sucios.
fuente
correr
sql UPDATE core_config_data SET value=NULL WHERE path='design/theme/theme_id'
a continuación, desactive las
pub/static/frontend
,var/view_preprocessing
,var/cache
,var/page_cache
directorios.fuente
@hakre es correcto. Tengo el mismo error
Required parameter 'theme_dir' was not passed
. A continuación explico lo que hice para causar el error:Creé un tema en el directorio app / design / frontend / MyVendorTheme2 / myThemeName2 , y luego lo configuré seleccionando el tema " MyVendorTheme2 - myThemeName2 " en el navegador Magento 2 Admin ( Tiendas> Configuración> CONFIGURACIÓN DE TEMAS> GENERAL> Diseño> Tema de diseño ) . Pero luego decidí mover el directorio " myThemeName2 " (que contiene mi nuevo tema) para que esté bajo una carpeta de proveedor diferente (existente) " MyVendorTheme1 " app / design / frontend / MyVendorTheme1 / myThemeName2 , y lo eliminé de la carpeta " MyVendorTheme2 " donde fue antes. Procedí a compilar los activos (es decir
grunt clean
,grunt exec:myThemeName2
,grunt less:myThemeName2
), y luego abrí mi navegador en mi subdominio de tema (es decir, http: // myvirtualhostdomain: myport / myvendortheme1_mythemename2_magento2_quickstart / ).Inicialmente recibí un error no especificado:
There has been an error processing your request Exception printing is disabled by default for security reasons. Error log record number:
He activado el informe de errores al cambiar el nombre
pub/errors/local.xml.sample
delocal.xml
, y refrescado la página. Entonces me presentaron el errorRequired parameter 'theme_dir' was not passed
.Resolví el error volviendo a mi navegador Magento 2 Admin ( Tiendas> Configuración> CONFIGURACIÓN DE TEMAS> GENERAL> Diseño> Tema de diseño ), que tenía mi tema de diseño anterior y ahora no válido, así que elegí el correcto.
fuente
Este error me ocurrió al guardar las imágenes del producto después de instalar un tema personalizado.
Tenía el tema personalizado que se estableció como un tipo virtual, que está en la base de datos en la tabla de temas, tipo = 1. En mi caso, ya no estaba usando el tema, así que lo eliminé de la tabla.
fuente
1 - Utilice el siguiente comando para identificar los temas en el panel de administración.
2 - Ejecute el comando para identificar los temas instalados:
3- Ejecute estos comandos a continuación para crear el tema que no existe:
fuente
Si nada ha funcionado, no olvides consultar la sección de categorías. Hay una configuración de diseño allí también. Asegúrese de asignar el tema de diseño correcto. En mi caso, recibí el error solo en algunas categorías.
fuente
Cuando agrega o edita un producto, vaya a la sección Diseño y cambie la opción de diseño.
fuente
Puede eliminar el tema no utilizado de DB directamente ejecutando esta consulta a continuación:
cuando un tema no utilizado es el tema no utilizado, y después de que limpie su caché
fuente
Tuve este problema cuando eliminé por accidente la carpeta app / desing / adminhtml / theme-name. Recuperarlo resolvió mi problema. Además, solo ocurrió cuando intenté ingresar al Panel de administración.
fuente
En algunos casos, elimina el tema personalizado de la manera adecuada, entonces también se enfrentará a este error. En esta situación:
Actualice el error de página desaparecido.
fuente
Resolví el problema. En mi caso, el problema no era Magento2, sino una operación incorrecta que hice hace tiempo como sigue: creé un tema creando la ruta relativa en app / design / frontend / MyFolder / MyTheme y lo registré como se explica en la documentación en línea de Magento 2. Luego decidí cancelar el tema y, en su lugar, usar el comando apropiado: tema bin / magento: desinstalar frontend / MyFolder / MyTheme Eliminé las carpetas directamente. Esta no es una buena operación ya que la base de datos no se actualiza con la información debida. Solución: con un editor de base de datos como phpmyadmin, elimine el registro en la tabla "Tema" correspondiente a las carpetas eliminadas. ¡Espero que esto sea de ayuda!
fuente
Sé que esta pregunta es bastante antigua, pero como me encontré con esto hace poco y descubrí rápidamente cuál era mi problema, decidí publicar mi respuesta como un recordatorio para todos aquellos que, como yo, usan PhpStorm para trabajar con Magento: recuerde revisar sus archivos cuando cambie de sucursales.
En mi caso, la rama en la que estaba trabajando no tenía los archivos de tema requeridos (fueron escondidos por PhpStorm cuando cambié de la rama de tema a la rama maestra) porque aún no se han fusionado, por lo tanto, el error.
Espero que esto pueda ayudar a alguien.
fuente
elimine todos los archivos temporales del tema que no está utilizando en el sitio web y elimine también del tema que no está utilizando y ejecute el caché: flush
fuente