465 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			465 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
| <?xml version="1.0" encoding="utf-8"?>
 | |
| <odoo>
 | |
| 	<!-- Change Qweb view priority -->
 | |
| 	<record id="website_sale.products_categories" model="ir.ui.view">
 | |
| 		<field name="priority">17</field>
 | |
| 	</record>
 | |
| 
 | |
| 	<record id="website_sale.products_description" model="ir.ui.view">
 | |
| 		<field name="priority">24</field>
 | |
| 	</record>
 | |
| 
 | |
| 
 | |
| 	<!-- View As Template -->
 | |
| 	<template id="clarico_shop_products" inherit_id="website_sale.products"
 | |
| 		name="Clarico Shop">
 | |
| 		<xpath expr="//div[@id='wrap']" position="replace">
 | |
| 			<div id="wrap" class="js_sale">
 | |
| 				<div class="oe_structure" />
 | |
| 				<div class="oe_website_sale">
 | |
| 					<div t-att-style="'display:none;' if not bins  else 'display:block;'"
 | |
| 						id="sub_header_row" class="shop-page-breadcrumb">
 | |
| 						<div class="clarico_product_breadcrumb">
 | |
| 							<div class="sub_breadcrumb">
 | |
| 								<div class="nav-view">
 | |
| 									<div class="nav-selection-div">
 | |
| 										<a class="home-icon" href="/shop">
 | |
| 											<i class="fa fa-home" aria-hidden="true"></i>
 | |
| 										</a>
 | |
| 										<span class="select-nevigation-span" />
 | |
| 										<a class="select-nevigation-child"></a>
 | |
| 										<!-- <a class="select-nevigation" href="/shop"> Home <span>/</span> 
 | |
| 											</a> -->
 | |
| 									</div>
 | |
| 									<div class="view-as-div">
 | |
| 										<label class="view-label">View As</label>
 | |
| 										<a class="grid-view">
 | |
| 											<i class="fa fa-th" aria-hidden="true"></i>
 | |
| 										</a>
 | |
| 										<a class="list-view">
 | |
| 
 | |
| 											<i class="fa fa-bars" aria-hidden="true"></i>
 | |
| 										</a>
 | |
| 
 | |
| 										<a class="view-as-two-col">2</a>
 | |
| 										<a class="view-as-three-col">4</a>
 | |
| 									</div>
 | |
| 								</div>
 | |
| 								<div class="products_pager" id="shop_pager">
 | |
| 									<div class="row" style="width: 100%;">
 | |
| 										<t t-call="website.pager" />
 | |
| 									</div>
 | |
| 								</div>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 					<div class="right-cnt-main">
 | |
| 						<div class="right-cnt-maxW">
 | |
| 
 | |
| 							<div class="view-as">
 | |
| 								<div class="view-as-maxW">
 | |
| 									<div class="view-mode">
 | |
| 										<div class="menu-filter-div">
 | |
| 											<a class="menu-filter">
 | |
| 												<i class="fa fa-align-left" aria-hidden="true"></i>
 | |
| 												Filter
 | |
| 											</a>
 | |
| 											<p t-if='search and search_count' class='oe_search_found search_found'>
 | |
| 												<small>
 | |
| 													(
 | |
| 													<t t-esc="search_count" />
 | |
| 													found )
 | |
| 												</small>
 | |
| 											</p>
 | |
| 											<a class="apply-filter apply-filter-in-page btn">View Filter</a>
 | |
| 										</div>
 | |
| 									</div>
 | |
| 									<div t-att-style="'display:none;' if not bins  else 'display:block;'"
 | |
| 										class="view-as-right-cnt">
 | |
| 										<div class="filter-show">
 | |
| 
 | |
| 											<button class="btn-2 dropdown-toggle" data-toggle="dropdown">
 | |
| 												<i class="icon-exchange"></i>
 | |
| 												<span class="filter-show-label">show</span>
 | |
| 												<i class="icon-chevron-down"></i>
 | |
| 											</button>
 | |
| 											<ul class="dropdown-menu" role="menu">
 | |
