Al igual que en [ Wordpress ][wppt] en Bootic es posible crear plantillas personalizadas de:
- Un producto.
- Una colección.
- Un tipo de producto.
- Una marca.
- Un formulario.
- Una página.
| date,topic,scope,user_name,app_name,info,changes | |
| 2017-11-06T00:57:00Z,products.updated,:,Soc. Comercial alto Rep.,Bootic CSV impor,"",{} | |
| 2018-03-02T13:45:15Z,products.updated,product:88147,Soc. Comercial alto Rep.,BSALE,"updated_on, title, product_type_id, price","{""updated_on""=>[""2016-06-14T18:20:14.000Z"", ""2018-03-02T13:45:15.000Z""], ""title""=>[""BOLSO/LONCHERA BUILT MED"", ""LONCHERA GOURMET BUILT""], ""product_type_id""=>[18920, 14690], ""price""=>[9990, 1]}" | |
| 2018-03-02T13:46:30Z,products.updated.variants.created,variant:429713,Soc. Comercial alto Rep.,BSALE,"id, title, created_on, updated_on, stock, sku, shop_id, opt1, price","{""id""=>[nil, 429713], ""title""=>[nil, ""(MINI DOT BLACK & WHITE) NEGRO PUNTOS BLANCOS""], ""created_on""=>[nil, ""2018-03-02T13:46:30.343Z""], ""updated_on""=>[nil, ""2018-03-02T13:46:30.343Z""], ""stock""=>[1, 0], ""sku""=>[nil, ""844983000745""], ""shop_id""=>[nil, 646], ""opt1""=>[nil, ""(MINI DOT BLACK & WHITE) NEGRO PUNTOS BLANCOS""], ""price""=>[0, 1]}" | |
| 2018-03-02T1 |
| {% if product.any_available %} | |
| <form class="add_to_cart form-add-product-{{ product.id }}" | |
| action="{{ add_to_cart_url }}" | |
| method="post" | |
| data-bootic-cart-add="add" | |
| data-bootic-productId="{{ product.id }}"> | |
| {% if product.variants_count > 1 %} |
| <div id="searchform"> | |
| <form action="/search" method="get"> | |
| <input type="text" name="q" value="{{ 'titles.search' | t }}:" onfocus="if(this.value=='{{ 'titles.search' | t }}:')this.value='';" onblur="if(this.value=='')this.value='{{ 'titles.search' | t }}:';"/> | |
| </form> | |
| </div> | |
| function minimalPriceHandler(){ | |
| // configura la cantidad en pesos mínima que debe existir en el | |
| // carrito de compra para ir al checkout | |
| var minimal_txt = "$50.000"; | |
| var btn_go_to_checkout = $('button[name=cart_action]'); | |
| var minimal_value = parseInt(minimal_txt.replace(/[^0-9]/g,"")); | |
| var minimal_price_element = $(".minimalPriceMsg"); | |
| var minimal_price_msg = '<span style="color:red" class="minimalPriceMsg">Compra mínima '+ minimal_txt +'<span>'; |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>hueders</title> | |
| <style type="text/css"> | |
| .catalog { margin:0; padding:0; } | |
| .catalog li { list-style-type:none;width:400px;height:350px;float:left;margin-bottom:10px; border:1px solid #ddd; } | |
| </style> |
| # Ejemplo de uso de ERB | |
| # https://apidock.com/ruby/ERB | |
| require 'erb' | |
| class Supermercado | |
| def initialize(nombre: nil,lista: []) | |
| @nombre = nombre | |
| @lista = lista |
| <form class="filtros-productos"> | |
| <input type="hidden" name="root" value="{{ resource.url }}" /> | |
| <h3>Filtros</h3> | |
| <ul> | |
| {% for tag in resource.tags %} | |
| <li> | |
| <label for="{{ tag.slug }}_tag" />{{ tag.name }}</label> | |
| <input type="checkbox" name="tags[]" value="{{ tag.slug }}" id="{{ tag.slug }}_tag" {{ 'checked' | print_if_included: tag, tags }} /> |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>Preinforme</title> | |
| <style> | |
| body {font-family:arial,verdana} | |
| table {width:100%;border:1px solid #ddd} | |
| td {padding:10px;border:1px solid #ddd} | |
| tr.odd {background-color:#b9fffe} |