Magento2: No se puede cambiar el tema aplicado en 2.2.4

Creado en 3 may. 2018  ·  119Comentarios  ·  Fuente: magento/magento2

Condiciones previas

  1. Magento 2.2.4
  2. PHP 7.1

pasos para reproducir

  1. Vaya a Contenido> Diseño> Configuración
  2. Edite la vista de la tienda e intente cambiar el "tema aplicado" a otro
  3. Guardar configuración

Resultado Esperado

  1. Cambiar el tema

Resultado actual

  1. Aparece el error: "Se produjo un error al guardar esta configuración: el área ya está configurada"
Fixed in 2.2.x Clear Description Confirmed Format is valid

Comentario más útil

Puede verificar, también experimentando este problema exacto.

Todos 119 comentarios

Puede verificar, también experimentando este problema exacto.

De hecho, también se puede confirmar en una instalación limpia 2.2.4.
Solo ocurre en el nivel de visualización de la tienda, en el sitio web o en el nivel global, funciona como se esperaba.

No puedo reproducir esto en una instalación 2.2.3 limpia, así que parece que este es un nuevo error en 2.2.4, ¡yay!

@ sferreira-nicopu acaba de agregarme a la conversación ya que experimentamos el mismo problema ayer después de actualizar nuestro Magento Commerce Cloud a esta versión

También estoy viendo este problema, pero intento actualizar el logotipo y guardar.

+1
Clase Magento\Email\Model\AbstractTemplate :
$this->area ya está configurado en $this->emailConfig->getTemplateArea($templateId) return frontend .
nota: $templateId es igual a "design_email_header_template"

    public function setForcedArea($templateId)
    {
        if ($this->area) {
            throw new \LogicException(__('Area is already set'));
        }
        $this->area = $this->emailConfig->getTemplateArea($templateId);
        return $this;
    }

¿No deberíamos tener este código en su lugar?

   public function setForcedArea($templateId)
    {
        if (!isset($this->area)) {
           $this->area = $this->emailConfig->getTemplateArea($templateId);
        }
        return $this;
    }

aquí un stacktrace:

[2018-05-04 10:44:23] main.CRITICAL: Exception message: Area is already set
Trace: #0 /var/www/mysite/www.mysite/vendor/magento/module-theme/Model/Design/Config/Validator.php(117): Magento\Email\Model\AbstractTemplate->setForcedArea('design_email_he...')
#1 /var/www/mysite/www.mysite/vendor/magento/module-theme/Model/Design/Config/Validator.php(68): Magento\Theme\Model\Design\Config\Validator->getTemplateText('design_email_he...', Object(Magento\Theme\Model\Data\Design\Config))
#2 /var/www/mysite/www.mysite/vendor/magento/module-theme/Model/DesignConfigRepository.php(91): Magento\Theme\Model\Design\Config\Validator->validate(Object(Magento\Theme\Model\Data\Design\Config))
#3 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Theme\Model\DesignConfigRepository->save(Object(Magento\Theme\Model\Data\Design\Config))
#4 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Theme\Model\DesignConfigRepository\Interceptor->___callParent('save', Array)
#5 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Theme\Model\DesignConfigRepository\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Theme\Model\Data\Design\Config))
#6 /var/www/mysite/www.mysite/generated/code/Magento/Theme/Model/DesignConfigRepository/Interceptor.php(39): Magento\Theme\Model\DesignConfigRepository\Interceptor->___callPlugins('save', Array, Array)
#7 /var/www/mysite/www.mysite/vendor/magento/module-theme/Controller/Adminhtml/Design/Config/Save.php(75): Magento\Theme\Model\DesignConfigRepository\Interceptor->save(Object(Magento\Theme\Model\Data\Design\Config))
#8 /var/www/mysite/www.mysite/generated/code/Magento/Theme/Controller/Adminhtml/Design/Config/Save/Interceptor.php(24): Magento\Theme\Controller\Adminhtml\Design\Config\Save->execute()
#9 /var/www/mysite/www.mysite/vendor/magento/framework/App/Action/Action.php(107): Magento\Theme\Controller\Adminhtml\Design\Config\Save\Interceptor->execute()
#10 /var/www/mysite/www.mysite/vendor/magento/module-backend/App/AbstractAction.php(229): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#11 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http))
#12 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Theme\Controller\Adminhtml\Design\Config\Save\Interceptor->___callParent('dispatch', Array)
#13 /var/www/mysite/www.mysite/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(143): Magento\Theme\Controller\Adminhtml\Design\Config\Save\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#14 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Magento\Theme\Controller\Adminhtml\Design\Config\Save\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#15 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Theme\Controller\Adminhtml\Design\Config\Save\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#16 /var/www/mysite/www.mysite/generated/code/Magento/Theme/Controller/Adminhtml/Design/Config/Save/Interceptor.php(39): Magento\Theme\Controller\Adminhtml\Design\Config\Save\Interceptor->___callPlugins('dispatch', Array, NULL)
#17 /var/www/mysite/www.mysite/vendor/magento/framework/App/FrontController.php(55): Magento\Theme\Controller\Adminhtml\Design\Config\Save\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#18 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#19 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#20 /var/www/mysite/www.mysite/vendor/mymodule/m2-module-core/Plugin/App/FrontController.php(122): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#21 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(135): Module\Core\Plugin\App\FrontController->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#22 /var/www/mysite/www.mysite/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#23 /var/www/mysite/www.mysite/generated/code/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#24 /var/www/mysite/www.mysite/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#25 /var/www/mysite/www.mysite/generated/code/Magento/Framework/App/Http/Interceptor.php(24): Magento\Framework\App\Http->launch()
#26 /var/www/mysite/www.mysite/vendor/magento/framework/App/Bootstrap.php(256): Magento\Framework\App\Http\Interceptor->launch()
#27 /var/www/mysite/www.mysite/pub/index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#28 {main} [] []