| 
 | |
| 												<li class="show_product">
 | |
| 													<a class="ppg_show" data-id="16">16</a>
 | |
| 												</li>
 | |
| 												<li class="show_product">
 | |
| 													<a class="ppg_show" data-id="20">20</a>
 | |
| 												</li>
 | |
| 
 | |
| 											</ul>
 | |
| 										</div>
 | |
| 
 | |
| 										<div class="filter-sort-by">
 | |
| 
 | |
| 											<t t-set="list_price_desc_label">
 | |
| 												Price
 | |
| 												<i class="fa fa-arrow-up" aria-hidden="true" />
 | |
| 											</t>
 | |
| 											<t t-set="list_price_asc_label">
 | |
| 												Price
 | |
| 												<i class="fa fa-arrow-down" aria-hidden="true" />
 | |
| 											</t>
 | |
| 											<t t-set="name_asc_label">Name</t>
 | |
| 											<t t-set="website_sale_sortable"
 | |
| 												t-value="[
 | |
| 			                (list_price_desc_label, 'list_price desc'),
 | |
| 			                (list_price_asc_label, 'list_price asc'),
 | |
| 			                (name_asc_label, 'name asc')
 | |
| 			            ]" />
 | |
| 											<div class="dropdown btn-group dropdown_sorty_by">
 | |
| 												<a href="#" class="dropdown-toggle btn-default"
 | |
| 													data-toggle="dropdown">
 | |
| 													<span class="filter-show-label">Sort by</span>
 | |
| 													<!-- <span class="caret"></span> -->
 | |
| 												</a>
 | |
| 
 | |
| 												<ul class="dropdown-menu" role="menu">
 | |
| 													<li t-foreach="website_sale_sortable" t-as="sortby">
 | |
| 														<a t-att-href="keep('/shop', order=sortby[1])">
 | |
| 															<span t-raw="sortby[0]" />
 | |
| 														</a>
 | |
| 													</li>
 | |
| 												</ul>
 | |
| 											</div>
 | |
| 										</div>
 | |
| 									</div>
 | |
| 								</div>
 | |
| 							</div>
 | |
| 
 | |
| 							<div class="hidden" id="products_grid_before"></div>
 | |
| 							<div class="products-grid-main" id="products_grid">
 | |
| 								<table id="product-grid-table" width="100%">
 | |
| 									<!-- <tr> <td> <div class="product-grid-div" t-foreach="bins" t-as="tr_product"> 
 | |
| 										<p class="p_Count" style="display:none" t-att-data-id="products_count" /> 
 | |
| 										<t t-foreach="tr_product" t-as="td_product"> <t t-if="td_product"> <t t-set="product" 
 | |
| 										t-value="td_product['product']" /> <div class="product-row3" t-att-colspan="td_product['x'] 
 | |
| 										!= 1 and td_product['x']" t-att-rowspan="td_product['y'] != 1 and td_product['y']" 
 | |
| 										t-attf-class="oe_product oe_grid oe-height-#{td_product['y']*2} #{ td_product['class'] 
 | |
| 										}"> <div class="oe_product_cart" t-att-data-publish="product.website_published 
 | |
| 										and 'on' or 'off'"> <t t-set="product_image_big" t-value="td_product['x']+td_product['y'] 
 | |
| 										> 2" /> <t t-call="clarico_shop.clarico_shop_products_item" /> </div> 
 | |
| 										</div> </t> <div t-if="not td_product" class="oe-height-2" /> </t> </div> 
 | |
| 										</td> </tr> -->
 | |
| 									<tr>
 | |
| 										<td>
 | |
| 											<t t-foreach="bins" t-as="tr_product">
 | |
| 												<t t-foreach="tr_product" t-as="td_product">
 | |
| 													<div class="product-grid-div">
 | |
| 														<p class="p_Count" style="display:none" t-att-data-id="products_count" />
 | |
| 														<t t-if="td_product">
 | |
| 															<t t-set="product" t-value="td_product['product']" />
 | |
