theme.xml 106 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <openerp>
  3. <data>
  4. <!-- Logo -->
  5. <template customize_show="True" id="website.layout_logo_show" inherit_id="website.layout" name="Show Logo">
  6. <xpath expr="//header//a[@class='navbar-brand']" position="attributes">
  7. <attribute name="style">display:none;</attribute>
  8. </xpath>
  9. <xpath expr="//header//a[@class='navbar-brand']" position="before">
  10. <a class="navbar-brand logo" href="/page/website.homepage">
  11. <img alt="Homepro" src="/kingfisher_pro/static/src/img/kingfisher-logo.png" title="Homepro"/>
  12. </a>
  13. </xpath>
  14. <xpath expr="//footer" position="after">
  15. <a class="cd-top" href="#">
  16. <i class="fa fa-chevron-up"/>
  17. </a>
  18. </xpath>
  19. </template>
  20. <!-- Total on hover -->
  21. <template id="hover_total">
  22. <div id="cart_total" t-if="website_sale_order">
  23. <div class="cart-content">
  24. <div class="product-desc">
  25. <t t-as="line" t-foreach="website_sale_order.website_order_line">
  26. <div class="pd-row">
  27. <span class="product-img">
  28. <a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }">
  29. <span t-field="line.product_id.image_small" t-field-options="{&quot;widget&quot;: &quot;image&quot;, &quot;class&quot;: &quot;img-rounded&quot;, &quot;alt-field&quot;: &quot;name&quot;}"/>
  30. </a>
  31. </span>
  32. <div class="product-detail">
  33. <p class="product-name">
  34. <a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }">
  35. <t t-esc="line.product_id.name"/>
  36. </a>
  37. </p>
  38. <p>
  39. <span class="king_pro_cart_quantity" t-esc="int(line.product_uom_qty)"/>x
  40. <span t-field="line.price_unit" t-field-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;user_id.partner_id.property_product_pricelist.currency_id&quot;}"/>
  41. <span class="price">
  42. <a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }">details</a></span>
  43. </p>
  44. </div>
  45. </div>
  46. </t>
  47. <div class="total" id="king_cart">
  48. <p class="">
  49. <div class="row" id="order_total">
  50. <span class="col-xs-6 text-right h4">Subtotal:</span>
  51. <span class="col-xs-6 text-left h4" style="white-space: nowrap;">
  52. <span style="white-space: nowrap;" t-field="website.sale_get_order().amount_total" t-field-options="{ &quot;widget&quot;: &quot;monetary&quot;, &quot;from_currency&quot;: &quot;website.sale_get_order().pricelist_id.currency_id&quot;, &quot;display_currency&quot;: &quot;website.currency_id&quot; }"/>
  53. </span>
  54. </div>
  55. </p>
  56. </div>
  57. <div class="button-box">
  58. <a class="view-all btn" href="/shop/cart">Ver Todo</a>
  59. <a class="proceed btn" href="/shop/checkout">Proceder a Pagar</a>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. </template>
  65. <!-- Top header -->
  66. <template id="kingfisher_pro_header_layout" inherit_id="website.layout" name="Top Header">
  67. <xpath expr="//head//title" position="after">
  68. <t t-set="current_language" t-value="lang"/>
  69. </xpath>
  70. <xpath expr="//html/head" position="inside">
  71. <link href="/kingfisher_pro/static/src/img/favicon.ico" rel="shortcut icon" type="image/x-icon"/>
  72. </xpath>
  73. <xpath expr="//header//li//a[@href='/shop/cart']" position="attributes">
  74. <attribute name="style">display:none;</attribute>
  75. </xpath>
  76. <xpath expr="//div[@id='wrapwrap']//header//div[@class='container']" position="attributes">
  77. <attribute name="class">container header-middle header-nav</attribute>
  78. </xpath>
  79. <!-- Remove Administrator -->
  80. <xpath expr="//ul[@id='top_menu']/li[last()]" position="attributes">
  81. <attribute name="style">display:none;</attribute>
  82. </xpath>
  83. <xpath expr="//div[@id='wrapwrap']//header//div[@class='container header-middle header-nav']" position="before">
  84. <div class="header-top">
  85. <div class="top-header">
  86. <div class="container">
  87. <div class="top-row">
  88. <div class="row">
  89. <div class="top-left col-md-6 col-sm-8 col-xs-8 text-left">
  90. <p class="call-us">
  91. <span>
  92. <a t-attf-href="tel: #{res_company.phone}">
  93. <i class="fa fa-mobile"/>
  94. <span t-field="res_company.phone"/>
  95. </a>
  96. </span>
  97. </p>
  98. <a t-att-href="'mailto:%s' % res_company.email">
  99. <p class="mail">
  100. <span>
  101. <i class="fa fa-envelope-o"/>
  102. </span>
  103. <span t-field="res_company.email" t-ignore="true"/>
  104. </p>
  105. </a>
  106. </div>
  107. <div class="top-right col-md-6 col-sm-4 col-xs-4 text-right">
  108. <ul class="links">
  109. <div class="buscador col-xs-6">
  110. <form action="/shop" method="get" role="form formu_buscador">
  111. <div class="row">
  112. <div class="form-group">
  113. <div class="input-group">
  114. <t t-set="search_text" t-value="search"/>
  115. <input class="form-control" name="search" placeholder="Buscar..." required="required" type="text"/>
  116. <span class="input-group-btn">
  117. <button class="btn btn-info buscar" type="submit">
  118. <i aria-hidden="true" class="fa fa-search"/>
  119. </button>
  120. </span>
  121. </div>
  122. </div>
  123. </div>
  124. </form>
  125. </div>
  126. <li class="configuration">
  127. <a class="top-link-wishlist" href="#" title="Configure">
  128. <i class="fa fa-cog"/>
  129. </a>
  130. <div class="toggle-config">
  131. <div class="options" t-if="(request.website_multilang and len(languages) &gt; 1) or editable">
  132. <ul class="language-bar js_language_selector" id="lang">
  133. <label>Idioma</label>
  134. <div class="btn-group">
  135. <button class="dropdown-toggle btn-default" data-caret="true" data-toggle="dropdown" type="button">
  136. <t t-as="lgs" t-foreach="languages">
  137. <t t-if="current_language and current_language==lgs[0]">
  138. <t t-esc="lgs[0].split('_')[0]"/>
  139. </t>
  140. </t>
  141. <span class="caret"/>
  142. </button>
  143. <ul class="dropdown-menu dropdown-menu-right js_language_selector" role="menu">
  144. <t t-as="lg" t-foreach="languages">
  145. <li t-att-class="'active' if current_language == lg[0] else None">
  146. <a class="js_change_lang" t-att-data-default-lang="editable and 'true' if lg[0] == website.default_lang_code else None" t-att-data-lang="lg[0]" t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang=lg[0])">
  147. <t t-esc="lg[0].split('_')[0]"/>
  148. </a>
  149. </li>
  150. </t>
  151. <li groups="base.group_website_publisher">
  152. <t t-set="url_return" t-value="url_for('', '[lang]') + '?' + keep_query()"/>
  153. <a t-attf-href="/web#action=base.action_view_base_language_install&amp;website_id=#{website.id}&amp;url_return=#{url_return}">Agregar...</a>
  154. </li>
  155. </ul>
  156. </div>
  157. </ul>
  158. </div>
  159. <div class="personal-info">
  160. <ul>
  161. <t t-if="website.user_id != user_id">
  162. <li>Bienvenido,
  163. <b>
  164. <t t-esc="user_id.name"/></b>
  165. </li>
  166. <li>
  167. <a href="/web">Mi Cuenta</a>
  168. </li>
  169. <li>
  170. <a role="menuitem" t-attf-href="/web/session/logout?redirect=/">Salir</a>
  171. </li>
  172. </t>
  173. <t t-if="website.user_id == user_id">
  174. <li>
  175. <a href="/web/login">Ingresar</a>
  176. </li>
  177. <li>
  178. <a href="/web/signup">Registrar</a>
  179. </li>
  180. </t>
  181. </ul>
  182. </div>
  183. </div>
  184. </li>
  185. <li class="item-no">
  186. <a class="top-link-checkout" href="#" title="Checkout">
  187. <i class="fa fa-shopping-cart"/>x
  188. <t t-set="website_sale_order" t-value="website.sale_get_order()"/>
  189. <span class="king_pro_cart_quantity" t-esc="website_sale_order and website_sale_order.cart_quantity or 0"/></a>
  190. <div class="mini-cart-content dropdown-content left-hand block block-cart skip-content skip-content--style" id="header-cart">
  191. <div class="" t-if="not website_sale_order or not website_sale_order.website_order_line">Tu Canasto esta Vacio!
  192. </div>
  193. <div class="" t-if="website_sale_order and website_sale_order.website_order_line">
  194. <div class="block-subtitle">Agregado Recientemente(s)</div>
  195. <div id="king_hover_total">
  196. <t t-call="kingfisher_pro.hover_total"/>
  197. </div>
  198. </div>
  199. </div>
  200. </li>
  201. </ul>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. </xpath>
  209. </template>
  210. <!-- Custom Footer -->
  211. <template id="kingfisher_pro_footer_customize" inherit_id="website_less.footer_default">
  212. <xpath expr="//div[@class='container hidden-print']" position="attributes">
  213. <attribute name="style">display:none;</attribute>
  214. </xpath>
  215. <xpath expr="//div[@class='container hidden-print']" position="before">
  216. <div class="footer-top hidden-print">
  217. <div class="container">
  218. <div class="row">
  219. <div class="footer-content">
  220. <div class="col-md-3 col-sm-4 footer-col">
  221. <div class="fot-col fot-address">
  222. <div class="address-list">
  223. <address itemscope="itemscope" itemtype="http://schema.org/Organization">
  224. <div t-field="res_company.partner_id" t-field-options="{ &quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;]}"/>
  225. </address>
  226. <p class="call-us">
  227. <span>
  228. <a t-attf-href="tel: #{res_company.phone}">
  229. <i class="fa fa-phone"/>
  230. <span t-field="res_company.phone"/>
  231. </a>
  232. </span>
  233. </p>
  234. <a t-att-href="'mailto:%s' % res_company.email">
  235. <i class="fa fa-envelope-o"/>
  236. <span t-field="res_company.email" t-ignore="true"/>
  237. </a>
  238. </div>
  239. </div>
  240. </div>
  241. <div class="col-md-2 col-sm-3 footer-col">
  242. <section class="fot-col fot-link">
  243. <ul>
  244. <li>
  245. <a href="#">Seguridad</a>
  246. </li>
  247. <li>
  248. <a href="#">Privacidad</a>
  249. </li>
  250. <li>
  251. <a href="#">Mensaje de Texto</a>
  252. </li>
  253. <li>
  254. <a href="#">Legal</a>
  255. </li>
  256. <li>
  257. <a href="#">Soporte</a>
  258. </li>
  259. </ul>
  260. </section>
  261. </div>
  262. <div class="col-md-2 col-sm-3 footer-col">
  263. <section class="fot-col fot-link">
  264. <ul>
  265. <li>
  266. <a href="#">Ayuda</a>
  267. </li>
  268. <li>
  269. <a href="#">Gift Cards</a>
  270. </li>
  271. <li>
  272. <a href="#">Order Status</a>
  273. </li>
  274. <li>
  275. <a href="#">Free Shipping</a>
  276. </li>
  277. <li>
  278. <a href="#">Returns &amp; Exchanges</a>
  279. </li>
  280. <li>
  281. <a href="#">International</a>
  282. </li>
  283. </ul>
  284. </section>
  285. </div>
  286. <div class="col-md-2 col-sm-2 footer-col">
  287. <section class="fot-col fot-link">
  288. <ul>
  289. <li>
  290. <a href="#">Acerca de HomePro</a>
  291. </li>
  292. <li>
  293. <a href="#">Trabajos</a>
  294. </li>
  295. <li>
  296. <a href="#">Afiliacion</a>
  297. </li>
  298. <li>
  299. <a href="#">Meet The Maker</a>
  300. </li>
  301. <li>
  302. <a href="#">Contacto</a>
  303. </li>
  304. </ul>
  305. </section>
  306. </div>
  307. <div class="col-md-3 col-sm-12 newsletter-div">
  308. <section>
  309. <div class="newsletter">
  310. <h3>Newsletter!</h3>
  311. <p class="">Recibe Novedades!</p>
  312. <div class="oe_snippet_body input-group js_subscribe" data-list-id="1" data-subscribe="off">
  313. <input class="js_subscribe_email form-control" name="email" placeholder="your email..." type="email"/>
  314. <span class="btn-box">
  315. <a class="btn btn-primary js_subscribe_btn" href="#">Suscribete ahora
  316. <i class="fa fa-angle-right"/></a>
  317. <a class="btn btn-success js_subscribed_btn hidden" disabled="disabled" href="#">Gracias</a>
  318. </span>
  319. <div class="alert alert-success hidden">Gracias por suscribirse!</div>
  320. </div>
  321. </div>
  322. </section>
  323. </div>
  324. </div>
  325. </div>
  326. </div>
  327. </div>
  328. </xpath>
  329. </template>
  330. <!-- Copyright Footer -->
  331. <template id="footer_copyright" inherit_id="website.layout_footer_copyright">
  332. <xpath expr="//div[@class='container mt16 mb8']" position="attributes">
  333. <attribute name="style">display:none;</attribute>
  334. </xpath>
  335. <xpath expr="//div[@class='container mt16 mb8']" position="before">
  336. <div class="footer-btm">
  337. <div class="container">
  338. <div class="footer-bottom-div">
  339. <div class="row">
  340. <div class="col-md-6 col-sm-6">
  341. <p>© 2016 By
  342. <span>Homepro.</span>
  343. All Rights Reserved.</p>
  344. </div>
  345. <div class="col-md-6 col-sm-6">
  346. <ul class="link">
  347. <li>
  348. <a href="#">About Us</a>
  349. </li>
  350. <li>
  351. <a href="#">Contact Us</a>
  352. </li>
  353. <li>
  354. <a href="#">Customer Service</a>
  355. </li>
  356. <li class="last-li">
  357. <a href="#">Privacy Policy</a>
  358. </li>
  359. </ul>
  360. </div>
  361. </div>
  362. </div>
  363. </div>
  364. </div>
  365. </xpath>
  366. </template>
  367. <!-- Multi image feature for products -->
  368. <template active="True" customize_show="True" id="website_multiple_image_product_slider" inherit_id="website_sale.product" name="Multi-Image Product">
  369. <xpath expr="//section[@id='product_detail']//span[@itemprop='image']" position="attributes">
  370. <attribute name="style">display:none;</attribute>
  371. </xpath>
  372. <xpath expr="//section[@id='product_detail']//span[@itemprop='image']" position="before">
  373. <!-- <span itemprop="image">-->
  374. <t t-if="not product.multi_image and not product.is_flip_image">
  375. <span itemprop="image" t-field="product.image" t-field-options="{&quot;widget&quot;: &quot;image&quot;, &quot;class&quot;: &quot;product_detail_img&quot;, &quot;alt-field&quot;: &quot;name&quot;}"/>
  376. </t>
  377. <t t-if="product.is_flip_image and not product.flip_image">
  378. <span itemprop="image" t-field="product.image" t-field-options="{&quot;widget&quot;: &quot;image&quot;, &quot;class&quot;: &quot;product_detail_img&quot;, &quot;alt-field&quot;: &quot;name&quot;}"/>
  379. </t>
  380. <t t-if="product.multi_image and not website.get_multiple_images(product.id) and product.flip_image">
  381. <span itemprop="image">
  382. <div id="gallery">
  383. <img class="product_detail_img" t-att-alt="product.name" t-att-data-image="website.image_url(product, 'image')" t-att-src="website.image_url(product, 'image')" t-att-title="product.name"/>
  384. <t t-if="product.is_flip_image and product.flip_image">
  385. <img t-att-alt="product.name" t-att-data-image="website.image_url(product, 'flip_image')" t-att-src="website.image_url(product, 'flip_image')" t-att-title="product.name"/>
  386. </t>
  387. </div>
  388. </span>
  389. </t>
  390. <t t-if="not product.multi_image and product.flip_image">
  391. <span itemprop="image">
  392. <div id="gallery">
  393. <img class="product_detail_img" t-att-alt="product.name" t-att-data-image="website.image_url(product, 'image')" t-att-src="website.image_url(product, 'image')" t-att-title="product.name"/>
  394. <t t-if="product.is_flip_image and product.flip_image">
  395. <img t-att-alt="product.name" t-att-data-image="website.image_url(product, 'flip_image')" t-att-src="website.image_url(product, 'flip_image')" t-att-title="product.name"/>
  396. </t>
  397. </div>
  398. </span>
  399. </t>
  400. <t t-if="product.multi_image and website.get_multiple_images(product.id)">
  401. <span itemprop="image">
  402. <div id="gallery">
  403. <img class="product_detail_img" t-att-alt="product.name" t-att-data-image="website.image_url(product, 'image')" t-att-src="website.image_url(product, 'image')" t-att-title="product.name"/>
  404. <t t-as="im" t-foreach="website.get_multiple_images(product.id)">
  405. <t t-if="im.attach_type == 'image'">
  406. <img t-att-alt="im.alt if im.alt else im.name" t-att-data-image="website.image_url(im, 'image')" t-att-src="website.image_url(im, 'image')" t-att-title="im.name if im.name else product.name"/>
  407. </t>
  408. <t t-if="im.attach_type == 'video'">
  409. <t t-if="im.video_type == 'youtube'">
  410. <img data-type="youtube" t-att-alt="im.alt if im.alt else im.name" t-att-data-description="im.name if im.name else product.name" t-att-data-videoid="im.video_id"/>
  411. </t>
  412. <t t-if="im.video_type == 'vimeo'">
  413. <img data-type="vimeo" t-att-alt="im.alt if im.alt else im.name" t-att-data-description="im.name if im.name else product.name" t-att-data-image="website.image_url(im, 'cover_image') if im.cover_image else website.image_url(im, 'image')" t-att-data-videoid="im.video_id" t-att-src="website.image_url(im, 'cover_image') if im.cover_image else website.image_url(im, 'image')"/>
  414. </t>
  415. <t t-if="im.video_type == 'html5video'">
  416. <img data-type="html5video" t-att-alt="im.alt if im.alt else im.name" t-att-data-description="im.name if im.name else product.name" t-att-data-image="website.image_url(im, 'cover_image') if im.cover_image else website.image_url(im, 'image')" t-att-data-videomp4="im.video_mp4 if im.video_mp4 else '' " t-att-data-videoogv="im.video_ogv if im.video_ogv else '' " t-att-data-videowebm="im.video_webm if im.video_webm else '' " t-att-src="website.image_url(im, 'cover_image') if im.cover_image else website.image_url(im, 'image')"/>
  417. </t>
  418. </t>
  419. </t>
  420. <t t-if="product.is_flip_image and product.flip_image">
  421. <img t-att-alt="product.name" t-att-data-image="website.image_url(product, 'flip_image')" t-att-src="website.image_url(product, 'flip_image')" t-att-title="product.name"/>
  422. </t>
  423. </div>
  424. </span>
  425. </t>
  426. <t t-if="product.multi_image and not website.get_multiple_images(product.id)">
  427. <span itemprop="image" t-field="product.image" t-field-options="{&quot;widget&quot;: &quot;image&quot;, &quot;class&quot;: &quot;product_detail_img&quot;, &quot;alt-field&quot;: &quot;name&quot;}"/>
  428. </t>
  429. <t t-if="product.multi_image and not website.get_multiple_images(product.id) and product.is_flip_image and product.flip_image">
  430. <span itemprop="image">
  431. <div id="gallery">
  432. <img class="product_detail_img" t-att-alt="product.name" t-att-data-image="website.image_url(product, 'image')" t-att-src="website.image_url(product, 'image')" t-att-title="product.name"/>
  433. <t t-if="product.is_flip_image and product.flip_image">
  434. <img t-att-alt="product.name" t-att-data-image="website.image_url(product, 'flip_image')" t-att-src="website.image_url(product, 'flip_image')" t-att-title="product.name"/>
  435. </t>
  436. </div>
  437. </span>
  438. </t>
  439. <!-- </span>-->
  440. </xpath>
  441. </template>
  442. <!-- Product detail page -->
  443. <template id="kingfisher_pro_product_details" inherit_id="website_sale.product" name="Product Details">
  444. <xpath expr="//div[@itemscope='itemscope']/section/div" position="attributes">
  445. <attribute name="style">display:none;</attribute>
  446. </xpath>
  447. <!-- Added class for main section in product detail page -->
  448. <xpath expr="//div[@itemscope='itemscope']/section" position="attributes">
  449. <attribute name="t-attf-class">container mt8 product-view oe_website_sale #{(compute_currency(product.lst_price) - product.price) &gt; 0.1 and 'discount'}</attribute>
  450. </xpath>
  451. <!-- Theme breadcrumb -->
  452. <xpath expr="//div[@itemscope='itemscope']/section" position="before">
  453. <section class="page-title">
  454. <div class="container">
  455. <div class="col-sm-8">
  456. <ul class="breadcrumb">
  457. <li>
  458. <a href="/page/homepage">Inicio</a>
  459. </li>
  460. <li>
  461. <a href="/shop">Productos</a>
  462. </li>
  463. <li t-if="category">
  464. <a t-att-href="keep('/shop/category/%s' % slug(category), category=0)" t-field="category.name"/>
  465. </li>
  466. <li class="active">
  467. <span t-field="product.name"/>
  468. </li>
  469. </ul>
  470. </div>
  471. <div class="col-sm-4 col-xs-6" groups="base.group_sale_manager">
  472. <t t-call="website.publish_management">
  473. <t t-set="object" t-value="product"/>
  474. <t t-set="publish_edit" t-value="True"/>
  475. <t t-set="action" t-value="'product.product_template_action'"/>
  476. </t>
  477. </div>
  478. </div>
  479. </section>
  480. </xpath>
  481. <!-- Product detail page right side design -->
  482. <xpath expr="//section[@id='product_detail']//div[@class='row']//div[@class='col-sm-5 col-md-5 col-lg-4 col-lg-offset-1']" position="attributes">
  483. <attribute name="style">display:none;</attribute>
  484. </xpath>
  485. <xpath expr="//section[@id='product_detail']//div[@class='row']//div[@class='col-sm-5 col-md-5 col-lg-4 col-lg-offset-1']" position="before">
  486. <div class="col-xs-12 col-md-5 col-lg-5 col-sm-5 product-detail" id="product_details">
  487. <div class="product-shop-info">
  488. <div class="product-title">
  489. <h1 itemprop="name" t-field="product.name">Nombre de Producto</h1>
  490. <p class="review">
  491. <a href="#">
  492. <span>
  493. <t t-esc="len(product.website_message_ids)"/>
  494. </span>Valoracion(es) | Agregar tu Comentario</a>
  495. </p>
  496. <span itemprop="url" style="display:none;" t-esc="'/shop/product/%s' % slug(product)"/>
  497. </div>
  498. <div class="product-options-bottom">
  499. <form class="js_add_cart_variants" method="POST" t-att-action="keep('/shop/cart/update')">
  500. <div class="js_product">
  501. <div class="details">
  502. <div class="price-box">
  503. <t t-call="website_sale.product_price"/>
  504. </div>
  505. <t t-if="product.description_sale">
  506. <div class="pro-desc">
  507. <p t-field="product.description_sale"/>
  508. </div>
  509. </t>
  510. </div>
  511. <t t-placeholder="select">
  512. <input class="product_id" name="product_id" t-att-value="int(product.product_variant_ids[0]) if len(product.product_variant_ids) == 1 else '0'" type="hidden"/>
  513. <t t-call="website_sale.variants">
  514. <t t-set="ul_class" t-value="'nav-stacked'"/>
  515. </t>
  516. </t>
  517. <p class="css_not_available_msg bg-danger" style="padding: 15px;" t-if="len(product.product_variant_ids) &gt; 1">Producto no Disponible</p>
  518. <div class="add-to-cart">
  519. <a class="btn cart-btn btn-lg js_check_product a-submit" href="#" id="add_to_cart">
  520. <i class="fa fa-shopping-cart"/>Agregar al Carro</a>
  521. </div>
  522. </div>
  523. </form>
  524. </div>
  525. </div>
  526. </div>
  527. </xpath>
  528. <!-- Product Description -->
  529. <xpath expr="//div[@itemprop='description']" position="attributes">
  530. <attribute name="style">display:none;</attribute>
  531. </xpath>
  532. <xpath expr="//div[@itemprop='description']" position="before">
  533. <div class="container" id="website_description">
  534. <div class="pd-more-info">
  535. <!-- Nav tabs -->
  536. <ul class="nav nav-tabs" id="description_reviews_tabs" role="tablist">
  537. <li class="active" role="presentation">
  538. <a aria-controls="more_info" data-toggle="tab" href="#description" role="tab">Descripción</a>
  539. </li>
  540. </ul>
  541. <div class="tab-content" id="description_reviews_tabs_contents">
  542. <div class="tab-pane active" id="description" role="tabpanel">
  543. <div class="oe_structure mt16" id="product_full_description" itemprop="description" t-field="product.website_description"/>
  544. <div class="oe_structure"/>
  545. </div>
  546. </div>
  547. </div>
  548. </div>
  549. </xpath>
  550. </template>
  551. <!-- Removed Sign In -->
  552. <template customize_show="False" groups="base.group_public" id="website.show_sign_in" inherit_id="website.layout" name="Show Sign In">
  553. <xpath expr="//ul[@id='top_menu']" position="inside">
  554. <li class="divider" style="display:none"/>
  555. <li style="display:none">
  556. <a t-attf-href="/web/login">
  557. <b>Ingresar</b>
  558. </a>
  559. </li>
  560. </xpath>
  561. </template>
  562. <!-- Select quantity inherited from website sale -->
  563. <template customize_show="True" id="website_sale.product_quantity" inherit_id="website_sale.product" name="Select Quantity">
  564. <xpath expr="//div[contains(@class,'js_product')]" position="inside">
  565. <div class="css_quantity input-group oe_website_spinner" contenteditable="false">
  566. <a class="mb8 input-group-addon js_add_cart_json" t-attf-href="#">
  567. <i class="fa fa-minus"/>
  568. </a>
  569. <input class="form-control" data-min="1" name="add_qty" type="text" value="1"/>
  570. <a class="mb8 input-group-addon float_left js_add_cart_json" t-attf-href="#">
  571. <i class="fa fa-plus"/>
  572. </a>
  573. </div>
  574. </xpath>
  575. </template>
  576. <template customize_show="True" id="product_attributes" inherit_id="kingfisher_pro.kingfisher_pro_product_details" name="Product attributes">
  577. <xpath expr="//p[@t-field='product.description_sale']" position="after">
  578. <hr style="border-top: 1px solid #eeeeee;" t-if="sum([(1 if len(l.value_ids)==1 else 0) for l in product.attribute_line_ids])"/>
  579. <p class="text-muted">
  580. <t t-as="variant_id" t-foreach="product.attribute_line_ids">
  581. <t t-if="len(variant_id.value_ids)==1">
  582. <span t-field="variant_id.attribute_id"/>:
  583. <span t-field="variant_id.value_ids[0].name"/>
  584. <br/></t>
  585. </t>
  586. </p>
  587. </xpath>
  588. </template>
  589. <!-- Discussion inherited to display in tabs -->
  590. <template active="True" customize_show="True" id="website_sale.product_comment" inherit_id="kingfisher_pro.kingfisher_pro_product_details" name="Discussion">
  591. <!-- Will add review tab -->
  592. <xpath expr="//div[@id='website_description']/div/ul/li" position="after">
  593. <li role="presentation">
  594. <a aria-controls="reviews" data-toggle="tab" href="#reviews" role="tab">Valoraciones
  595. <t t-if="len(product.website_message_ids)">
  596. <span class="review_label">
  597. (
  598. <t t-esc="len(product.website_message_ids)"/>
  599. )</span>
  600. </t>
  601. </a>
  602. </li>
  603. </xpath>
  604. <!-- Will add review tab contents -->
  605. <xpath expr="//div[@id='website_description']//div[@id='description']" position="after">
  606. <div class="tab-pane" id="reviews" role="tabpanel">
  607. <section class="container">
  608. <div class="row col-md-10 col-md-offset-1">
  609. <div class="text-muted">
  610. <h3 class="fa fa-comment-o">
  611. <a id="comments">
  612. <t t-if="len(product.website_message_ids) &lt;= 1">
  613. <t t-esc="len(product.website_message_ids)"/>comentarios</t>
  614. <t t-if="len(product.website_message_ids) &gt;1">
  615. <t t-esc="len(product.website_message_ids)"/>comentarios</t>
  616. </a>
  617. </h3>
  618. </div>
  619. <ul class="media-list" id="comments-list" t-if="product.website_message_ids">
  620. <li class="media" t-as="message" t-foreach="product.website_message_ids">
  621. <div class="media-body oe_msg">
  622. <img class="media-object pull-left oe_msg_avatar" style="width: 50px; margin-right: 10px;" t-att-src="website.image_url(message.author_id, 'image_small')"/>
  623. <div class="media-body oe_msg_content">
  624. <t t-call="website.publish_short">
  625. <t t-set="object" t-value="message"/>
  626. </t>
  627. <h5 class="media-heading">
  628. <span t-field="message.author_id"/>
  629. <small>en
  630. <span t-field="message.date"/></small>
  631. </h5>
  632. <div t-field="message.body"/>
  633. <div>
  634. <div class="oe_msg_attachment" t-as="attachment" t-foreach="message.attachment_ids">
  635. <a t-att-href="'/mail/download_attachment?model=mail.message&amp;id='+str(message.id)+'&amp;method=download_attachment&amp;attachment_id='+str(attachment.id)" target="_blank">
  636. <t t-if="attachment.file_type_icon == 'webimage'">
  637. <img class="oe_attachment_embedded" t-att-src="'/web/binary/image?model=ir.attachment&amp;field=datas&amp;id=' + str(attachment.id) + '&amp;resize=100,80'"/>
  638. </t>
  639. <t t-if="attachment.file_type_icon != 'webimage'">
  640. <img class="oe_attachment_webimage" t-att-src="'/mail/static/src/img/mimetypes/' + attachment.file_type + '.png'"/>
  641. </t>
  642. <div class="oe_attachment_name">
  643. <t t-raw="attachment.name"/>
  644. </div>
  645. </a>
  646. </div>
  647. </div>
  648. </div>
  649. </div>
  650. </li>
  651. </ul>
  652. <div class="css_editable_mode_hidden">
  653. <form id="comment" method="POST" t-attf-action="/shop/product/comment/#{product.id}">
  654. <img class="img pull-left img-rounded" style="width: 50px; margin-right: 10px;" t-att-src="website.image_url(user_id.partner_id, 'image_small')"/>
  655. <div class="pull-left mb32" style="width: 75%%">
  656. <textarea class="form-control" name="comment" placeholder="Write a comment..." rows="3"/>
  657. <a class="btn btn-primary mt8 a-submit">Publicaciones</a>
  658. </div>
  659. </form>
  660. </div>
  661. </div>
  662. </section>
  663. </div>
  664. </xpath>
  665. </template>
  666. <!-- Suggested products -->
  667. <template customize_show="True" id="website_sale.recommended_products" inherit_id="website_sale.product" name="Alternative Products">
  668. <xpath expr="//div[@id='product_full_description']" position="after">
  669. <div class="related-products container" t-if="product.alternative_product_ids">
  670. <div class="left-title">
  671. <h3>Alternaticas Sugeridas:</h3>
  672. <hr/>
  673. </div>
  674. <div class="owl-carousel" id="recommended_products_slider">
  675. <t t-as="product" t-foreach="product.alternative_product_ids">
  676. <div class="cs-product">
  677. <div class="pwp-img">
  678. <a t-att-href="'/shop/product/%s' % slug(product)">
  679. <img t-att-alt="product.name" t-att-src="website.image_url(product, 'image')" t-att-title="product.name"/>
  680. </a>
  681. </div>
  682. <div class="pink-box">
  683. <div class="view">
  684. <div class="shopping-cart">
  685. <a t-attf-href="/shop/product/#{ slug(product) }">
  686. <img alt="Shopping-cart" src="/kingfisher_pro/static/src/img/cart2.png" title="Shopping Cart"/>
  687. </a>
  688. </div>
  689. </div>
  690. </div>
  691. <div class="pwp-info">
  692. <p class="pwpi-title">
  693. <a t-attf-href="/shop/product/#{ slug(product) }">
  694. <span t-field="product.name"/>
  695. </a>
  696. </p>
  697. <p class="price">
  698. <span class="price">
  699. <span t-field="product.lst_price" t-field-options="{ &quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;website.pricelist_id.currency_id&quot; }"/>
  700. </span>
  701. </p>
  702. </div>
  703. </div>
  704. </t>
  705. </div>
  706. </div>
  707. </xpath>
  708. </template>
  709. <!-- Products Items -->
  710. <template id="king_pro_products_item" name="Kingfisher Product item">
  711. <form action="/shop/cart/update" method="post">
  712. <div itemscope="itemscope" itemtype="http://schema.org/Product">
  713. <div class="cs-product">
  714. <div class="pwp-img">
  715. <a itemprop="url" t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))">
  716. <img class="img img-responsive" itemprop="image" t-att-alt="product.name" t-att-src="website.image_url(product, 'image', None if product_image_big else '300x300')"/>
  717. </a>
  718. </div>
  719. <div class="pwp-info">
  720. <p class="pwpi-title">
  721. <a itemprop="name" t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))" t-field="product.name"/>
  722. </p>
  723. <p class="price">
  724. <span class="price" itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer" t-if="product.product_variant_ids">
  725. <b>
  726. <t t-if="(compute_currency(product.lst_price) - product.price) &gt; 0.1">
  727. <del class="text-danger" style="white-space: nowrap;" t-field="product.lst_price" t-field-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;from_currency&quot;: &quot;product.company_id.currency_id&quot;, &quot;display_currency&quot;: &quot;user_id.partner_id.property_product_pricelist.currency_id&quot; }"/>&amp;nbsp;</t>
  728. <span style="white-space: nowrap;" t-field="product.price" t-field-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: &quot;user_id.partner_id.property_product_pricelist.currency_id&quot;}"/>
  729. <span itemprop="price" style="display:none;" t-esc="product.price"/>
  730. <span itemprop="priceCurrency" style="display:none;" t-esc="user_id.partner_id.property_product_pricelist.currency_id.name"/>
  731. </b>
  732. </span>
  733. </p>
  734. <div class="hidden" id="list_add_to_cart">
  735. <span t-field="product.description_sale"/>
  736. <input name="product_id" t-att-value="product.product_variant_ids[0].id" type="hidden"/>
  737. <t t-if="len(product.product_variant_ids) == 1">
  738. <a class="a-submit btn btn-primary">Agregar al Carro</a>
  739. </t>
  740. <t t-if="len(product.product_variant_ids) &gt; 1">
  741. <a class="btn btn-primary" t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))">Agregar al Carro</a>
  742. </t>
  743. </div>
  744. </div>
  745. </div>
  746. </div>
  747. </form>
  748. </template>
  749. <!-- Product Style Tag image -->
  750. <template active="True" customize_show="True" id="kingfisher_pro_style_tags" inherit_id="kingfisher_pro.king_pro_products_item" name="Product Sale Tags">
  751. <xpath expr="//div[@itemscope='itemscope']/div[@class='cs-product']/div" position="inside">
  752. <div t-att-class="'%s' % product.product_style_tag_id.color if product and product.product_style_tag_id else ''" t-if="product and product.product_style_tag_id">
  753. <t t-esc="product.product_style_tag_id.name"/>
  754. </div>
  755. </xpath>
  756. </template>
  757. <!-- Enable/Disable Flip image -->
  758. <template active="True" customize_show="True" id="kingfisher_pro_flip_image" inherit_id="kingfisher_pro.king_pro_products_item" name="Flip Image">
  759. <xpath expr="//div[@class='cs-product']//a[@itemprop='url']/img" position="attributes">
  760. <attribute name="class">front img img-responsive</attribute>
  761. </xpath>
  762. <xpath expr="//div[@class='cs-product']//a[@itemprop='url']/img" position="after">
  763. <img class="back img img-responsive" itemprop="image" t-att-alt="product.name" t-att-src="website.image_url(product, 'flip_image', None if product_image_big else '300x300')"/>
  764. </xpath>
  765. </template>
  766. <!-- Products page -->
  767. <template id="kingfisher_pro_sale_products" inherit_id="website_sale.products" name="Kingfisher Pro Products">
  768. <xpath expr="//div[@id='wrap']/div[@class='container oe_website_sale']/div[3]" position="attributes">
  769. <attribute name="style">display:none;</attribute>
  770. </xpath>
  771. <!-- Brand Cover and description -->
  772. <xpath expr="//div[@id='products_grid']/table" position="before">
  773. <t t-if="brand_obj.brand_cover">
  774. <img class="mb16" height="300" style="width:100%; padding: 0 15px;" t-att-alt="brand_obj.name" t-att-src="website.image_url(brand_obj, 'brand_cover')" t-att-title="brand_obj.name"/>
  775. </t>
  776. <t t-if="brand_obj.brand_description">
  777. <div class="mb16" style="width:100%; padding: 0 15px;">
  778. <t t-raw="brand_obj.brand_description"/>
  779. </div>
  780. </t>
  781. </xpath>
  782. <xpath expr="//div[@id='wrap']/div[@class='container oe_website_sale']/div[@class='products_pager']" position="attributes">
  783. <attribute name="style">display:none;</attribute>
  784. </xpath>
  785. <xpath expr="//div[@id='wrap']//div[@class='oe_structure']" position="before">
  786. <section class="page-title">
  787. <div class="container">
  788. <ul class="breadcrumb">
  789. <li>
  790. <a href="/page/homepage">Inicio</a>
  791. </li>
  792. <li t-att-class="'' if category else 'active'">
  793. <a href="/shop">Productos</a>
  794. </li>
  795. <li t-att-class="'active' if category else ''" t-if="category">
  796. <a t-att-href="keep('/shop/category/%s' % slug(category), category=0)" t-field="category.name"/>
  797. </li>
  798. </ul>
  799. </div>
  800. </section>
  801. </xpath>
  802. <!-- Category name, grid/list switching, pager, sort by -->
  803. <xpath expr="//div[@id='products_grid']/table" position="before">
  804. <div class="right-title">
  805. <t t-if="category">
  806. <h3 t-field="category.name"/>
  807. </t>
  808. <t t-if="not category">
  809. <h3>Todos los Productos
  810. </h3>
  811. </t>
  812. <hr/>
  813. </div>
  814. <div class="category-products category_products">
  815. <div class="toolbar">
  816. <div class="toolbar-pager">
  817. <div class="pager_left">
  818. <div class="view-mode">
  819. <button class="shift_grid_view active">
  820. <i class="fa fa-th-large"/>
  821. </button>
  822. <button class="shift_list_view">
  823. <i class="fa fa-bars"/>
  824. </button>
  825. </div>
  826. <div class="paging_sort">
  827. <!-- Product paging -->
  828. <t t-if="products and website.get_pager_selection()">
  829. <t t-set="website_ppp" t-value="website.get_pager_selection()"/>
  830. <span t-attf-class="#{website_ppp and len(website_ppp['page_no'])&gt;1 and 'simple_name' or 'hidden'}">
  831. <t t-esc="website_ppp['name']"/>
  832. <div t-attf-class="#{website_ppp and len(website_ppp['page_no'])&gt;1 and 'dropdown' or 'hidden'} btn-group">
  833. <t t-set="curr_ppp" t-value="website.get_current_pager_selection()"/>
  834. <a class="dropdown-toggle btn btn-default" data-toggle="dropdown" href="#">
  835. <t t-esc="curr_ppp or ' - '"/>
  836. <span class="caret"/>
  837. </a>
  838. <ul class="dropdown-menu" role="menu">
  839. <li t-as="pl" t-foreach="website_ppp['page_no']">
  840. <a t-att-href="'/shop/pager_selection/%s' % pl.id">
  841. <span class="switcher_pricelist" t-att-data-pl_id="pl.id" t-esc="pl.name"/>
  842. </a>
  843. </li>
  844. </ul>
  845. </div>
  846. </span>
  847. </t>
  848. </div>
  849. </div>
  850. <div class="pager_right">
  851. <div class="products_pager">
  852. <t t-call="website.pager"/>
  853. </div>
  854. </div>
  855. </div>
  856. </div>
  857. </div>
  858. </xpath>
  859. <!-- Kingfisher Pro Prodcut Grid View -->
  860. <xpath expr="//div[@id='products_grid']/table" position="attributes">
  861. <attribute name="style">display:none;</attribute>
  862. </xpath>
  863. <xpath expr="//div[@id='products_grid']/table" position="before">
  864. <div id="kingfisher_pro_products_grid_view">
  865. <t t-as="tr_product" t-foreach="bins">
  866. <t t-as="td_product" t-foreach="tr_product">
  867. <t t-if="td_product">
  868. <t t-set="product" t-value="td_product['product']"/>
  869. <div class="col-md-6 col-sm-6 list-items" t-if="website.product_display_grid == '2'">
  870. <t t-call="kingfisher_pro.king_pro_products_item"/>
  871. </div>
  872. <div class="col-md-4 col-sm-6 list-items" t-if="website.product_display_grid == '3'">
  873. <t t-call="kingfisher_pro.king_pro_products_item"/>
  874. </div>
  875. <div class="col-md-3 col-sm-6 list-items" t-if="website.product_display_grid == '4'">
  876. <t t-call="kingfisher_pro.king_pro_products_item"/>
  877. </div>
  878. </t>
  879. </t>
  880. </t>
  881. </div>
  882. <!-- For not bins -->
  883. </xpath>
  884. </template>
  885. <!-- Kingfisher Pro Product list view -->
  886. <template active="False" customize_show="False" id="website_sale.products_list_view" inherit_id="website_sale.products" name="List View">
  887. <xpath expr="//div[@id='kingfisher_pro_products_grid_view']" position="attributes">
  888. <attribute name="style">display:none;</attribute>
  889. </xpath>
  890. <xpath expr="//div[@id='kingfisher_pro_products_grid_view']" position="before">
  891. <div id="kingfisher_pro_products_list_view">
  892. <t t-as="product" t-foreach="products">
  893. <div class="col-md-4 col-sm-6 oe_product oe_list oe_product_cart" t-att-data-publish="product.website_published and 'on' or 'off'">
  894. <t t-call="kingfisher_pro.king_pro_products_item"/>
  895. </div>
  896. </t>
  897. </div>
  898. </xpath>
  899. </template>
  900. <!-- Remove main add to cart -->
  901. <template active="False" customize_show="False" id="website_sale.products_add_to_cart" inherit_id="website_sale.products_item" name="Add to Cart">
  902. <xpath expr="//div[@class='product_price']" position="inside">
  903. <input name="product_id" t-att-value="product.product_variant_ids[0].id" type="hidden"/>
  904. <t t-if="len(product.product_variant_ids) == 1">
  905. <a class="btn btn-default btn-xs a-submit">
  906. <span class="fa fa-shopping-cart"/>
  907. </a>
  908. </t>
  909. <t t-if="len(product.product_variant_ids) &gt; 1">
  910. <a class="btn btn-default btn-xs" t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))">
  911. <span class="fa fa-shopping-cart"/>
  912. </a>
  913. </t>
  914. </xpath>
  915. </template>
  916. <!-- Inherited Add to cart -->
  917. <template active="True" customize_show="True" id="kingfisher_pro_products_add_to_cart" inherit_id="kingfisher_pro.king_pro_products_item" name="Add to Cart">
  918. <xpath expr="//div[@class='pwp-info']" position="before">
  919. <div class="pink-box">
  920. <div class="view">
  921. <div class="shopping-cart">
  922. <input name="product_id" t-att-value="product.product_variant_ids[0].id" type="hidden"/>
  923. <t t-if="len(product.product_variant_ids) == 1">
  924. <a class="a-submit">
  925. <img alt="Shopping-cart" src="/kingfisher_pro/static/src/img/cart2.png" title="Shopping Cart"/>
  926. </a>
  927. </t>
  928. <t t-if="len(product.product_variant_ids) &gt; 1">
  929. <a t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))">
  930. <img alt="Shopping-cart" src="/kingfisher_pro/static/src/img/cart2.png" title="Shopping Cart"/>
  931. </a>
  932. </t>
  933. </div>
  934. </div>
  935. </div>
  936. </xpath>
  937. </template>
  938. <!-- Product Sorting -->
  939. <template active="False" customize_show="True" id="kingfisher_pro_product_sorting" inherit_id="kingfisher_pro.kingfisher_pro_sale_products" name="Product Sorting">
  940. <xpath expr="//div[@class='category-products category_products']//div[@class='pager_right']/div" position="before">
  941. <t t-if="website.enable_sort_by">
  942. <div class="sort-by">
  943. <div class="dropdown ">
  944. <button aria-expanded="false" aria-haspopup="true" data-toggle="dropdown" id="sort_by" type="button">
  945. <t t-set="cur_sort" t-value="website.set_current_sorting_data()"/>
  946. <t t-if="not cur_sort">Filtrar por
  947. </t>
  948. <t t-if="cur_sort">Filtrar por:
  949. </t>
  950. <t t-esc="cur_sort"/>
  951. <span class="caret"/>
  952. </button>
  953. <ul class="dropdown-menu" role="menu">
  954. <t t-if="not category">
  955. <t t-as="a" t-foreach="website.get_sort_by_data()">
  956. <li>
  957. <a t-att-href="'/shop?sort_id=%s' % a.id" t-field="a.name"/>
  958. </li>
  959. </t>
  960. </t>
  961. <t t-if="category">
  962. <t t-as="a" t-foreach="website.get_sort_by_data()">
  963. <li>
  964. <a t-att-href="'/shop/category/%s?sort_id=%s' % (slug(category), a.id)" t-field="a.name"/>
  965. </li>
  966. </t>
  967. </t>
  968. </ul>
  969. </div>
  970. </div>
  971. </t>
  972. </xpath>
  973. </template>
  974. <!-- Custom Filters -->
  975. <template active="False" customize_show="True" id="kingfisher_pro_custom_filterz" inherit_id="website_sale.products" name="Custom Filters" priority="1">
  976. <xpath expr="//div[@id='products_grid_before']" position="inside">
  977. <div class="popular-tags" t-if="request.session.get('tag') or request.session.get('sortid') or request.session.get('pricerange')">
  978. <div class="left-title mb16">
  979. <h3>Seleccionar filtros</h3>
  980. <hr/>
  981. </div>
  982. <ul id="selectedattr">
  983. <t t-if="request.session.get('tag')">
  984. <label class="label label-info" id="tag">
  985. <span>Etiqueta:
  986. <t t-esc="request.session['tag'][1]"/></span>
  987. <a id="clear">X</a>
  988. </label>
  989. </t>
  990. <t t-if="request.session.get('sortid')">
  991. <label class="label label-info" id="sortid" t-if="len(request.session['sortid']) &gt;1">
  992. <span>Filtrar por:
  993. <t t-esc="request.session['sortid'][2]"/></span>
  994. <a id="clear">X</a>
  995. </label>
  996. </t>
  997. <t t-if="request.session.get('pricerange')">
  998. <label class="label label-info" id="pricerange">
  999. <span>Precio-Rango:
  1000. <t t-esc="request.session['pricerange']"/></span>
  1001. <a id="clear">X</a>
  1002. </label>
  1003. </t>
  1004. </ul>
  1005. </div>
  1006. </xpath>
  1007. <xpath expr="//div[@id='products_grid_before']" position="attributes">
  1008. <attribute name="class">col-md-3 col-sm-4 hidden-xs</attribute>
  1009. </xpath>
  1010. <xpath expr="//div[@id='products_grid']" position="attributes">
  1011. <attribute name="class">col-md-9 col-sm-8</attribute>
  1012. </xpath>
  1013. </template>
  1014. <!-- Inherited Product Categories -->
  1015. <template active="False" customize_show="True" id="website_sale.products_categories" inherit_id="website_sale.products" name="Product Categories" priority="2">
  1016. <xpath expr="//div[@id='products_grid_before']" position="inside">
  1017. <div class="left-title">
  1018. <h3>Categorias</h3>
  1019. <hr/>
  1020. </div>
  1021. <ul class="nav nav-pills nav-stacked category_nav mb16">
  1022. <li t-att-class=" '' if category else 'active' ">
  1023. <a t-att-href="keep('/shop',category=0)">Todos los Productos</a>
  1024. </li>
  1025. <t t-as="c" t-foreach="categories">
  1026. <t t-call="website_sale.categories_recursive"/>
  1027. </t>
  1028. </ul>
  1029. </xpath>
  1030. <xpath expr="//div[@id='products_grid_before']" position="attributes">
  1031. <attribute name="class">col-md-3 col-sm-4 hidden-xs</attribute>
  1032. </xpath>
  1033. <xpath expr="//div[@id='products_grid']" position="attributes">
  1034. <attribute name="class">col-md-9 col-sm-8</attribute>
  1035. </xpath>
  1036. </template>
  1037. <template id="king_pro_option_collapse_categories_recursive" name="Collapse Category Recursive">
  1038. <li t-att-class="'active' if categ.id == int(category or 0) else ''">
  1039. <i t-attf-class="text-primary fa #{'fa-chevron-down' if categ.id in parent_category_ids else 'fa-chevron-right'}" t-if="categ.child_id"/>
  1040. <a t-att-href="keep('/shop/category/' + slug(categ), category=0)" t-field="categ.name"/>
  1041. <ul class="nav nav-pills nav-stacked nav-hierarchy" t-att-style="'display:block;' if categ.id in parent_category_ids else 'display:none;'" t-if="categ.child_id">
  1042. <t t-as="categ" t-foreach="categ.child_id">
  1043. <t t-call="kingfisher_pro.king_pro_option_collapse_categories_recursive"/>
  1044. </t>
  1045. </ul>
  1046. </li>
  1047. </template>
  1048. <template active="False" customize_show="True" id="option_collapse_products_categories" inherit_id="website_sale.products_categories" name="Collapsible Category List">
  1049. <xpath expr="//div[@id='products_grid_before']/ul" position="replace">
  1050. <ul class="nav nav-pills nav-stacked mb16" id="o_shop_collapse_category">
  1051. <li t-att-class=" '' if category else 'active' ">
  1052. <a t-att-href="keep('/shop',category=0)">Todos los Productos</a>
  1053. </li>
  1054. <t t-as="categ" t-foreach="categories">
  1055. <t t-call="kingfisher_pro.king_pro_option_collapse_categories_recursive"/>
  1056. </t>
  1057. </ul>
  1058. </xpath>
  1059. </template>
  1060. <!-- Inherited Product Attributes -->
  1061. <template active="False" customize_show="True" id="website_sale.products_attributes" inherit_id="website_sale.products" name="Product Attribute's Filters">
  1062. <xpath expr="//div[@id='products_grid_before']" position="inside">
  1063. <div class="shop-by mb16">
  1064. <div class="left-title">
  1065. <h3>Comprar por</h3>
  1066. <hr/>
  1067. </div>
  1068. <form class="js_attributes" method="get">
  1069. <input name="buscar" t-att-value="search" type="hidden"/>
  1070. <ul class="nav nav-pills nav-stacked mt16">
  1071. <t t-as="b" t-foreach="attributes">
  1072. <t t-if="b.name == 'Color'">
  1073. <li t-if="b.value_ids and len(b.value_ids) &gt;1">
  1074. <div>
  1075. <strong class="filtrouno">Filtro por Colores</strong>
  1076. </div>
  1077. <t t-if="b.name == 'Color'">
  1078. <t t-as="w" t-foreach="b.value_ids">
  1079. <label t-attf-class="css_attribute_color #{'active' if w.id in attrib_set else ''}" t-attf-style="background-color:#{w.color or w.name}">
  1080. <input name="attrib" t-att-checked="'checked' if w.id in attrib_set else ''" t-att-title="w.name" t-att-value="'%s-%s' % (b.id,w.id)" type="checkbox"/>
  1081. </label>
  1082. </t>
  1083. </t>
  1084. </li>
  1085. </t>
  1086. </t>
  1087. </ul>
  1088. </form>
  1089. <form class="js_attributes" method="get">
  1090. <input name="search" t-att-value="search" type="hidden"/>
  1091. <ul class="nav nav-pills nav-stacked mt16">
  1092. <t t-as="a" t-foreach="attributes">
  1093. <t t-if="a.type != 'hidden'">
  1094. <li t-if="a.value_ids and len(a.value_ids) &gt;1 and a.name != 'Color'">
  1095. <div>
  1096. <strong class="filtrouno" t-field="a.name"/>
  1097. </div>
  1098. <t t-if="a.type == 'color'">
  1099. <t t-as="v" t-foreach="a.value_ids">
  1100. <label t-attf-class="css_attribute_color #{'active' if v.id in attrib_set else ''}" t-attf-style="background-color:#{v.color or v.name}">
  1101. <input name="attrib" t-att-checked="'checked' if v.id in attrib_set else ''" t-att-title="v.name" t-att-value="'%s-%s' % (a.id,v.id)" type="checkbox"/>
  1102. </label>
  1103. </t>
  1104. </t>
  1105. <t t-if="a.type == 'select'">
  1106. <select class="form-control" name="attrib">
  1107. <option value=""/>
  1108. <t t-as="v" t-foreach="a.value_ids">
  1109. <option t-att-selected="'selected' if v.id in attrib_set else ''" t-att-value="'%s-%s' % (a.id,v.id)" t-esc="v.name"/>
  1110. </t>
  1111. </select>
  1112. </t>
  1113. <t t-if="a.type == 'radio'">
  1114. <ul class="nav nav-pills nav-stacked" style="overflow: auto; max-height:200px; columns: 2; -webkit- columns: 2;-moz- columns: 2;-o- columns: 2;">
  1115. <t t-as="v" t-foreach="a.value_ids">
  1116. <li style="margin-top: 0px;" t-att-class="'active' if v.id in attrib_set else ''">
  1117. <label style="margin: 0 20px;">
  1118. <input name="attrib" t-att-checked="'checked' if v.id in attrib_set else ''" t-att-value="'%s-%s' % (a.id,v.id)" type="checkbox"/>
  1119. <span style="font-weight: normal" t-field="v.name"/>
  1120. </label>
  1121. </li>
  1122. </t>
  1123. </ul>
  1124. </t>
  1125. </li>
  1126. </t>
  1127. </t>
  1128. </ul>
  1129. </form>
  1130. <!-- <form class="js_attributes" method="get"><input name="search" t-att-value="search" type="hidden"/><ul class="nav nav-pills nav-stacked mt16"><t t-as="a" t-foreach="attributes"><t t-if="a.type != 'hidden'"><li t-if="a.value_ids and len(a.value_ids) &gt;1"><div><strong t-field="a.name"/></div><t t-if="a.type == 'select'"><select class="form-control" name="attrib"><option value=""/><t t-as="v" t-foreach="a.value_ids"><option t-att-selected="'selected' if v.id in attrib_set else ''" t-att-value="'%s-%s' % (a.id,v.id)" t-esc="v.name"/></t></select></t><t t-if="a.type == 'radio'"><ul class="nav nav-pills nav-stacked"><t t-as="v" t-foreach="a.value_ids"><li t-att-class="'active' if v.id in attrib_set else ''"><label style="margin: 0 20px;"><input name="attrib" t-att-checked="'checked' if v.id in attrib_set else ''" t-att-value="'%s-%s' % (a.id,v.id)" type="checkbox"/><span style="font-weight: normal" t-field="v.name"/></label></li></t></ul></t><t t-if="a.type == 'color'"><t t-as="v" t-foreach="a.value_ids"><label t-attf-class="css_attribute_color #{'active' if v.id in attrib_set else ''}" t-attf-style="background-color:#{v.color or v.name}"><input name="attrib" t-att-checked="'checked' if v.id in attrib_set else ''" t-att-title="v.name" t-att-value="'%s-%s' % (a.id,v.id)" type="checkbox"/></label></t></t></li></t></t></ul></form>-->
  1131. </div>
  1132. </xpath>
  1133. <xpath expr="//div[@id='products_grid_before']" position="attributes">
  1134. <attribute name="class">col-md-3 col-sm-4 hidden-xs</attribute>
  1135. </xpath>
  1136. <xpath expr="//div[@id='products_grid']" position="attributes">
  1137. <attribute name="class">col-md-9 col-sm-8</attribute>
  1138. </xpath>
  1139. </template>
  1140. <!-- Product Tags -->
  1141. <template active="False" customize_show="True" id="kingfisher_pro_product_tag" inherit_id="website_sale.products" name="Product Tags">
  1142. <xpath expr="//div[@id='products_grid_before']" position="inside">
  1143. <div class="popular-tags mb16">
  1144. <div class="left-title">
  1145. <h3>Etiquetas Populares</h3>
  1146. <hr/>
  1147. </div>
  1148. <ul class="tags">
  1149. <t t-if="not category">
  1150. <t t-as="c" t-foreach="website.get_product_tags()">
  1151. <li>
  1152. <a t-att-href="'/shop?tag=%s'%c.id" t-field="c.name"/>
  1153. </li>
  1154. </t>
  1155. </t>
  1156. <t t-if="category">
  1157. <t t-as="c" t-foreach="website.get_product_tags()">
  1158. <li>
  1159. <a t-att-href="'/shop/category/%s?tag=%s' % (slug(category), c.id)" t-field="c.name"/>
  1160. </li>
  1161. </t>
  1162. </t>
  1163. </ul>
  1164. </div>
  1165. </xpath>
  1166. <xpath expr="//div[@id='products_grid_before']" position="attributes">
  1167. <attribute name="class">col-md-3 col-sm-4 hidden-xs</attribute>
  1168. </xpath>
  1169. <xpath expr="//div[@id='products_grid']" position="attributes">
  1170. <attribute name="class">col-md-9 col-sm-8</attribute>
  1171. </xpath>
  1172. </template>
  1173. <!-- Price Slider -->
  1174. <template active="False" customize_show="True" id="kingfisher_pro_slider_layout" inherit_id="website_sale.products" name="Product Price Slider">
  1175. <xpath expr="//div[@id='products_grid_before']" position="inside">
  1176. <div class="popular-tags mb16">
  1177. <div class="left-title">
  1178. <h3>Por Precio</h3>
  1179. <hr/>
  1180. </div>
  1181. <div class="price-slider">
  1182. <form method="post" t-att-action="keep('/shop'+ ('/category/'+slug(category)) if category else '',search=0)">
  1183. <div id="priceslider"/>
  1184. <input id="king_pro_website_currency" name="website_currency" t-att-value="website.pricelist_id.currency_id.symbol" type="hidden"/>
  1185. <input id="m1" name="min1" t-att-value="min1" type="hidden"/>
  1186. <input id="m2" name="max1" t-att-value="max1" type="hidden"/>
  1187. <input id="ra1" name="range1" t-att-value="range1" type="hidden"/>
  1188. <input id="ra2" name="range2" t-att-value="range2" type="hidden"/>
  1189. </form>
  1190. </div>
  1191. </div>
  1192. </xpath>
  1193. <xpath expr="//div[@id='products_grid_before']" position="attributes">
  1194. <attribute name="class">col-md-3 col-sm-4 hidden-xs</attribute>
  1195. </xpath>
  1196. <xpath expr="//div[@id='products_grid']" position="attributes">
  1197. <attribute name="class">col-md-9 col-sm-8</attribute>
  1198. </xpath>
  1199. </template>
  1200. <!-- Added class in 'continue shopping' button -->
  1201. <template id="kingfisher_pro_checkout" inherit_id="website_sale.checkout">
  1202. <xpath expr="//a[@class='btn btn-default btn-primary pull-right mb32 a-submit']" position="attributes">
  1203. <attribute name="class">btn btn-primary pull-right mb32 a-submit</attribute>
  1204. </xpath>
  1205. </template>
  1206. <!-- Kingfisher Pro Website Megamenu -->
  1207. <template id="kingfisher_pro_website_megamenu_submenu" inherit_id="website.submenu">
  1208. <xpath expr="//li[1]" position="attributes">
  1209. <attribute name="t-if">not submenu.child_id and not submenu.is_megamenu</attribute>
  1210. </xpath>
  1211. <xpath expr="//li" position="after">
  1212. <li t-att-class="'li-mega-menu mm_icon' if submenu.menu_icon and submenu.menu_icon_image else 'li-mega-menu'" t-if="submenu.is_megamenu">
  1213. <a t-att-href="'%s' % (submenu.url) if submenu.url else ''" t-att-target="'_blank' if submenu.new_window else ''">
  1214. <t t-if="submenu.menu_icon and submenu.menu_icon_image">
  1215. <img class="img-responsive icon" t-att-alt="submenu.name" t-att-src="website.image_url(submenu, 'menu_icon_image', '30x30')"/>
  1216. </t>
  1217. <span t-field="submenu.name"/>
  1218. <span class="fa fa-angle-down" t-ignore="true"/>
  1219. </a>
  1220. <!-- 2 Column -->
  1221. <t t-if="submenu.megamenu_type == '2_col'">
  1222. <ul class="dropdown-menu mega-dropdown-menu row" t-att-style="'background: url(data:image/png;base64,%s); background-size: cover;' % (submenu.megamenu_bg_image) if submenu.megamenu_bg and submenu.megamenu_bg_img_color == 'bg_img' else '' 'background: %s !important;' % (submenu.megamenu_bg_color) if submenu.megamenu_bg and submenu.megamenu_bg_img_color == 'bg_color' else ''">
  1223. <div class="row">
  1224. <t t-set="product_categories" t-value="website.get_public_product_category(submenu)"/>
  1225. <t t-if="not product_categories">
  1226. <li class="dropdown-header message" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">Espere, aun no se han asignado categorias a este menu.!!!
  1227. </li>
  1228. </t>
  1229. <t t-if="product_categories">
  1230. <div t-att-class="'col-md-4 col-xs-12' if submenu.category_slider else ''" t-att-style="'float: %s' % submenu.category_slider_position if submenu.category_slider and submenu.category_slider_position else 'float:left;'">
  1231. <t t-if="submenu.category_slider">
  1232. <li>
  1233. <ul>
  1234. <li class="dropdown-header slider_header" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">
  1235. <t t-esc="submenu.carousel_header_name"/>
  1236. </li>
  1237. <div class="carousel slide" data-ride="carousel" t-att-id="'myCarousel-%s' % submenu.id">
  1238. <div class="carousel-inner">
  1239. <t t-set="a" t-value="0"/>
  1240. <t t-as="categ" t-foreach="product_categories">
  1241. <div t-att-class="'item active' if a == 0 else 'item'">
  1242. <t t-set="a" t-value="a+1"/>
  1243. <a t-att-href="'/shop/category/%s' % slug(categ)">
  1244. <img class="img-responsive" t-att-alt="categ.name" t-att-src="website.image_url(categ, 'image', '300x250')"/>
  1245. </a>
  1246. <h4>
  1247. <small t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''">
  1248. <t t-esc="categ.name"/>
  1249. </small>
  1250. </h4>
  1251. </div>
  1252. </t>
  1253. </div>
  1254. </div>
  1255. <div class="carousel-control left" data-slide="prev" t-att-data-target="'#myCarousel-%s' % submenu.id">
  1256. <i class="fa fa-chevron-left"/>
  1257. </div>
  1258. <div class="carousel-control right" data-slide="next" t-att-data-target="'#myCarousel-%s' % submenu.id">
  1259. <i class="fa fa-chevron-right"/>
  1260. </div>
  1261. </ul>
  1262. </li>
  1263. </t>
  1264. </div>
  1265. <div t-att-class="'col-md-8 col-xs-12 letter-spacing' if submenu.category_slider else 'col-md-12 letter-spacing'">
  1266. <t t-as="category" t-foreach="product_categories">
  1267. <li class="col-sm-6 inline-block">
  1268. <ul>
  1269. <li class="dropdown-header">
  1270. <a t-att-href="'/shop/category/%s' % slug(category)" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">
  1271. <t t-esc="category.name"/>
  1272. </a>
  1273. </li>
  1274. <t t-if="category.child_id">
  1275. <t t-as="categ" t-foreach="website.get_public_product_child_category(category.child_id)">
  1276. <li class="categories">
  1277. <a t-att-href="'/shop/category/%s' % slug(categ)" t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''">
  1278. <t t-esc="categ.name"/>
  1279. </a>
  1280. </li>
  1281. </t>
  1282. </t>
  1283. </ul>
  1284. </li>
  1285. </t>
  1286. </div>
  1287. </t>
  1288. </div>
  1289. <div class="row" t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''" t-if="submenu.display_menu_footer">
  1290. <div class="footer">
  1291. <t t-raw="submenu.menu_footer"/>
  1292. </div>
  1293. </div>
  1294. </ul>
  1295. </t>
  1296. <!-- 3 Column -->
  1297. <t t-if="submenu.megamenu_type == '3_col'">
  1298. <ul class="dropdown-menu mega-dropdown-menu row" t-att-style="'background: url(data:image/png;base64,%s); background-size: cover;' % (submenu.megamenu_bg_image) if submenu.megamenu_bg and submenu.megamenu_bg_img_color == 'bg_img' else '' 'background: %s !important;' % (submenu.megamenu_bg_color) if submenu.megamenu_bg and submenu.megamenu_bg_img_color == 'bg_color' else ''">
  1299. <div class="row">
  1300. <t t-set="product_categories" t-value="website.get_public_product_category(submenu)"/>
  1301. <t t-if="not product_categories">
  1302. <li class="dropdown-header message" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">Espere, aun no se han asignado categorias a este menu.!!!
  1303. </li>
  1304. </t>
  1305. <t t-if="product_categories">
  1306. <div t-att-class="'col-md-3 col-xs-12' if submenu.category_slider else ''" t-att-style="'float: %s' % submenu.category_slider_position if submenu.category_slider and submenu.category_slider_position else 'float:left;'">
  1307. <t t-if="submenu.category_slider">
  1308. <li class="margin">
  1309. <ul>
  1310. <li class="dropdown-header slider_header" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">
  1311. <t t-esc="submenu.carousel_header_name"/>
  1312. </li>
  1313. <div class="carousel slide" data-ride="carousel" t-att-id="'myCarousel-%s' % submenu.id">
  1314. <div class="carousel-inner">
  1315. <t t-set="a" t-value="0"/>
  1316. <t t-as="categ" t-foreach="product_categories">
  1317. <div t-att-class="'item active' if a == 0 else 'item'">
  1318. <t t-set="a" t-value="a+1"/>
  1319. <a t-att-href="'/shop/category/%s' % slug(categ)">
  1320. <img class="img-responsive" t-att-alt="categ.name" t-att-src="website.image_url(categ, 'image', '300x250')"/>
  1321. </a>
  1322. <h4>
  1323. <small t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''">
  1324. <t t-esc="categ.name"/>
  1325. </small>
  1326. </h4>
  1327. </div>
  1328. </t>
  1329. </div>
  1330. </div>
  1331. <div class="carousel-control left" data-slide="prev" t-att-data-target="'#myCarousel-%s' % submenu.id">
  1332. <i class="fa fa-chevron-left"/>
  1333. </div>
  1334. <div class="carousel-control right" data-slide="next" t-att-data-target="'#myCarousel-%s' % submenu.id">
  1335. <i class="fa fa-chevron-right"/>
  1336. </div>
  1337. </ul>
  1338. </li>
  1339. </t>
  1340. </div>
  1341. <div t-att-class="'col-md-9 col-xs-12 letter-spacing' if submenu.category_slider else 'col-md-12 letter-spacing'">
  1342. <t t-as="category" t-foreach="product_categories">
  1343. <li class="col-sm-4 inline-block">
  1344. <ul>
  1345. <li class="dropdown-header">
  1346. <a t-att-href="'/shop/category/%s' % slug(category)" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">
  1347. <t t-esc="category.name"/>
  1348. </a>
  1349. </li>
  1350. <t t-if="category.child_id">
  1351. <t t-as="categ" t-foreach="website.get_public_product_child_category(category.child_id)">
  1352. <li class="categories">
  1353. <a t-att-href="'/shop/category/%s' % slug(categ)" t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''">
  1354. <t t-esc="categ.name"/>
  1355. </a>
  1356. </li>
  1357. </t>
  1358. </t>
  1359. </ul>
  1360. </li>
  1361. </t>
  1362. </div>
  1363. </t>
  1364. </div>
  1365. <div class="row" t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''" t-if="submenu.display_menu_footer">
  1366. <div class="footer">
  1367. <t t-raw="submenu.menu_footer"/>
  1368. </div>
  1369. </div>
  1370. </ul>
  1371. </t>
  1372. <!-- 4 Column -->
  1373. <t t-if="submenu.megamenu_type == '4_col'">
  1374. <ul class="dropdown-menu mega-dropdown-menu row" t-att-style="'background: url(data:image/png;base64,%s); background-size: cover;' % (submenu.megamenu_bg_image) if submenu.megamenu_bg and submenu.megamenu_bg_img_color == 'bg_img' else '' 'background: %s !important;' % (submenu.megamenu_bg_color) if submenu.megamenu_bg and submenu.megamenu_bg_img_color == 'bg_color' else ''">
  1375. <div class="row">
  1376. <t t-set="product_categories" t-value="website.get_public_product_category(submenu)"/>
  1377. <t t-if="not product_categories">
  1378. <li class="dropdown-header message" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">Espere, aun no se han asignado categorias a este menu.!!!
  1379. </li>
  1380. </t>
  1381. <t t-if="product_categories">
  1382. <div t-att-class="'col-md-3 col-xs-12' if submenu.category_slider else ''" t-att-style="'float: %s' % submenu.category_slider_position if submenu.category_slider and submenu.category_slider_position else 'float:left;'">
  1383. <t t-if="submenu.category_slider">
  1384. <li class="margin">
  1385. <ul>
  1386. <li class="dropdown-header slider_header" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">
  1387. <t t-esc="submenu.carousel_header_name"/>
  1388. </li>
  1389. <div class="carousel slide" data-ride="carousel" t-att-id="'myCarousel-%s' % submenu.id">
  1390. <div class="carousel-inner">
  1391. <t t-set="a" t-value="0"/>
  1392. <t t-as="categ" t-foreach="product_categories">
  1393. <div t-att-class="'item active' if a == 0 else 'item'">
  1394. <t t-set="a" t-value="a+1"/>
  1395. <a t-att-href="'/shop/category/%s' % slug(categ)">
  1396. <img class="img-responsive" t-att-alt="categ.name" t-att-src="website.image_url(categ, 'image', '300x250')"/>
  1397. </a>
  1398. <h4>
  1399. <small t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''">
  1400. <t t-esc="categ.name"/>
  1401. </small>
  1402. </h4>
  1403. </div>
  1404. </t>
  1405. </div>
  1406. </div>
  1407. <div class="carousel-control left" data-slide="prev" t-att-data-target="'#myCarousel-%s' % submenu.id">
  1408. <i class="fa fa-chevron-left"/>
  1409. </div>
  1410. <div class="carousel-control right" data-slide="next" t-att-data-target="'#myCarousel-%s' % submenu.id">
  1411. <i class="fa fa-chevron-right"/>
  1412. </div>
  1413. </ul>
  1414. </li>
  1415. </t>
  1416. </div>
  1417. <div t-att-class="'col-md-9 col-xs-12 letter-spacing' if submenu.category_slider else 'col-md-12 letter-spacing'">
  1418. <t t-as="category" t-foreach="product_categories">
  1419. <li class="col-sm-3 inline-block">
  1420. <ul>
  1421. <li class="dropdown-header">
  1422. <a t-att-href="'/shop/category/%s' % slug(category)" t-att-style="'color: %s' %(submenu.main_category_color) if submenu.customize_menu_colors and submenu.main_category_color else ''">
  1423. <t t-esc="category.name"/>
  1424. </a>
  1425. </li>
  1426. <t t-if="category.child_id">
  1427. <t t-as="categ" t-foreach="website.get_public_product_child_category(category.child_id)">
  1428. <li class="categories">
  1429. <a t-att-href="'/shop/category/%s' % slug(categ)" t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''">
  1430. <t t-esc="categ.name"/>
  1431. </a>
  1432. </li>
  1433. </t>
  1434. </t>
  1435. </ul>
  1436. </li>
  1437. </t>
  1438. </div>
  1439. </t>
  1440. </div>
  1441. <div class="row" t-att-style="'color: %s' %(submenu.sub_category_color) if submenu.customize_menu_colors and submenu.sub_category_color else ''" t-if="submenu.display_menu_footer">
  1442. <div class="footer">
  1443. <t t-raw="submenu.menu_footer"/>
  1444. </div>
  1445. </div>
  1446. </ul>
  1447. </t>
  1448. </li>
  1449. </xpath>
  1450. </template>
  1451. <!-- First / Last pager -->
  1452. <template id="website_pager_addition" inherit_id="website.pager">
  1453. <xpath expr="//ul/li" position="before">
  1454. <t t-if="website.enable_first_last_pager and pager['page_count'] &gt;2">
  1455. <li t-att-class=" 'disabled' if pager['page']['num'] == 1 else '' ">
  1456. <a t-att-href=" pager['page_first']['url'] if pager['page']['num'] != 1 else ''">Primero</a>
  1457. </li>
  1458. </t>
  1459. </xpath>
  1460. <xpath expr="//ul/li[last()]" position="after">
  1461. <t t-if="website.enable_first_last_pager and pager['page_count'] &gt;2">
  1462. <li t-att-class=" 'disabled' if pager['page']['num'] == pager['page_count'] else '' ">
  1463. <a t-att-href="pager['page_last']['url'] if pager['page']['num'] != pager['page_count'] else ''">Ultimo</a>
  1464. </li>
  1465. </t>
  1466. </xpath>
  1467. </template>
  1468. <!-- 404 page -->
  1469. <template customize_show="True" id="404_page_template" inherit_id="website.404">
  1470. <xpath expr="//div[@id='wrap']" position="replace">
  1471. <div class="container">
  1472. <div class="row section-404 well">
  1473. <div class="col-md-12 text-center">
  1474. <div class="content-404">
  1475. <img src="/kingfisher_pro/static/src/img/kingfisher-pro-404.png"/>
  1476. <label>404</label>
  1477. </div>
  1478. <p class="text-center not-found-message">La pagina que está buscano no esta disponible</p>
  1479. <p class="text-center try-pages">Puede intentar las paginas siguientes
  1480. <span>
  1481. <a t-attf-href="/page/website.homepage" title="Writizmo">Página Inicial</a></span>
  1482. </p>
  1483. </div>
  1484. </div>
  1485. </div>
  1486. </xpath>
  1487. </template>
  1488. </data>
  1489. </openerp>