obteniendo la misma culpa.

Hola gtlt,
¡¡¡Tienes toda la razón en el mundo !!!
Cuando cambiamos en Magento \ Email \ Model \ AbstractTemplate.php esto:
función pública setForcedArea ($ templateId)
{
if ($ this-> area) {
lanzar new \ LogicException (__ ('El área ya está configurada'));
}
$ this-> area = $ this-> emailConfig-> getTemplateArea ($ templateId);
return $ this;
}

Para esto:
función pública setForcedArea ($ templateId)
{
if (! isset ($ this-> area)) {
$ this-> area = $ this-> emailConfig-> getTemplateArea ($ templateId);
}
return $ this;
}
¡¡¡trabaja!!! Y llenan correctamente core_config_data y design_config_grid_flat:

core_config_data: https://www.magentochile.cl/blog/wikis-images/bug/core_config_data.jpg

design_config_grid_flat: https://www.magentochile.cl/blog/wikis-images/bug/design_config_grid_flat.jpg

Sería bueno tener algunas pruebas de regresión para tales cosas para prevenir potencialmente tales problemas. ¿Cómo podemos ayudar aquí con las pruebas?

@magentochile la clase Magento\Email\Model\AbstractTemplate no cambió desde agosto pasado , así que no estoy seguro de que cambiar el método setForcedArea sea ​​la solución correcta, no investigué para verificar si tiene efectos secundarios (como en la generación de correo electrónico, etc.).

Hola, también encontré el mismo problema.

Mismo problema. Apliqué el código de arriba, pero no espero que esta sea la solución final. ¿Cuándo se arreglará?

Estimados señores, creo que deben mirar:

$ this-> area = isset ($ data ['area'])? $ datos ['área']: nulo;

Y rastrearlo hasta donde llegue ... ahora estoy configurando una tienda Magento 2 y no voy a dejarlo ir ... si logro terminar la tienda, haré un seguimiento. Tal vez vea lo que lanza con un:
echo $ datos ['área'];
var_dump ($ datos ['área']);

y mira lo que arroja ... ¿qué hay en $ data ['area'] que dice que el área ya está configurada!

Hm, si la clase no cambió, ¿la interfaz o los consumidores cambiaron su uso?

Al intentar cambiar el tema en la versión nueva de Magento 2.2.4 se produjo el error "Algo salió mal al guardar esta configuración: el área ya está configurada". ¿Alguna solución todavía?

También estoy enfrentando este problema en la instalación nueva de magento 2.2.4

Experimento el mismo problema en la instalación nueva de 2.2.4

No estoy seguro de si esto ayuda, pero PUEDO guardar el tema en el nivel del sitio web. El error solo me ocurre en el nivel de vista de la tienda. Cambiar el tema y guardar en el nivel del sitio web actualiza el tema de la vista de la tienda.

El nivel correcto, global y del sitio web funciona, pero no el nivel de vista de la tienda.

Yo tambien estoy teniendo este problema. 2.2.4.

Pude evitarlo cambiando el valor theme_id en la tabla core_config_data manualmente. Aún no se conocen efectos secundarios.

También he comenzado a tener este problema desde que actualicé de 2.2.3 a 2.2.4 ...

Lo intentaré y trataré de dividirlo mañana, ya que esto parece afectar a muchos usuarios y aún no tenemos una solución o la causa de esto.

Experimentando el mismo problema aquí Magento 2.2.4