| 															<div class="product-row3" t-att-colspan="td_product['x'] != 1 and td_product['x']"
 | |
| 																t-att-rowspan="td_product['y'] != 1 and td_product['y']"
 | |
| 																t-attf-class="oe_product product_div oe_grid oe-height-#{td_product['y']*2} #{ td_product['class'] }">
 | |
| 																<div class="oe_product_cart"
 | |
| 																	t-att-data-publish="product.website_published and 'on' or 'off'">
 | |
| 																	<t t-set="product_image_big" t-value="td_product['x']+td_product['y'] > 2" />
 | |
| 																	<t t-call="website_sale.products_item" />
 | |
| 																</div>
 | |
| 															</div>
 | |
| 														</t>
 | |
| 														<div t-if="not td_product" class="oe-height-2" />
 | |
| 													</div>
 | |
| 												</t>
 | |
| 											</t>
 | |
| 										</td>
 | |
| 									</tr>
 | |
| 								</table>
 | |
| 								<t t-if="not bins">
 | |
| 									<div class="hide_filter"></div>
 | |
| 									<div class="text-center text-muted not_defined">
 | |
| 										<div class="left_class">
 | |
| 											<h3 class="css_editable_display">
 | |
| 												<i class="fa fa-wheelchair" aria-hidden="true"></i>
 | |
| 												No product defined.
 | |
| 											</h3>
 | |
| 											<a href="/shop" class="shop_now_button">Shop now</a>
 | |
| 										</div>
 | |
| 										<div class="right_class">
 | |
| 											<img src="/clarico_shop/static/src/img/product_not.jpg"></img>
 | |
| 										</div>
 | |
| 									</div>
 | |
| 								</t>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 				</div>
 | |
| 			</div>
 | |
| 			<div class="products_pager bottom_pager">
 | |
| 				<div class="row" style="width: 100%;">
 | |
| 					<t t-call="website.pager" />
 | |
| 				</div>
 | |
| 			</div>
 | |
| 		</xpath>
 | |
| 	</template>
 | |
| 	<!-- products_item -->
 | |
| 	<template id="clarico_shop_products_item" inherit_id="website_sale.products_item" priority="23" name="Clarico Settings">
 | |
| 		<xpath expr="//form" position="replace">
 | |
| 			<form action="/shop/cart/update" method="post">
 | |
| 				<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()" />
 | |
| 				<div class="itemscope-main" itemscope="itemscope"
 | |
| 					itemtype="http://schema.org/Product">
 | |
| 					<div class="ribbon-wrapper" t-if="product.label_ept_id">
 | |
| 
 | |
| 						<div t-field="product.label_ept_id" class="ribbon sale-btn"></div>
 | |
| 					</div>
 | |
| 
 | |
| 
 | |
| 					<div class="product-image oe_product_image">
 | |
| 						<a itemprop="url"
 | |
| 							t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']>1 else None))">
 | |
| 							<span itemprop="image" t-field="product.image"
 | |
| 								t-options="{'widget': 'image', 'resize': '600x600', 'zoom': 'image'}" t-att-alt="product.name"  />
 | |
| 						</a>
 | |
| 						<div id="in-wishlist-shop"></div>
 | |
| 					</div>
 | |
| 
 | |
| 					<div class="product-des">
 | |
| 						<div class="hover-cnt">
 | |
| 							<div id="wishlist_shop"></div>
 | |
| 							<div id="compare_shop"></div>
 | |
| 							<hr class="product-hover-hr"></hr>
 | |
| 							<div id="quick_view_shop"></div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 
 | |
| 					<t t-if="show_publish">
 | |
| 						<div id="website_published_button" class=""
 | |
| 							groups="sales_team.group_sale_manager">
 | |
| 							<t t-call="website.publish_management">
 | |
| 								<t t-set="object" t-value="product" />
 | |
| 								<t t-set="publish_edit" t-value="True" />
 | |
| 								<t t-set="action" t-value="'product.product_template_action'" />
 | |
| 							</t>
 | |
| 						</div>
 | |
