Magento 2 - Añadir un nuevo contenedor

Estoy intentando agregar un nuevo contenedor de acuerdo con la documentación de Magento 2, pero no está funcionando. Esto es lo que estoy intentando:


No veo el marcado en ninguna parte después de actualizar. El caché también está desactivado.

2

5 Respuestas

Use el siguiente código para agregar un nuevo contenedor en Magento 2:






Inserte el código anterior en default.xml, ruta a continuación:

path: /app/design/frontend/spacename/Theme/Magento_Theme/layout/default.xml

Crea un archivo custom-content.phtml dentro de: camino :

/app/design/frontend/spacename/Theme/Magento_Theme/template/html/custom-content.phtml
5
agregado
Nota: la ruta phtml no es correcta. Debería ser ../templates (plural). magento.stackexchange no me deja corregir un solo char.
agregado el autor Snehal, fuente
  1. First of all, you should know where do you want to put your code, you can do that going to the admin panel, in

    Store -> Configuration -> Advanced -> Developer -> Debug

And set "Enabled Template Path Hints for Storefront" to "Yes".

2. You should clean your cache in the admin panel. Going to System -> Cache Management, hit "select all" and "submit".

Ahora en tu página deberías poder ver el lugar donde está el código.

 3. Ahora el código que debes usar es (ejemplo):


    
        
    

Y deberías colocarlo en

/app/design/frontend//<theme-name>/Magento_Theme/layout/default.xml



4. Now you need to create the social-links.phtml file under

/app/design/frontend//<theme-name>/Magento_Theme/templates/

Con cualquier código que quieras. Después de esto deberías poder ver tu código.

2
agregado

Parece que es absolutamente necesario que haya un bloque renderizado dentro del contenedor para que el contenedor sea procesado. Simplemente no se renderizará y vaciará el contenedor por lo que pude ver. Usé el siguiente código para el contenedor:


    
        
    

Al principio se ve como un contenedor vacío, pero estoy moviendo un bloque dentro de ese contenedor:


1
agregado

Sí, esto es una molestia cuando usas JavaScript para enlazar a una ubicación específica en la página. Con un poco de pirateo y estiramiento hacia atrás, finalmente se me ocurrió:

<?xml version="1.0"?>

  <body>
    
      
        
          
            


          
        
      
    
  </body>

1
agregado

Si lo agrega a la raíz de la página, no se procesará. Usted necesita referirse a page.wrapper

<?xml version="1.0"?>


    
        
    

0
agregado
¿Intenta alguna otra instrucción? ¿Tu tema está habilitado?
agregado el autor Shane Courtrille, fuente
"Si lo agrega a la raíz de la página, no se procesará". - Esa declaración general es falsa. Si se agrega un contenedor a la raíz dentro de un <body> de un (no un ), se mostrará el último (en la posición que esperaría antes.body.end sería pero no es).
agregado el autor Keenan Kidwell, fuente
Eso no parece estar funcionando para mí. Estoy probando esto en el archivo predeterminado de mi tema personalizado.
agregado el autor Flint071, fuente
Sí, está habilitado. Me estoy moviendo, eliminando y agregando bloques estáticos en el xml y eso está funcionando. Simplemente no puedo crear un contenedor.
agregado el autor Flint071, fuente
Sin embargo, mi estructura es un poco diferente. El mío es: <? xml ........>

</body>

agregado el autor Flint071, fuente