Hola amigos,

Me detuve en mi trabajo y volví a ver el error. E hice el ensayo para agregar echo $ this-> area, pero en el "lanzar nuevo" y me dio el siguiente resultado:

función pública setForcedArea ($ templateId)
{
if ($ this-> area) {
// lanza new \ LogicException (__ ('El área ya está configurada'));
lanzar nueva \ LogicException (__ ($ this-> area));
}
$ this-> area = $ this-> emailConfig-> getTemplateArea ($ templateId);
return $ this;
}

Y me dio el resultado de:
Algo salió mal al guardar esta configuración: adminhtml

El área "adminhtml" es que creo que no debes asignar el área a lo que corresponde a la plantilla de frontend. Aquí hay documentación de eso: https://devdocs.magento.com/guides/v2.0/architecture/archi_perspectives/components/modules/mod_and_areas.html

Entonces, ¿qué se podría hacer una pequeña corrección, aunque no es lo correcto, podría ser así (aparte del área "adminhtml"):

función pública setForcedArea ($ templateId)
{
// si ($ esta-> área) {
if ($ this-> area! == 'adminhtml') {
lanzar new \ LogicException (__ ('El área ya está configurada'));
}
$ this-> area = $ this-> emailConfig-> getTemplateArea ($ templateId);
return $ this;
}
Mira la siguiente imagen:
https://www.magentochile.cl/blog/wikis-images/bug/save-adminhtml-area.jpg

Saludos,

Boris Durán R.

Ésta es la causa.

git bisect bad
d3aef7c3eef658baa00d3233d0352b5fed0f1cbe is the first bad commit
commit d3aef7c3eef658baa00d3233d0352b5fed0f1cbe
Author: Andrii Meysar <[email protected]>
Date:   Wed Mar 21 18:16:42 2018 +0200

    MAGETWO-89261: Template file 'header.html' is not found.

:040000 040000 7437b710bf3a7e2a357f9bfd71a6d488aa225812 9f8cf78d8757c7a8d1aa17ad0ec0b2ef6b433cf2 M      app

https://github.com/magento/magento2/commit/3f6464da2c7cd4d7db8bf07cfbf51cc17ee1993a

¿Dónde podemos obtener detalles sobre MAGETWO-89261: Template file 'header.html' is not found. ?
¿Qué problema resolvió y debería resolverse de otra manera?

@DanielRuf : podría estar relacionado con https://github.com/magento/magento2/issues/13530
¿Puede verificar después de su corrección que este error no se activa nuevamente (solo estaba en el alcance global o del sitio web)?
¡Gracias!

¿Puede verificar después de su corrección que este error no se activa nuevamente (solo estaba en el alcance global o del sitio web)?
¡Gracias!

Lo probé en una nueva configuración donde cloné magento / magento2 e hice la bisección directamente y puedo reproducirlo con la línea y no está sucediendo sin la línea.

@DanielRuf : podría estar relacionado con # 13530

No se puede reproducir con mi cambio con un nuevo desarrollo 2.2.

Pero haré algunas pruebas más ahora.

Hm, tienes razón. Proporcionaré otro conjunto de cambios para mi RP.

@Krapulat Me enfrenté al mismo problema.

Abierto
Archivo Magento \ Email \ Model \ AbstractTemplate.php
y reemplace la función setForcedArea con este código

función pública setForcedArea ($ templateId)
{
if (! isset ($ this-> area)) {
$ this-> area = $ this-> emailConfig-> getTemplateArea ($ templateId);
}
return $ this;
}

Esto funcionó para mí: 100:

@DanielRuf : podría estar relacionado con # 13530
¿Puede verificar después de su corrección que este error no se activa nuevamente (solo estaba en el alcance global o del sitio web)?
¡Gracias!

No está directamente relacionado ya que el error con header.htl proviene de la configuración de correo como parece. La llamada de área forzada no es la solución correcta aquí.

@ fahadmunir158 gracias, lo

En general, haría otra bisección para encontrar al culpable de su problema @hostep , cualquier otra cosa es más como adivinar y elegir cualquier solución que pueda ser la causa. ¿Cuándo funcionó y cuándo se introdujo?

Además, el docblock setForcedArea no me parece correcto.

     * <strong i="6">@throws</strong> \Magento\Framework\Exception\MailException
...
throw new \LogicException(__('Area is already set'));

@ fahadmunir158, su solución podría ser la correcta, ya que el código actual tiene 3 años y probablemente esté desactualizado.

https://github.com/magento/magento2/blame/2.2-develop/app/code/Magento/Email/Model/AbstractTemplate.php#L538