| 					</t>
 | |
| 					<section>
 | |
| 						<div class="production-description">
 | |
| 							<div class="details">
 | |
| 								<h5 class="product-name-h5">
 | |
| 									<label>
 | |
| 										<a class="product-name-a" itemprop="name"
 | |
| 											t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']>1 else None))"
 | |
| 											t-field="product.name" />
 | |
| 									</label>
 | |
| 								</h5>
 | |
| 							</div>
 | |
| 
 | |
| 							<div itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer"
 | |
| 								class="product_price" t-if="product.product_variant_ids">
 | |
| 								<b>
 | |
| 									<t
 | |
| 										t-if="product.website_price_difference and website.get_current_pricelist().discount_policy=='without_discount'">
 | |
| 										<del class="strike-through mr8" style="white-space: nowrap;"
 | |
| 											t-esc="compute_currency(product.website_public_price)"
 | |
| 											t-options="{'widget': 'monetary', 'display_currency': website.get_current_pricelist().currency_id, 'from_currency': website.currency_id}" />
 | |
| 									</t>
 | |
| 
 | |
| 									<span t-esc="product.website_price"
 | |
| 										t-options="{'widget': 'monetary', 'display_currency': website.currency_id}" />
 | |
| 									<span itemprop="price" style="display:none;" t-esc="product.website_price" />
 | |
| 									<span itemprop="priceCurrency" style="display:none;"
 | |
| 										t-esc="website.currency_id.name" />
 | |
| 								</b>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 					</section>
 | |
| 				</div>
 | |
| 			</form>
 | |
| 		</xpath>
 | |
| 	</template>
 | |
| 
 | |
| 	<!-- Category Grid Before -->
 | |
| 	<!-- <template id="clarico_shop_shop_page" inherit_id="website_sale.products_categories" 
 | |
| 		priority="17"> <xpath expr="//div[@id='products_grid_before']" position="replace"> 
 | |
| 		<div class="main"> <div class="mCustomScrollbar" id="products_grid_before" 
 | |
| 		data-mcs-theme="dark"> <div class="products_grid_before_maxW"> <span class="mobile-view-filter-close-btn">X</span> 
 | |
| 		<h4 class="category">Product Category</h4> <a class="apply-filter">View Filter</a> 
 | |
| 		<hr></hr> <div class="all-category-div"> <ul class="nav nav-pills nav-stacked 
 | |
| 		mt16" id="o_shop_collapse_category"> <li t-att-class=" '' if category else 
 | |
| 		'active all-products' "> <a t-att-href="keep('/shop',category=0)" class="o_not_editable">All 
 | |
| 		Products </a> </li> <t t-foreach="categories" t-as="categ"> <t t-call="clarico_shop.clarico_shop_option_collapse_categories_recursive" 
 | |
| 		/> <t t-call="website_sale.option_collapse_categories_recursive" /> </t> 
 | |
| 		</ul> </div> </div> </div> </div> </xpath> <xpath expr="//div[@id='products_grid']" 
 | |
| 		position="attributes"> <attribute name="class">products-grid-main</attribute> 
 | |
| 		</xpath> </template> -->
 | |
| 
 | |
| 	<template id="website_sale.products_categories" inherit_id="clarico_shop.clarico_shop_products"
 | |
| 		active="True" customize_show="False" name="eCommerce Categories"
 | |
| 		priority="17">
 | |
| 		<xpath expr="//div[@id='products_grid_before']" position="replace">
 | |
| 			<div class="main">
 | |
| 				
 | |
| 				<div class="mCustomScrollbar" id="products_grid_before"
 | |
| 					data-mcs-theme="dark">
 | |
| 				<ul></ul>
 | |
| 					<div class="clarico_shop_catg">
 | |
| 
 | |
| 					</div>
 | |
| 					<div class="clarico_shop_attribute_filter">
 | |
| 
 | |
| 					</div>
 | |
| 				</div>
 | |
| 			</div>
 | |
| 		</xpath>
 | |
| 		<xpath expr="//div[@id='products_grid']" position="attributes">
 | |
