Tab Layout es un paradigma de estructuración de layouts creado en Store Framework para permitir la construcción de layouts con pestañas.
En este paradigma tenemos dos containers: tab-list y tab-content . En cada uno de estos containers, tenemos los ítems que los componen. Dentro de tab-list, tenemos los tab-list.item . En tab-content, tenemos los tab-content.item .
A continuación, veremos un ejemplo de implementación de un tab layout.
En primer lugar, es necesario declarar el block tab-layout en el template deseado:
Con esto, tenemos estos dos containers como componentes de nuestro tab-layout . El siguiente paso es declarar los tab-list.item y tab-content.item como children del tab-list y tab-content, respectivamente:
En la siguiente etapa, tenemos que declarar las propiedades de los tab-list.item . El siguiente código genera una interfaz de tabs como la de esta imagen:
La propiedad tabId es muy importante, pues es la llave que conecta el botón de un tab-list.item con un tab-content.item .
Por último, debe declarar las propiedades de su contenido. En nuestro ejemplo, colocamos apenas un rich-text en cada tab-content.item :
"rich-text#1": {
"props": {
"text": "Texto para Major Appliances",
"textPosition": "CENTER",
"font": "t-heading-3"
}
},
"rich-text#2": {
"props": {
"text": "Texto para Electronics",
"textPosition": "CENTER",
"font": "t-heading-3"
}
}
Actividad
En esta actividad, crearemos la estructura simple de un tab layout, como en la siguiente imagen. Más adelante incluiremos algún contenido para estilizar nuestra página personalizada.
En el archivo about-us.jsonc creado anteriormente, agregue un tab-layout#home al template store.custom#about-us .
Declare el bloque tab-layout#home y agregue como sus children un tab-list#home y un tab-content#home .
Declare un tab-list#home y agregue como sus children un tab-list.item#home1 y un tab-list.item#home2 .
Declare las props del tab-list.item#home1 de manera que la interfaz muestre el texto "Major Appliances". (Consejo: no olvide que incluir en las props un tabId = "majorAppliances" y la propiedad defaultActiveTab = true).
Declare las props de tab-list.item#home2 de manera que la interfaz muestre el texto "Electronics". (Consejo: no se olvide que incluir en las props un tabId = "electronics").
Ahora, vayamos a la parte del contenido. Declare un tab-content#home en su tema y agregue los children tab-content.item#home1 y tab-content.item#home2 .
En cada tab-content.item, declare apenas un rich-text como children (por ejemplo, rich-text#home1 y rich-text#home2).
Después, incluya una prop tabId en cada tab-content.item de manera que se produzca el enlace entre el tab-list creado anteriormente y tab-content .
Por último, agregue los rich-text y declare sus props de acuerdo con el siguiente código:
"rich-text#home1": {
"props": {
"text": "Área do conteúdo da tab-list.item com tabId = majorAppliances",
"textPosition": "CENTER",
"font": "t-heading-3"
}
},
"rich-text#home2": {
"props": {
"text": "Área do conteúdo da tab-list.item com tabId = electronics",
"textPosition": "CENTER",
"font": "t-heading-3"
}
}
:information_source: Recuerde acceder a la documentación Tab Layout y Rich Text si tiene alguna duda durante la actividad.
:no_entry_sign: ¿Perdido?
¿Hay algún problema con este paso? ¿Qué tal si nos envía un feedback? :pray:
Layout de pestañas
:sparkles: Branch: tablayout
Introducción
Tab Layout es un paradigma de estructuración de layouts creado en Store Framework para permitir la construcción de layouts con pestañas.
En este paradigma tenemos dos containers:
tab-list
ytab-content
. En cada uno de estos containers, tenemos los ítems que los componen. Dentro detab-list
, tenemos lostab-list.item
. Entab-content
, tenemos lostab-content.item
.A continuación, veremos un ejemplo de implementación de un tab layout.
En primer lugar, es necesario declarar el block
tab-layout
en el template deseado:Después, es necesario declarar un
tab-list
y untab-content
como children deltab-layout
:Con esto, tenemos estos dos containers como componentes de nuestro
tab-layout
. El siguiente paso es declarar lostab-list.item
ytab-content.item
como children deltab-list
ytab-content
, respectivamente:En la siguiente etapa, tenemos que declarar las propiedades de los
tab-list.item
. El siguiente código genera una interfaz de tabs como la de esta imagen:La propiedad
tabId
es muy importante, pues es la llave que conecta el botón de untab-list.item
con untab-content.item
.A continuación, declararemos los children y las props de los
tab-content.item
.En el array de children, es posible incluir diversos blocks como
rich-text
,info-card
,image
,flex-layout
y etc.En la prop
tabId
, es necesario incluir los mismos ids declarados en lostab-list.item
para que el enlace entre la pestaña y el contenido funcione.Por último, debe declarar las propiedades de su contenido. En nuestro ejemplo, colocamos apenas un
rich-text
en cadatab-content.item
:Actividad
En esta actividad, crearemos la estructura simple de un tab layout, como en la siguiente imagen. Más adelante incluiremos algún contenido para estilizar nuestra página personalizada.
about-us.jsonc
creado anteriormente, agregue untab-layout#home
al templatestore.custom#about-us
.tab-layout#home
y agregue como sus children untab-list#home
y untab-content#home
.tab-list#home
y agregue como sus children untab-list.item#home1
y untab-list.item#home2
.tab-list.item#home1
de manera que la interfaz muestre el texto "Major Appliances". (Consejo: no olvide que incluir en las props untabId
="majorAppliances"
y la propiedaddefaultActiveTab
=true
).tab-list.item#home2
de manera que la interfaz muestre el texto "Electronics". (Consejo: no se olvide que incluir en las props untabId
="electronics"
).tab-content#home
en su tema y agregue los childrentab-content.item#home1
ytab-content.item#home2
.tab-content.item
, declare apenas unrich-text
como children (por ejemplo,rich-text#home1
yrich-text#home2
).tabId
en cadatab-content.item
de manera que se produzca el enlace entre eltab-list
creado anteriormente ytab-content
.Por último, agregue los
rich-text
y declare sus props de acuerdo con el siguiente código::information_source: Recuerde acceder a la documentación Tab Layout y Rich Text si tiene alguna duda durante la actividad.
:no_entry_sign: ¿Perdido?
¿Hay algún problema con este paso? ¿Qué tal si nos envía un feedback? :pray:
Crear feedback
Si aún tiene alguna duda sobre cómo enviar su respuesta, puede revisar aquí.