@ fahadmunir158 Impulsé el cambio propuesto a mi PR. Por favor, avíseme si debo agregarlo como coautor =)

@hostep Todavía no entiendo la conexión entre su número de problema y el que se hace referencia en el compromiso que causó esta regresión.

¿Cuándo funcionó y cuándo se introdujo?

Estoy bastante seguro de que el error que informé aún no existía en 2.2.3, lo encontré mientras hacía algunas pruebas directamente en la rama 2.2-develop en ese momento, así que creo que se introdujo ese error en particular en algún lugar entre la etiqueta 2.2.3 y el compromiso que resultó ser la causa de este nuevo problema: https://github.com/magento/magento2/commit/d3aef7c3eef658baa00d3233d0352b5fed0f1cbe (o tal vez incluso más estrecho, el compromiso al que hice referencia en el informe : f18377b9e598fd5316963f9e4deb7e54547a638c), pero es difícil de decir con todas las ramas que se fusionan por todas partes en el código base de Magento2.
A pesar de que 2.2.3 se lanzó después de que informé del error, estoy casi 100% seguro de que el error aún no se introdujo en esa versión.

Espero que esto ayude de alguna manera :)

@hostep Todavía no entiendo la conexión entre su número de problema y el que se hace referencia en el compromiso que causó esta regresión.

Está relacionado porque el sistema de plantillas de correo electrónico está utilizando header.phtml . Pero probablemente ya lo sabías.

@hostep , ¿también puedes

magento2$ git bisect start
ssh-w00b8941<strong i="5">@dd20014</strong>:/www/htdocs/websites/magento-bisect/magento2$ git bisect good f3f8975c3f48ad8d2a3221153bcce9f82a5b84b8
ssh-w00b8941<strong i="6">@dd20014</strong>:/www/htdocs/magento-bisect/magento2$ git bisect bad 61c3ba691512d36001baedb22d58bab5cb16e05f
Bisecting: 1197 revisions left to test after this (roughly 10 steps)
[83a7c1cbad1ff0c01714296733f9ee80395469ca] MAGETWO-85904: Investigate fluctuations of PAT Nightly build
ssh-w00b8941<strong i="7">@dd20014</strong>:/www/htdocs/websites/magento-bisect#/magento2$

Este sería el primer paso.

Veré si puedo encontrar algo de tiempo en un par de minutos. Estoy familiarizado con la bisección, pero es un poco complicado en Magento 2 debido al sistema de migración de la base de datos. Avanzar es factible, retroceder significa que debe reinstalar la base de datos nuevamente (a veces). Pero es factible.
Veré lo que puedo hacer.

Estoy familiarizado con la bisección, pero es un poco molesto en Magento 2 debido al sistema de migración de la base de datos.

Estos cambios no deben estar relacionados con cambios reales en la base de datos.

La bisección reveló esta confirmación https://github.com/magento/magento2/commit/5e93220a56bd741d3ec27b8a0fffd2f539e4e473 (es una solución para https://github.com/magento/magento2/issues/8437). Sin embargo, creo que este compromiso hace lo correcto y solo reveló un problema más profundo.

Esto es solo una suposición aquí: de alguna manera, al guardar la configuración del diseño, el sistema de plantillas de correo electrónico intenta cargar una plantilla de correo electrónico (de lo contrario, no intentaría cargar el archivo header.phtml ). Esos archivos de plantilla de correo electrónico no están disponibles en el área adminhtml, solo existen en el área frontend ( creo que Actualización : esto no es correcto, las plantillas de correo electrónico pueden existir tanto en el área adminhtml como en el área frontend).
Creo que debemos averiguar por qué, al guardar la configuración del diseño, el sistema de plantillas de correo electrónico está intentando cargar una plantilla de correo electrónico y deberíamos intentar deshabilitar eso, que probablemente sea la solución correcta.

Todo esto es en teoría, no estoy muy familiarizado con todos estos sistemas, por lo que podría estar completamente equivocado :)

El encabezado y pie de página del correo electrónico está un poco hacia abajo en la página de configuración de diseño del contexto global.

Parece que la sugerencia de @gtlt y la última versión de las relaciones públicas de @DanielRuf corrigen tanto https://github.com/magento/magento2/issues/14968 como https://github.com/magento/magento2/issues/ 13530 y pensándolo bien, ¡probablemente sea la mejor solución!

Personalmente, todavía no estoy seguro de si esta es / sería la solución "correcta" (de la causa raíz) =)

Esperando comentarios de todos los demás usuarios afectados que votaron a favor y respondieron.

El mismo problema aquí "Algo salió mal al guardar esta configuración: El área ya está configurada" al intentar cambiar el tema aplicado Magento CE 2.2.4.