| 			<attribute name="class">products-grid-main</attribute>
 | |
| 		</xpath>
 | |
| 
 | |
| 
 | |
| 	</template>
 | |
| 
 | |
| 
 | |
| 	<template id="clarico_shop_ecommerce_categories" inherit_id="website_sale.products_categories"
 | |
| 		active="False" customize_show="True" name="Clarico Ecommerce Category">
 | |
| 		<xpath expr="//div[hasclass('clarico_shop_catg')]" position="replace">
 | |
| 			<div class="products_grid_before_maxW">
 | |
| 				<span class="mobile-view-filter-close-btn">X</span>
 | |
| 				<h4 class="category">Product Category</h4>
 | |
| 				<a class="apply-filter">View Filter</a>
 | |
| 
 | |
| 				<hr></hr>
 | |
| 
 | |
| 				<div class="all-category-div">
 | |
| 					<ul class="nav nav-pills nav-stacked mt16" id="o_shop_collapse_category">
 | |
| 						<li t-att-class=" '' if category else 'active all-products' ">
 | |
| 							<a t-att-href="keep('/shop',category=0)" class="o_not_editable">All Products
 | |
| 							</a>
 | |
| 						</li>
 | |
| 						<t t-foreach="categories" t-as="categ">
 | |
| 							<t t-call="website_sale.option_collapse_categories_recursive" />
 | |
| 						</t>
 | |
| 					</ul>
 | |
| 				</div>
 | |
| 			</div>
 | |
| 		</xpath>
 | |
| 	</template>
 | |
| 
 | |
| 
 | |
| 
 | |
| 	<template id="website_sale.option_collapse_products_categories"
 | |
| 		name="Collapsible Category List" inherit_id="clarico_shop.clarico_shop_ecommerce_categories"
 | |
| 		active="False" customize_show="False">
 | |
| 		<xpath expr="//div[hasclass('all-category-div')/ul" position="replace">
 | |
| 			<ul class="nav nav-pills nav-stacked mt16" id="o_shop_collapse_category">
 | |
| 				<li t-att-class=" '' if category else 'active' ">
 | |
| 					<a t-att-href="keep('/shop',category=0)" class="o_not_editable">All Products</a>
 | |
| 				</li>
 | |
| 				<t t-foreach="categories" t-as="categ">
 | |
| 					<t t-call="website_sale.option_collapse_categories_recursive" />
 | |
| 				</t>
 | |
| 			</ul>
 | |
| 		</xpath>
 | |
| 	</template>
 | |
| 
 | |
| 
 | |
| 	<template id="clarico_shop_collapse_categories" inherit_id="website_sale.option_collapse_products_categories">
 | |
| 		<xpath expr="//ul[@id='o_shop_collapse_category']" position="replace">
 | |
| 		
 | |
| 		</xpath>
 | |
| 	</template>
 | |
| 
 | |
| 
 | |
| 	<!-- Sort By -->
 | |
| 	<template id="clarico_shop_sort" inherit_id="website_sale.sort">
 | |
| 		<xpath expr="//div[hasclass('dropdown_sorty_by')]" position="replace">
 | |
| 		</xpath>
 | |
| 	</template>
 | |
| 
 | |
| 
 | |
| 	<!-- product attributes filter -->
 | |
| 
 | |
| 	<template id="website_sale.products_attributes" inherit_id="website_sale.products_categories"
 | |
| 		active="False" customize_show="True" name="Product Attribute's Filters">
 | |
| 		<xpath expr="//div[hasclass('clarico_shop_attribute_filter')]"
 | |
| 			position="inside">
 | |
| 			
 | |
| 			<hr></hr>
 | |
| 			<form class="js_attributes" method="get">
 | |
| 				<input type="hidden" name="search" t-att-value="search" />
 | |
| 				<ul class="nav nav-pills nav-stacked mt16">
 | |
| 					<t t-foreach="attributes" t-as="a">
 | |
| 						<t t-if="a.type != 'hidden'">
 | |
