load json Bsale - Bsale-IO/template-docs GitHub Wiki
Los componente Load fueron agregados para cargar información en una variable global Bsale
que puede ser consultada desde cualquier página en los template 4.0.0.
El componente load head debe ir dentro del componente head mediante
{{"load head" | get_component}}
<!--- load head Bsale 5.5 ------------------------------------>
<script>
window.INIT = {
cart: {},
collections: [],
products: [],
config: {
"currency":{{ site.currency | replace: '=>', ':' | replace: 'nil', 'null' }},
"country":"{{ site.country }}",
"lang": "{%if site.currency.isoCode == 'CLP' %}es-CL{%else%}es-PE{%endif%}" ,
"addToCartLimit":{{ site.addToCartLimit }},
product: {
// mensajes mostrados en el stock de producto
stock: {
{{ 'Producto > mensajes stock' | get_component }}
"addToCartLimit":{{ site.addToCartLimit }}
}
},
gtm: "{{site.track_manager_id}}",
analytics: "{{site.google_analytics_id }}",
pixel: "{{site.facebook_pixel_id}}"
}
}
</script>
<!----------------------------------------------------------->
El componente load product debe ir dentro del componente product
mediante
{{"load product" | get_component}}
<!--- load product ----------------------------------------->
<script>
window.INIT.products.push({
"product" : {{ product | json_encode }},
"attributes": {{product.attributes | replace: '=>', ':' | replace: 'nil', 'null' }},
"variants": {{ variant | json_encode }},
"related": {
"name": "Relacionados - {{ title }}",
"items": {{ related | json_encode}}
},
"accessories": {
"name": "Accesorios - {{ title }}",
"items": {{ accessories | json_encode }}
}
});
</script>
<!----------------------------------------------------------->
El componente load collection debe ir dentro del componente que cargue una colección (calección busqueda, marcas, relacionados, accesorios) mediante
{{"load collection" | get_component}}
<!--- load collection ----------------------------------------->
<script>
window.INIT.collections.push({
"name": "{{title}}",
"items":{{collection | json_encode }}
});
</script>
<!----------------------------------------------------------->
El componente load cart debe ir dentro del componente carro
mediante
{{"load cart" | get_component}}
<!--- load cart ----------------------------------------->
<script>
window.INIT.cart = {
"detail" : {{ cart_d | json_encode }},
"items" : {{ 1 | plus: items | minus: 1 }} ,
"total" : "{{ subtotal }}"
}
</script>
<!----------------------------------------------------------->
El componente load checkout debe ir dentro del componente checkout exito
mediante
{{"load checkout" | get_component}}
<!--- load checkout ----------------------------------------->
<script>
window.INIT.checkout = {{ checkout | json_encode }};
window.INIT.checkout.detail = {{cart | json_encode }};
</script>
<!----------------------------------------------------------->