Intenté escribir un complemento para este problema, pero no pude hacerlo funcionar: dado que la propiedad $ emailConfig está protegida, no puedo acceder a esa propiedad en mi complemento. ¿Es siquiera posible?

Intenté escribir un complemento para este problema

¿Por qué?

Ya existe un PR abierto que resuelve esto. Por favor pruébelo.
Ver https://github.com/magento/magento2/pull/15137

Hola @Krapulat. Gracias por tu informe.
El problema ha sido solucionado en magento / magento2 # 15137 por @DanielRuf en 2.2-
Compromisos relacionados:

La corrección estará disponible con la próxima versión 2.2.5.

Solo quiero confirmar que esta solución https://github.com/magento/magento2/commit/0dec988872e175e568c2bf4bb29548ab7a4698e5 hizo el trabajo. Lo probé en Magento 2.2.4 limpio y el error "Something went wrong while saving this configuration: Area is already set" ya no aparece.

@ magento / community-engineering-team,

Puedes por favor aclarar

15137 es el RP final para este problema?

Puedes por favor aclarar

15137 es el RP final para este problema?

Sí, este es el RP final que ya se fusionó para 2.2.5.

@DanielRuf gracias

con esa solución en su lugar, no puede guardar la información principal de HTML a nivel de vista de tienda. Dice que se guardó correctamente, pero nada cambia.

@pixiemediaweb ¿puedes comprobar si esto sucedió antes de mis cambios?

¿Hay algún problema con este error?

hola, lo siento, fue una pista falsa, aunque no estaba cambiando en la página, se estaba actualizando en la base de datos. Se limpió el caché de Magento y todo vuelve a funcionar correctamente.

Hola @DanielRuf

Estaba pasando por el mismo problema. Gracias por la solución. Realizó cambios en el archivo en esta ubicación.

proveedor / magento / module-email / Model / AbstractTemplate.php

La función final se ve a continuación

public function setForcedArea($templateId)
    {

        if (!isset($this->area)) {
            $this->area = $this->emailConfig->getTemplateArea($templateId);
        }
        return $this;
    }

Ahora guarda el tema en el nivel de vista de la tienda y las otras configuraciones.

Gracias

@ Vikram0811
se parece a esto .
función pública setForcedArea ($ templateId)
{
if (! isset ($ this-> area)) {
$ this-> area = $ this-> emailConfig-> getTemplateArea ($ templateId);
}
// $ esto-> área = $ esto-> emailConfig-> getTemplateArea ($ templateId);
return $ this;
}

Ya está resuelto en las ramas de desarrollo actuales ;-)

@ denda888 , mi mal. He corregido el código.

@DanielRuf , sí, se ha resuelto en las ramas de desarrollo actuales, pero como ya comencé el desarrollo en 2.2.4, lo he arreglado en la configuración de mi código.

Gracias.

Hola tios,

un pequeño módulo para arreglarlo sin tocar el núcleo:

https://github.com/pfortin-expertime/MageFix-Misc

Disfrutar :)

Ya está arreglado en la versión 2.2 actual.

composer-patches sería el enfoque correcto.

Estoy enfrentando el mismo problema. Parece un nuevo error en la versión 2.2.4.

Háganos saber si está resuelto.

Estoy enfrentando el mismo problema. Parece un nuevo error en la versión 2.2.4.

Háganos saber si está resuelto.

Se resolverá en 2.2.5.

Gracias DanielRuf ..

Problemas tontos como este es lo que hace que trabajar con Magento2 sea realmente frustrante: 4 años en este proyecto y estos insectos pestilentes (que no existían en M1) todavía surgen 👎

@treestonemedia lo siento, pero aquí cambiamos un código muy antiguo para arreglarlo en 2.2.5. Entonces todo esta bien.

Mientras tanto, puede utilizar los parches del compositor.

@DanielRuf gracias por la ayuda que no

@judaschwartz , puede aplicar un parche de la solicitud de extracción de inmediato y luego: https://github.com/magento/magento2/pull/15137.patch

Tenga en cuenta que normalmente debería instalar Magento a través de Composer.

@ pfortin-expertime

¿Cómo aplico el parche Github? Estoy instalando desde GoDaddy, por lo que Composer es no-no.

¿Lo pongo en magento / app / design / frontend / Custom / theme-custom-less [mi tema personalizado]?
?

Además, ¿qué archivos necesito modificar para cambiar ...?
función pública setForcedArea ($ templateId)
{
if (! isset ($ this-> area)) {
$ this-> area = $ this-> emailConfig-> getTemplateArea ($ templateId);
}
return $ this;
}