| 							<li t-if="a.value_ids and len(a.value_ids) > 1">
 | |
| 								<div class="attribut-main-div">
 | |
| 									<div class="filter-by-div">
 | |
| 										<i class="down-arrow fa fa-caret-down" aria-hidden="true"></i>
 | |
| 										<h5 class="refined-by-attr">Filter By </h5>
 | |
| 										<h5 class="refined-by-attr refined-by-dynamic" t-field="a.name">
 | |
| 										</h5>
 | |
| 
 | |
| 									</div>
 | |
| 									<a class="clear-all-variant">(Clear all)</a>
 | |
| 									<div class="attr-val mCustomScrollbar" data-mcs-theme="dark">
 | |
| 										<t t-if="a.type == 'color'">
 | |
| 											<t t-foreach="a.value_ids" t-as="v">
 | |
| 												<div class="color-with-name-divmaxW">
 | |
| 													<div class="color-with-name-div">
 | |
| 														<label t-attf-style="background-color:#{v.html_color or v.name}"
 | |
| 															t-attf-class="css_attribute_color #{'active' if v.id in attrib_set else ''}">
 | |
| 															<input type="checkbox" name="attrib" t-att-value="'%s-%s' % (a.id,v.id)"
 | |
| 																t-att-checked="'checked' if v.id in attrib_set else None"
 | |
| 																t-att-title="v.name" />
 | |
| 														</label>
 | |
| 														<p class="color-name" t-esc="v.name"></p>
 | |
| 													</div>
 | |
| 												</div>
 | |
| 											</t>
 | |
| 										</t>
 | |
| 
 | |
| 										<t t-if="a.type == 'radio'">
 | |
| 											<div>
 | |
| 												<ul
 | |
| 													class="nav nav-pills nav-stacked type-radio nav-overflow-scroll">
 | |
| 													<t t-foreach="a.value_ids" t-as="v">
 | |
| 														<li class="nav-stacked-li" t-att-class="'active' if v.id in attrib_set else None">
 | |
| 															<div class="nav-stacked-div">
 | |
| 																<label class="type-checkbox">
 | |
| 																	<input class="checkbox-custom" type="checkbox"
 | |
| 																		t-att-data-id="'%s' % v.id" name="attrib"
 | |
| 																		t-att-value="'%s-%s' % (a.id,v.id)"
 | |
| 																		t-att-checked="'checked' if v.id in attrib_set else None" />
 | |
| 																	<label class="checkbox-custom-label" style="font-weight: normal"
 | |
| 																		t-field="v.name" />
 | |
| 																	<!-- <input class="checkbox-custom" type="checkbox" name="attrib" 
 | |
| 																		t-att-value="'%s-%s' % (a.id,v.id)" t-att-checked="'checked' if v.id in attrib_set 
 | |
| 																		else None" /> <label class="checkbox-custom-label" style="font-weight: normal" 
 | |
| 																		t-field="v.name" /> -->
 | |
| 																</label>
 | |
| 															</div>
 | |
| 														</li>
 | |
| 													</t>
 | |
| 												</ul>
 | |
| 											</div>
 | |
| 										</t>
 | |
| 									</div>
 | |
| 									<t t-if="a.type == 'select'">
 | |
| 										<div>
 | |
| 											<select class="form-control filter_select_box" name="attrib">
 | |
| 												<option value="" />
 | |
| 												<t t-foreach="a.value_ids" t-as="v">
 | |
| 													<option t-att-value="'%s-%s' % (a.id,v.id)" t-esc="v.name"
 | |
| 														t-att-selected="v.id in attrib_set" />
 | |
| 												</t>
 | |
| 											</select>
 | |
| 										</div>
 | |
| 									</t>
 | |
| 									<hr class="refined-by-hr"></hr>
 | |
| 								</div>
 | |
| 							</li>
 | |
| 						</t>
 | |
| 					</t>
 | |
| 				</ul>
 | |
| 			</form>
 | |
| 		</xpath>
 | |
| 	</template>
 | |
| 
 | |
| 
 | |
| </odoo>
 |