Hola @stephyswe ,

¿Cómo se despliega a godaddy? Aún puedes crear una versión en otra máquina a través del compositor y luego exportar la compilación resultante a godaddy. De esta manera, le permite utilizar el enfoque preferido para integradores de composer.

Hola, ¿alguna razón por la que la solución no está en la nueva versión 2.2.5?

Debería estar en 2.2.5. ¿Dónde revisaste los archivos?

Actualicé magento a través del compositor desde 2.2.4 -> 2.2.5 pero mi carpeta de proveedor / magento no tiene la actualización. Tal vez cometí un error, lo verificaré dos veces

Oh, eso parece. El archivo se modificó por última vez en 2017

¿Que pasó aquí?

https://github.com/magento/magento2/blob/2.2.5/app/code/Magento/Email/Model/AbstractTemplate.php

Eso es lo que yo también tenía. Extraño

@ magento-engcom-team https://github.com/magento/magento2/pull/15137#issuecomment -389654283

@orlangur

¿Se marcó la confirmación incorrecta para 2.2.5?

Hola @DanielRuf , veré qué puedo averiguar sobre esto por ti.

¿Alguien más ha tenido problemas con el almacenamiento en caché de la configuración visible después del parche? Hemos parcheado un par de sitios y un cliente dijo hoy que no pueden actualizar un método de envío a "desactivado". Lo probé y confirmé que permanecía en 'sí' pero el valor de db se estaba actualizando. Después de vaciar el almacenamiento en caché, se muestra correctamente, pero las configuraciones de configuración en el administrador no deben almacenarse en caché.

Hola @DanielRuf , parece que hubo una configuración incorrecta con nuestro bot y tenía la fecha de corte incorrecta para que los cambios se incluyan en la versión 2.2.5. Disculpe las molestias que esto le haya causado, pero sus cambios estarán disponibles en la próxima versión.

Hola @DanielRuf , parece que hubo una configuración incorrecta con nuestro bot y tenía la fecha de corte incorrecta para que los cambios se incluyan en la versión 2.2.5. Disculpe las molestias que esto le haya causado, pero sus cambios estarán disponibles en la próxima versión.

Hm = (

¿Cuándo se lanzará la 2.2.6?
¿Existe un horario en el que pueda ver las fechas previstas?

@DanielRuf No estoy seguro de si tenemos una fecha pública todavía, pero como parte de las notas de la versión 2.2.5 hay una nota sobre los ciclos de la versión.

With Magento 2.2.5, we are moving to a quarterly release cycle for minor releases. Quarterly releases contain bug fixes, security enhancements, introduction of new bundled extensions, and community code contributions.

https://devdocs.magento.com/guides/v2.2/release-notes/bk-release-notes.html

@dmanners : ¿Trimestral, es decir, solo 4 veces al año? Maldita sea, eso es aún peor que lo que tenemos actualmente: s

Afortunadamente, cada vez más personas parecen saber cómo parchear su instalación ...

Hola @hostep , entiendo que esto podría ser frustrante para algunas personas, pero si lo comparas con otros sistemas y marcos, esto es aún más frecuente. Por ejemplo, a menos que me equivoque, Symfony todavía realiza lanzamientos menores dos veces al año y lanzamientos principales cada 2 años.

@dmanners : ¿Trimestral, es decir, solo 4 veces al año? Maldita sea, eso es aún peor que lo que tenemos actualmente: s

Estoy totalmente de acuerdo, esto es peor que antes.

Symfony todavía realiza lanzamientos menores dos veces al año y lanzamientos principales cada 2 años.

https://github.com/symfony/symfony/tags

Realmente no se puede comparar Symfony con Magento, porque la numeración de las versiones es diferente. En Magento, una versión de parche es la misma que una versión menor en Symfony.

Cualquier posibilidad de introducir un cuarto número en el control de versiones de Magento, que es solo para correcciones de errores (sin nuevas funciones, sin mejoras de rendimiento, sin nuevos errores). ¿Y lanzar esos como cada mes?

@DanielRuf Según tengo entendido, Symfony sigue a Semver 2.0.0, lo que significaría que un número de versión seguiría a MAJOR.MINOR.PATCH, por lo que en este caso hacen un lanzamiento menor en mayo y noviembre del año. Los parches salen con más frecuencia, pero los menores estarán en mayo y noviembre. Por ejemplo: 4.0.0 salió el 30 de noviembre de 2017 y la siguiente versión secundaria 4.1.0 salió el 30 de mayo de 2018. Pero sí, proporcionan versiones de parches intermedios, como 4.0.1

El problema sigue presente en la instalación limpia 2.2.5

@radub El problema se solucionará en 2.2.6. El bot publicó la versión de corrección incorrecta, consulte https://github.com/magento/magento2/issues/14968#issuecomment -400960656 para obtener una explicación más detallada.

Experimenté el mismo problema

He comprobado el siguiente archivo y modifiqué el código en consecuencia de la siguiente manera:

Archivo: Magento \ Email \ Model \ AbstractTemplate

public function setForcedArea($templateId)
{
    if (!isset($this->area)) {
        // throw new \LogicException(('Area is already set'));
            $this->area = $this->emailConfig->getTemplateArea($templateId);
    }
    return $this;
}

y finalmente funcionó!

Supongo que te refieres

if (!isset($this->area)) { $this->area = $this->emailConfig->getTemplateArea($templateId); } return $this;

Es bueno ver que ustedes solucionaron este problema 👍
Sin embargo, me gustaría preguntar si alguien puede explicar cómo se puede solucionar este problema con una instalación de compositor.
en mi entorno actual no veo una carpeta de Magento en la aplicación /
También hice una búsqueda en el directorio de proveedores pero no pude encontrarlo, por lo que cualquier ayuda es bienvenida :).

@ghermans puedes lograr esto de 2 o 3 formas diferentes.

  1. actualizar directamente el código central implementado que se encuentra aquí,
    vendor/magento/module-email/Model/AbstractTemplate.php:535'ish

  2. aplicar un parche de git (no tengo el SHA para esta opción, pero tal vez alguien @ aquí podría

  3. cree un complemento usted mismo que use la inyección de dependencia y establezca ForcedArea de esta manera

public function setForcedArea($templateId)
    {
        if (!isset($this->area)) {
         $this->area = $this->emailConfig->getTemplateArea($templateId);   
        }
        return $this;
    }
  1. Utilice un módulo listo para redactar existente como este
    https://github.com/pfortin-expertime/MageFix-Misc

Buena suerte

Gracias por la respuesta rápida y los comentarios detallados.

Adicional: para el número 2 de @EzzyEcom , use este método: https://support.magento.com/hc/en-us/articles/360005484154 para aplicar esta confirmación usando el compositor.

Hola chicos, Lo siento, soy un verdadero novato, pero acabo de gastar una buena cantidad de dinero en tener un sitio de Magento diseñado para mí en 2.2.5 y ahora encuentro que no puedo hacer ningún cambio básico como el logotipo, por ejemplo, que hace que mi sitio ¿¿inútil?? ¿Sucede esto a menudo en Magento? Vine de Sellerdeck y ahora desearía no haberlo hecho :-(

@rowneybury la mayoría de los logotipos e imágenes son configuraciones de administración / base de datos.
junto con el estilo CSS, son algunos de los cambios más fáciles que definitivamente serán vitales para el mantenimiento de su sitio.
Un consejo, contrate a una agencia o un desarrollador fullstack freelancer de Magento2 como 10 horas al mes para trabajar en todas esas partes y piezas por las que se siente frustrado.

Lo siento @todoselse , sé que este tema no está relacionado con este # 15137, pero solo tenía que ayudar al siguiente chico.

@EzzyEcom Gracias por la pronta respuesta. Desafortunadamente, no tengo los fondos para tener un desarrollador con anticipo. Me sorprende que este problema se conociera en la versión 2.2.4 y aún así sigue siendo un problema en 2.2.5. Forma extraña de trabajar.

Gracias de nuevo por la respuesta

La corrección de @rowneybury # 15137 suena como si tuviera un problema cuando se trata de implementar en 2.2.5, pero como se mencionó anteriormente aquí, esto se agregará automáticamente mediante bots de implementación en 2.2.6 en aproximadamente 2 meses a partir de ahora, si mi las matemáticas son correctas.

Mientras tanto, si su sitio se construyó aprovechando la arquitectura de modularidad de Magento 2 por medio de Composer, entonces puede revertir fácilmente la versión de 2.2.5 a 2.2.3 y continuar por un tiempo hasta que se despliegue la 2.2.6.

La otra opción es parchear su versión actual siguiendo estas simples instrucciones de GIT / compositor, Cree un parche para un Compositor de Magento 2 para agregar el compromiso SHA ... e9cb4ef2

Gracias de nuevo, agradezco la ayuda. Creo que necesito hablar con la compañía que instaló mi Magento y ver si pueden revertirlo a 2.2.3, parece la opción más fácil. Haré clic en el enlace que proporcionaste para crear un parche, ¡pero temo que no signifique nada para mí! :-)

Disfruta el resto de tu fin de semana.

Para su información, creé un parche que se puede aplicar en Magento 2.2.5. Simplemente use la siguiente URL:
https://github.com/ihor-sviziev/magento2/commit/e4ec8adef586c615cda168175ad8950c701b0874.patch

qué pena ... estoy considerando migrar a django / python

Es bueno ver que creaste un parche para él @ ihor-sviziev 👍
Sin embargo, este problema debería resolverse con una versión de "revisión" (al menos esa es mi opinión personal).

@ghermans :
Sin embargo, han lanzado un parche oficial aquí: https://magento.com/tech-resources/download (busque MAGETWO-93036)

Como dice @EzzyEcom , ¿este problema todavía está en 2.2.5? en el servidor de producción es complicado modificar el código del núcleo y arreglarlo, ni usar una revisión.

Como dice @EzzyEcom , ¿este problema todavía está en 2.2.5? en el servidor de producción es complicado modificar el código del núcleo y arreglarlo, ni usar una revisión.

Sí, se solucionará en 2.2.6.

Esto sucede incluso en 2.2.5. Algunas personas han proporcionado la solución, pero esto es un parche para el núcleo y no se considera una solución permanente. La comunidad Hope solucionó esto en la nueva versión y la lanzará pronto.

Esto sucede incluso en 2.2.5. Algunas personas han proporcionado la solución, pero esto es un parche para el núcleo y no se considera una solución permanente. La comunidad Hope solucionó esto en la nueva versión y la lanzará pronto.

Lea los comentarios anteriores, esto se solucionará en 2.2.6. El bot comunicó una fecha incorrecta.

Teniendo el mismo problema,
Magento 2.2.5

no se puede guardar el "título de página predeterminado" en Contenido> Diseño> Configuración

Teniendo el mismo problema,
Magento 2.2.5

no se puede guardar el "título de página predeterminado" en Contenido> Diseño> Configuración

Por favor, vota en la parte superior, no comentes I have this too . Somos conscientes de que aún no se ha solucionado, pero lo estará en 2.2.6.

¡Hola amigos!

Hoy estaba analizando este problema y noté que este error solo parece prevalente cuando se intenta cambiar el tema en la Configuración global. Si cambia el tema en la Vista de tienda específicamente, será heredado por el sitio web y las configuraciones globales. Probé esto con nuevas instalaciones de Magento 2.2.5 en múltiples dominios y pude cambiar constantemente el tema editando la Configuración de la tienda específicamente.

Por ejemplo:

screen shot 2018-07-19 at 4 59 19 pm

En este caso, querrá cambiar el tema en la Configuración de la tienda (Primera fila), que luego sería heredado por la Configuración del sitio web (Segunda fila) y la Configuración global (Tercera fila). Solo experimento este error cuando intento editar la configuración global (tercera fila) directamente.

(Tenga en cuenta que las filas se refieren únicamente a la captura de pantalla proporcionada).

¡Hola amigos!

Hoy estaba analizando este problema y noté que este error solo parece prevalente cuando se intenta cambiar el tema en la Configuración global. Si cambia el tema en la Vista de tienda específicamente, será heredado por el sitio web y las configuraciones globales. Probé esto con nuevas instalaciones de Magento 2.2.5 en múltiples dominios y pude cambiar constantemente el tema editando la Configuración de la tienda específicamente.

Por ejemplo:

En este caso, querrá cambiar el tema en la Configuración de la tienda (Primera fila), que luego sería heredado por la Configuración del sitio web (Segunda fila) y la Configuración global (Tercera fila). Solo experimento este error cuando intento editar la configuración global (tercera fila) directamente.

(Tenga en cuenta que las filas se refieren únicamente a la captura de pantalla proporcionada).

Todo esto ya se sabe, consulte los comentarios anteriores y el PR vinculado.

Para aquellos que necesitan una solución y no pueden actualizar la entrada en la base de datos, consulte https://github.com/magento/magento2/issues/14968#issuecomment -404536405

Necesita el parche de https://magento.com/tech-resources/download#download2224 ya que probablemente esté en su directorio de proveedores (instalaciones basadas en compositor).

Puede utilizar los parches de compositor, consulte también https://support.magento.com/hc/en-us/articles/360005484154

Y usa este diff / patch:
https://github.com/magento/magento2/commit/7019a0a1392095185505ff3ca7b97dd3e9cb4ef2.diff

https://github.com/magento/magento2/commit/7019a0a1392095185505ff3ca7b97dd3e9cb4ef2.patch

Hola @oroskodias, ¿por qué borraste el comentario de

También eliminó su propio comentario, no se preocupe, no estaba agregando nada nuevo a la discusión :)

¿Fue útil esta página
0 / 5 - 0 calificaciones