Update clarico theme

develop
Ahmed Aly 2019-01-14 16:24:38 +01:00
parent dcb7e5dbdb
commit 5d14fea8f8
70 changed files with 3627 additions and 1117 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="clarico_attribute_filter_clarico_filter" inherit_id="clarico_shop.clarico_shop_shop_page">
<template id="clarico_attribute_filter_clarico_filter" inherit_id="website_sale.products_categories">
<xpath expr="//div[hasclass('main')]" position="after">
<div class="filter-main-div">
<div class="filter-div-maxW">

View File

@ -0,0 +1,6 @@
/**
* Owl Carousel v2.2.1
* Copyright 2013-2017 David Deutsch
* Licensed under ()
*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

View File

@ -0,0 +1,6 @@
/**
* Owl Carousel v2.2.1
* Copyright 2013-2017 David Deutsch
* Licensed under ()
*/
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}

View File

@ -9,13 +9,13 @@
<!-- Owl-Carosel css -->
<link rel="stylesheet" type="text/less"
href="/clarico_base/static/src/less/owl.carousel.min.css" />
href="/clarico_base/static/src/less/owl.carousel.min.less" />
<link rel="stylesheet" type="text/less"
href="/clarico_base/static/src/less/owl.theme.default.min.css" />
href="/clarico_base/static/src/less/owl.theme.default.min.less" />
<!-- Owl-Carosel Js -->
<script src="/clarico_base/static/src/js/owl.carousel.js"
type="text/javascript"></script>
</xpath>
</template>
</odoo>
</odoo>

View File

@ -22,7 +22,76 @@
<attribute name="class">lb_name</attribute>
</xpath>
</template>
<template id="clarico_blog_blog_post_short" inherit_id="website_blog.blog_post_short">
<xpath expr="//t/div[@class='container'][1]" position="attributes">
<attribute name="class">block</attribute>
</xpath>
<xpath expr="//div[@class='oe_structure']/section/div[@class='container']"
position="attributes">
<attribute name="class">block</attribute>
</xpath>
<xpath expr="//t/div[4]" position="attributes">
<attribute name="class">block blog_main</attribute>
</xpath>
<xpath expr="//t/div[4]/div[hasclass('row')]" position="attributes">
<attribute name="class">sub-blog_main</attribute>
</xpath>
<xpath expr="//div[@id='main_column']" position="attributes">
<attribute name="class">blogpost_left_main</attribute>
</xpath>
<xpath expr="//h1[@t-field='blog.name']" position="attributes">
<attribute name="class">catg_title_main_blog ch_h1_class ch_h1_class_new
</attribute>
</xpath>
<xpath expr="//h3[@t-field='blog.subtitle']" position="attributes">
<attribute name="class">ctg_subtitle_main</attribute>
</xpath>
<xpath expr="//div[@name='blog_post']/div[@class='text-muted']"
position="replace">
<div class="blog_post_data_more">
<t t-foreach="blog_post.tag_ids" t-as="one_tag">
<a class="blog_post_tabs_a"
t-attf-href="#{blog_url(tag=one_tag.id, date_begin=False, date_end=False)}"
t-esc="one_tag.name" />
</t>
<span class="seprater">-</span>
<span class="blog_post_date" t-field="blog_post.post_date"
t-options='{"format": "MMMM, yyyy"}' />
<span class="seprater">-</span>
<span class="blog_post_author-static">
By
<span class="blog_post_author" t-field="blog_post.author_id"
style="display: inline-block;"
t-options='{
"widget": "contact",
"fields": ["name"]
}' />
</span>
</div>
<div class="blog-post-subtitle-div">
<!-- <p t-field="blog_post.subtitle" class="blog-post-subtitle">Untitled
Post</p> -->
<p t-field="blog_post.teaser" class="blog-post-subtitle o_blog_post_teaser" />
</div>
<div class="o_sharing_links social-icons">
<a class="o_twitter">
<i class="fa fa-twitter"></i>
</a>
<a class="o_facebook">
<i class="fa fa-facebook"></i>
</a>
<a class="o_linkedin">
<i class="fa fa-linkedin"></i>
</a>
<a class="o_google">
<i class="fa fa-google-plus"></i>
</a>
</div>
</xpath>
</template>
<template id="clarico_blogs_post_complete" inherit_id="website_blog.blog_post_complete">
<xpath expr="//p[2][@class='post-meta text-muted text-center']"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="clarico_brand_form" inherit_id="clarico_shop.clarico_shop_shop_page">
<template id="clarico_brand_form" inherit_id="website_sale.products_attributes">
<xpath expr="//form/ul[@class='nav nav-pills nav-stacked mt16']"
position="inside">
<t t-if="brand_list">

View File

@ -20,7 +20,7 @@
<sheet>
<group>
<field name="name" string="Name" />
<field name="brand_image" string="Image" widget="image" class="oe_avatar" options="{'preview_image': 'image_medium', 'size': [150,150]}" />
<field name="brand_image" string="Image" />
<field name="is_website_publish" string="Website Publish" />
</group>
</sheet>
@ -40,4 +40,4 @@
<menuitem action="brand_action" id="brand_menu" parent="website.menu_website_global_configuration"
sequence="0" />
</data>
</odoo>
</odoo>

View File

@ -79,7 +79,7 @@ odoo.define('clarico_cart.cart', function (require) {
setTimeout(function () {
if (!$(".popover:hover").length) {
if(!$(self).is(':hover')) {
// $(self).popover('hide');
$(self).popover('hide');
}
}
}, 1000);

View File

@ -122,6 +122,10 @@
{
overflow:hidden;
}
.address-row-main-div .checkout_autoformat
{
width:100%;
}
}
@media (max-width:800px){
@ -164,6 +168,9 @@
margin:unset;
.mt(2%);
}
.address-row-main-div .form-group {
width: 100%;
}
}
@media (max-width:600px){
#cart_total

View File

@ -1,3 +1,9 @@
#order_delivery .text-right {
text-align: left !important;
}
#order_delivery .text-left-xs {
text-align: right !important;
}
.cart_style_2
{
display:none;
@ -434,6 +440,11 @@
.checkout_autoformat
{
width:75%;
.has-error .form-control
{
border-color: #c51111 !important;
}
}
.wizard-main-ul

View File

@ -1,5 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="clarico_cart_header_icon" inherit_id="clarico_layout.clarico_header_main">
<xpath expr="//div[hasclass('header_cart_main')]"
position="inside" priority="25">
<div class="cart_style_2">
<t t-set="website_sale_order" t-value="website.sale_get_order()" />
<a href="/shop/cart">
<i class="fa fa-shopping-bag" aria-hidden="true"></i>
<sup t-attf-class="my_cart_quantity label label-primary"
t-esc="website_sale_order and website_sale_order.cart_quantity or ''" />
<input type="hidden" id="hiddencount" t-att-value="website_sale_order and website_sale_order.cart_quantity or '0'" />
</a>
</div>
<div class="cart-update">
<span class="cart-update-text">
<t t-set="website_sale_order" t-value="website.sale_get_order()" />
<span class="my_cart_quantity label"
t-esc="website_sale_order and website_sale_order.cart_quantity or '0'" >
</span>
<t t-if="website_sale_order.cart_quantity > 1" >
<span>items : </span>
<span class="cart-header-total" t-field="website_sale_order.amount_total"
t-options="{'widget': 'monetary','from_currency': website_sale_order.pricelist_id.currency_id,'display_currency': website.currency_id}" />
</t>
<t t-if="website_sale_order.cart_quantity == 1" >
<span>item :</span>
<span class="cart-header-total" t-field="website_sale_order.amount_total"
t-options="{'widget': 'monetary','from_currency': website_sale_order.pricelist_id.currency_id,'display_currency': website.currency_id}" />
</t>
<t t-if="website_sale_order.cart_quantity == 0" >
<span>item </span>
</t>
</span>
<span id="cart-update-icon" class="cart-update-icon">
<t t-set="website_sale_order" t-value="website.sale_get_order()" />
<a href="/shop/cart">
<i class="fa fa-shopping-bag"></i>
<input type="hidden" id="hiddencount" t-att-value="website_sale_order and website_sale_order.cart_quantity or '0'" />
</a>
</span>
</div>
</xpath>
</template>
<!-- Cart in Account-->
<template id="clarico_account_cart" inherit_id="clarico_account.clarico_account_clarico_layout">
@ -58,9 +100,9 @@
<tr>
<td colspan="2" t-if="not line.product_id.product_tmpl_id" class='td-img'></td>
<td align="center" t-if="line.product_id.product_tmpl_id" class='td-img'>
<span t-field="line.product_id.image_small" t-options="{'widget': 'image', 'class': 'img-rounded'}" />
<div t-field="line.product_id.image" t-options="{'widget': 'image','resize': '150x150','class':'img-rounded'}" />
</td>
<td t-if="line.product_id.product_tmpl_id">
<td t-if="line.product_id.product_tmpl_id" class="td-product_name">
<div class="cart_product_name">
<a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }">
<strong t-esc="line.product_id.with_context(display_default_code=False).name" />
@ -154,6 +196,7 @@
<!-- <p>
Have a promo code? Fill in this field and apply.
</p> -->
<p></p>
<t t-call='website_sale.coupon_form'/>
</div>
</xpath>
@ -460,6 +503,27 @@
<xpath expr="//div[hasclass('row')]/t[3]/h2" position="replace">
<h2 class="page-header mt8 ml16 sub-heading">Shipping Address</h2>
</xpath>
<xpath expr="//form[hasclass('checkout_autoformat')]/div[1]" position="attributes">
<attribute name="t-attf-class">form-group #{error.get('name') and 'has-error' or ''} col-md-12 div_name o_website_form_required_custom</attribute>
</xpath>
<xpath expr="//div[@id='div_email']" position="attributes">
<attribute name="t-attf-class">form-group #{error.get('email') and 'has-error' or ''} col-md-6 o_website_form_required_custom</attribute>
</xpath>
<xpath expr="//div[@id='div_phone']" position="attributes">
<attribute name="t-attf-class">form-group #{error.get('phone') and 'has-error' or ''} col-md-6 o_website_form_required_custom</attribute>
</xpath>
<xpath expr="//form[hasclass('checkout_autoformat')]/div[6]" position="attributes">
<attribute name="t-attf-class">form-group #{error.get('street') and 'has-error' or ''} col-md-12 div_street o_website_form_required_custom</attribute>
</xpath>
<xpath expr="//form[hasclass('checkout_autoformat')]/div[9]" position="attributes">
<attribute name="t-attf-class">form-group #{error.get('city') and 'has-error' or ''} col-sm-8 div_city o_website_form_required_custom</attribute>
</xpath>
<xpath expr="//form[hasclass('checkout_autoformat')]/div[11]" position="attributes">
<attribute name="t-attf-class">form-group #{error.get('country_id') and 'has-error' or ''} col-md-6 div_country o_website_form_required_custom</attribute>
</xpath>
<xpath expr="//form[hasclass('checkout_autoformat')]/div[12]" position="attributes">
<attribute name="t-attf-class">form-group #{error.get('state_id') and 'has-error' or ''} col-md-6 div_state o_website_form_required_custom</attribute>
</xpath>
</template>
@ -496,7 +560,7 @@
<tr t-foreach="suggested_products" t-as="product">
<td class='td-img'>
<a t-attf-href="/shop/product/#{ slug(product.product_tmpl_id) }">
<span t-field="product.image_small" t-options="{'widget': 'image', 'class': 'img-rounded'}" />
<span t-field="product.image" t-options="{'widget': 'image', 'class': 'img-rounded','resize':'150x150'}" />
</a>
</td>
<td class='td-product_name'>

View File

@ -372,6 +372,7 @@
.mr(10px);
vertical-align: top;
}
@media (min-width:800px){
.non-carousel{
& .compare_main{
@ -394,6 +395,7 @@
max-width: 100%;
margin: 0px auto;
}
}
/* Specification table */
@ -438,3 +440,17 @@
.pr(10px);
}
}
.spec_sep_res
{
display:none;
}
@media(max-width:1200px)
{
.spec_sep_res
{
display: inline-block;
}
}

View File

@ -124,7 +124,7 @@
<span class=''>x</span>
</a>
<div class="compare_img_div compare_product_img">
<div t-field="product.image_medium" t-options="{'widget': 'image' }" />
<div t-field="product.image" t-options="{'widget': 'image','resize': '600x600'}" />
<div class="sale-div" t-if="product.label_ept_id">
<div t-field="product.label_ept_id" class="sale-btn"></div>
@ -257,9 +257,9 @@
</tr>
</t>
<tr t-foreach="atts[spec]" t-as="att" t-att-class="'collapse in ' + spec.split()[0]">
<td t-esc="att.attribute_id.name"/>
<td t-esc="att.attribute_id.name"></td>
<td>
<t t-set='or_separator'>or</t>
<span class="spec_sep_res">:</span> <t t-set='or_separator'>or</t>
<t t-esc="(' %s ' % or_separator).join(att.value_ids.mapped('name'))"/>
</td>
</tr>

View File

@ -18,7 +18,6 @@ options.registry.set_custom_color = options.Class.extend({
start: function(){
var self = this;
},
set_color: function(type,value) {
var self = this;
@ -55,20 +54,22 @@ options.registry.set_custom_color = options.Class.extend({
if(isValidColor){
color_global = color;
self.$target.addClass('custom')
Utils.set_cookie('ept'+color,color,60*60*24)
if(self.$target.hasClass("carousel") == true){
self.$target.find(".item.active").css('background-color',color_global);
Utils.set_cookie('ept'+color,color,60*60*24);
}else{
self.$target.css('background-color',color_global);
Utils.set_cookie('ept'+color,color,60*60*24);
}
}else{
alert("Invalid Color Code! Please enter correct format.")
self.set_color('click');
}
})
return def;
},
cleanForSave:function(){
this.$target.closest('.custom').css('background-color',color_global)
//this.$target.find('.active.custom').css('background-color',color_global)
}
});
});

View File

@ -2,6 +2,7 @@
<odoo>
<!-- ===================== ABOUT US ========================== -->
<template id="expertise" name="Expertise" inherit_id="website.aboutus">
<!--
<xpath expr="//h1" position="attributes">
<attribute name="class">ch_h1_class text-center abt_h1_margin</attribute>
</xpath>
@ -50,6 +51,7 @@
<xpath expr="//section[2]/div[hasclass('container')]" position="attributes">
<attribute name="class">container hidden</attribute>
</xpath>
-->
</template>
<template id="clarico_expertise_about_us" inherit_id="website_hr.aboutus">
<xpath expr="//img[hasclass('img-rounded')]" position="attributes">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data noupdate="0">
<data noupdate="1">
<record id="clarico_categories" model="website.menu">
<field name="name">Categories</field>
<field name="parent_id" ref="website.main_menu" />

View File

@ -1,7 +1,20 @@
$(document).ready(function(){
if ($(window).width() > 1200) {
$('#top_menu > li > a').mouseenter(function(){
$('#top_menu > li').each(function(){
var menu_height =$(this).position().top;
var li_height = $(this).height();
var mega_menu_top = menu_height + li_height;
$(this).find('.custom-menu-inside-div').css("top",mega_menu_top);
$(this).find('ul').css("top",mega_menu_top);
})
if ($(this).next().hasClass('custom-menu-inside-div')){
$(this).next('.custom-menu-inside-div').css("display","block");
var first_li = $('.first-level-category-li').first('li');
@ -30,12 +43,25 @@ $(document).ready(function(){
});
// Dynamic category hover
$('.first-level-category-li').mouseenter(function(){
var self =$(this)
var first_div = $(self).find('.first-level-left-div');
first_div.addClass("active-li");
self.find('.toggel_div').css("display","block");
self.find('.toggel_div').find('.menu_1_div').css("display","block");
$('.first-level-category-li').each(function(){
var self =$(this);
var str =self.attr('id');
var suffix = str.match(/\d+/).toString();
$(self).mouseenter(function(){
var first_div = $(self).find('.first-level-left-div');
first_div.addClass("active-li");
self.find('.toggel_div').css("display","block");
$('.toggel_div').each(function(){
var append_div = $(this).attr('id').match(/\d+/).toString();;
if(suffix == append_div)
{
$('.toggel_div').css("display","none");
$(this).css("display","block").find(".menu_1_div").css("display","block");
}
})
})
});
$('.first-level-category-li').mouseleave(function(){
var self =$(this)
@ -158,7 +184,38 @@ $(document).ready(function(){
});
// Dropdown manu
$('.dropdown-submenu span.submenu-a').on("click", function(e){
if ($(window).width() < 1200) {
$('.first-level-category-li.dropdown-submenu').each(function(){
var self =$(this);
var str =self.attr('id');
var suffix = str.match(/\d+/).toString();
$('div.toggel-div-effect').each(function(){
var append_div = $(this).attr('id').match(/\d+/).toString();;
if(suffix == append_div)
{
$(this).appendTo(self);
}
})
$(self).find('span.submenu-a').click(function(e){
$(this).next('ul').toggle();
$(this).next('div.toggel-div-effect').toggle();
e.stopPropagation();
e.preventDefault();
var clicks = $(this).data('clicks');
if (clicks) {
$(this).removeClass("fa-chevron-down").addClass("fa-chevron-right");
} else {
$(this).removeClass("fa-chevron-right").addClass("fa-chevron-down");
}
$(this).data("clicks", !clicks);
})
});
}
$('.category-heading-div.dropdown-submenu span.submenu-a').on("click", function(e){
$(this).next('ul').toggle();
$(this).next('div.toggel-div-effect').toggle();
e.stopPropagation();
@ -196,17 +253,41 @@ $(document).ready(function(){
$("body").removeClass("scroll_remove");
})
});
// Show first category by default on load the window
//Show first category by default on load the window
$(window).load(function(){
if ($(window).width() > 1200) {
var first_li = $('.first-level-category-li').first('li');
first_li.find('.first-level-left-div').addClass('active-li');
first_li.find('.toggel_div').find('.menu_1_div').css("display","block");
first_li.find('.toggel_div').css("display","block");
var str =first_li.attr('id');
var suffix = str.match(/\d+/).toString();
$('div.toggel-div-effect').each(function(){
var append_div = $(this).attr('id').match(/\d+/).toString();;
if(suffix == append_div)
{
$(this).css("display","block").find(".menu_1_div").css("display","block");
}
})
$("div.custom-menu-inside-div , ul.custom-menu-inside-div").closest("li").removeClass("active");
//$("div.custom-menu-inside-div , ul.custom-menu-inside-div").closest("li").find("a:first").removeAttr("data-toggle href");
}
})
$(document).ready(function(){
if ($(window).width() < 1200) {
$('#top_menu > li').each(function(){
if($(this).find(".dropdown-menu").length > 0)
{
$(this).find(" > a").append("<i class='fa fa-chevron-right' style='font-size:12px'/>")
$(this).on("show.bs.dropdown hide.bs.dropdown", function(){
$(this).find("> a > i.fa").toggleClass("fa-chevron-right fa-chevron-down");
});
}
})
}
})
//for searching
$(document).keyup(function(e) {
if (e.which == 27) {

View File

@ -659,7 +659,7 @@
transition: 0.8s;
}
.header-stick .custom-menu-inside-div{
top:90% !important;
//top:90% !important;
}
.custom-menu-nth-div{
width: 70% !important;
@ -1394,7 +1394,7 @@ ul#top_menu{
}
#top_menu ul.dropdown-menu{
right:auto;
top: 90%;
// top: 90%;
// width:100%;
& .active > a{
@ -1403,7 +1403,7 @@ ul#top_menu{
}
.header-stick #top_menu ul.dropdown-menu{
top:90% !important;
// top:90% !important;
}
.js_searchBox
{
@ -1606,6 +1606,10 @@ width: 30%;
.bg(transparent) !important;
}
}
.company_pricelist a.header_btn_style
{
color: #000 !important;
}
.header_style_logo_stick
{
display:none;
@ -1742,6 +1746,39 @@ width: 30%;
//category changes
@media (min-width:1200px)
{
.main_ctg_list
{
display: inline-block;
width: 30%;
max-height: 450px;
overflow: auto;
.first-level-category-li .first-level-left-div
{
width: 100%;
}
}
.sub_ctg_list_main
{
display: inline-block;
width: 70%;
position: absolute;
top: 0;
}
.toggel_div
{
left:0;
right: auto;
width:100%;
}
.first-level-category .first-level-category-li:last-child .first-level-left-div
{
border-bottom:0;
}
}

View File

@ -273,6 +273,7 @@
margin:0;
.left !important;
display:none;
width:100%;
}
.second_level-ul > li{
@ -320,15 +321,37 @@
color:black !important;
.size(13px) !important;
}
.second-level-category-caret{
.mt(-15px) !important;
}
.category-heading-center h4 a{
color:#777777 !important;
}
.expand-div{
padding:0px 20px 0px 20px;
}
.navbar .navbar-top-collapse ul.navbar-right .dropdown-menu
{
box-shadow: unset;
border: 0;
.bg(#f5f5f5);
.dropdown-menu
{
.bg(#f5f5f5);
}
}
ul#top_menu li ul.dropdown-menu {
.mb(16px);
}
.second-level-category-caret
{
margin-top: 0 !important;
.size(12px);
}
.first-level-category-caret
{
.mt(15px);
}
}
@media (max-width:980px){
.main-header-left{
@ -344,9 +367,6 @@
{
font-size: 13px;
}
.navbar-default .navbar-nav > li > a {
font-size: 12px;
}
.company_details_footer
{
width:100%;
@ -472,9 +492,7 @@
.header-right .company-phone-div .dropdown .dropdown-toggle b span {
font-size: 11px !important;
}
.navbar-default .navbar-nav > li > a {
font-size: 12px;
}
.nav navbar-nav navbar-right
{
float: right !important;
@ -529,7 +547,9 @@
{
height:60px;
}
.third-level-ul li {
padding: 4px 0 4px 0;
}
}
@media (max-width:768px){
@ -570,9 +590,6 @@
text-align: left;
margin-left: 20px;
}
.navbar-default .navbar-nav > li > a {
font-size: 12px;
}
.nav > li > a {
padding: 10px 9px !important;
}
@ -602,10 +619,9 @@
display:none;
list-style: none;
.ml(15px);
& li{
padding: 10px 0 10px 0;
}
}
ul#top_menu li ul.dropdown-menu {
margin-bottom: 0;
}
}
@ -675,6 +691,19 @@
margin: 0 auto;
}
}
.first-level-category-a, .second-level-a, .third-level-ul li a {
font-size: 13px;
}
ul#top_menu li ul.dropdown-menu {
margin-bottom: 0;
}
.second-level-category-caret{
.mt(-15px) !important;
}
.sub-menu-ul-heading:last-child {
padding-bottom: 8px !important;
}
}

View File

@ -1,5 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="clarico_submenu" inherit_id="website.submenu">
<xpath
expr="//li[@t-if='submenu.is_visible and not submenu.child_id.filtered(lambda menu: menu.is_visible)']"
position="inside">
<t t-if="submenu.dynamic_menu">
<t t-call="clarico_layout.dynamic_category"></t>
</t>
<div class="custom-menu-inside-div dropdown-menu" t-field="submenu.menu_html" />
<span class="dynamic_active_inactive" t-esc="submenu.dynamic_menu"
style="display:none;"></span>
</xpath>
</template>
<!-- Header main -->
<template id="clarico_header_main" inherit_id="portal.frontend_layout">
@ -132,8 +144,10 @@
<div class="custom-menu-inside-maxW">
<div class="fisrt_li">
<t t-set="category_fetch" t-value="website.category_check()"></t>
<div class="main_ctg_list">
<t t-foreach="category_fetch" t-as="category_individual">
<t t-if="not category_individual.parent_id">
<li class="first-level-category-li dropdown-submenu" t-att-id="'genrate_categ_id-%s' % category_individual.id">
<div class="first-level-left-div">
<div class="first-level-category-image" itemprop="image"
@ -142,8 +156,15 @@
t-field="category_individual.display_name"></a>
</div>
<span tabindex="-1"
class="submenu-a first-level-category-caret fa fa-chevron-right" />
<div class="toggel_div toggel-div-effect" t-att-id="category_individual.id">
class="submenu-a first-level-category-caret fa fa-chevron-right" t-if="category_individual.child_id"/>
</li>
</t>
</t>
</div>
<div class="sub_ctg_list_main">
<t t-foreach="category_fetch" t-as="category_individual">
<div class="toggel_div toggel-div-effect" t-att-id="category_individual.id">
<div class="toggel-inside-div">
<div class="menu_expand menu_1_div">
<div class="menu_expand_overflow menu_1_column_div">
@ -154,7 +175,7 @@
<a class="second-level-a menu_heading " t-att-href="'/shop/category/%s' %slug(c)"
t-field="c.name"></a>
<span tabindex="-1"
class="submenu-a second-level-category-caret fa fa-chevron-right" />
class="submenu-a second-level-category-caret fa fa-chevron-right" t-if="c.child_id" />
<ul class="third-level-ul dropdown-menu">
<t t-foreach="c.child_id" t-as="child">
<li class="third-level-li">
@ -171,9 +192,8 @@
</div>
</div>
</div>
</li>
</t>
</t>
</div>
</div>
</div>
</ul>

View File

@ -0,0 +1,146 @@
/* Ion.RangeSlider
// css version 2.0.3
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// RangeSlider */
.irs {
position: relative; display: block;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.irs-line {
position: relative; display: block;
overflow: hidden;
outline: none !important;
}
.irs-line-left, .irs-line-mid, .irs-line-right {
position: absolute; display: block;
top: 0;
}
.irs-line-left {
left: 0; width: 11%;
}
.irs-line-mid {
left: 9%; width: 82%;
}
.irs-line-right {
right: 0; width: 11%;
}
.irs-bar {
position: absolute; display: block;
left: 0; width: 0;
}
.irs-bar-edge {
position: absolute; display: block;
top: 0; left: 0;
}
.irs-shadow {
position: absolute; display: none;
left: 0; width: 0;
}
.irs-slider {
position: absolute; display: block;
cursor: default;
z-index: 1;
}
.irs-slider.single {
}
.irs-slider.from {
}
.irs-slider.to {
}
.irs-slider.type_last {
z-index: 2;
}
.irs-min {
position: absolute; display: block;
left: 0;
cursor: default;
}
.irs-max {
position: absolute; display: block;
right: 0;
cursor: default;
}
.irs-from, .irs-to, .irs-single {
position: absolute; display: block;
top: 0; left: 0;
cursor: default;
white-space: nowrap;
}
.irs-grid {
position: absolute; display: none;
bottom: 0; left: 0;
width: 100%; height: 20px;
}
.irs-with-grid .irs-grid {
display: block;
}
.irs-grid-pol {
position: absolute;
top: 0; left: 0;
width: 1px; height: 8px;
background: #000;
}
.irs-grid-pol.small {
height: 4px;
}
.irs-grid-text {
position: absolute;
bottom: 0; left: 0;
white-space: nowrap;
text-align: center;
font-size: 9px; line-height: 9px;
padding: 0 3px;
color: #000;
}
.irs-disable-mask {
position: absolute; display: block;
top: 0; left: -1%;
width: 102%; height: 100%;
cursor: default;
background: rgba(0,0,0,0.0);
z-index: 2;
}
.irs-disabled {
opacity: 0.4;
}
.lt-ie9 .irs-disabled {
filter: alpha(opacity=40);
}
.irs-hidden-input {
position: absolute !important;
display: block !important;
top: 0 !important;
left: 0 !important;
width: 0 !important;
height: 0 !important;
font-size: 0 !important;
line-height: 0 !important;
padding: 0 !important;
margin: 0 !important;
outline: none !important;
z-index: -9999 !important;
background: none !important;
border-style: solid !important;
border-color: transparent !important;
}

View File

@ -0,0 +1,121 @@
/* Ion.RangeSlider, Simple Skin
// css version 2.0.3
// © Denis Ineshin, 2014 https://github.com/IonDen
// © guybowden, 2014 https://github.com/guybowden
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs {
height: 55px;
}
.irs-with-grid {
height: 75px;
}
.irs-line {
height: 5px; top: 33px;
background: #EEE;
background: linear-gradient(to bottom, #DDD -50%, #FFF 150%); /* W3C */
border: 1px solid #CCC;
border-radius: 16px;
-moz-border-radius: 16px;
}
.irs-line-left {
height: 8px;
}
.irs-line-mid {
height: 8px;
}
.irs-line-right {
height: 8px;
}
.irs-bar {
height: 5px; top: 33px;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
background: #000;
background: linear-gradient(to top, rgba(0,0,0,1) 0%,rgba(0,0,0,1) 100%); /* W3C */
}
.irs-bar-edge {
height: 10px; top: 33px;
width: 14px;
border: 1px solid #428bca;
border-right: 0;
background: #428bca;
background: linear-gradient(to top, rgba(66,139,202,1) 0%,rgba(127,195,232,1) 100%); /* W3C */
border-radius: 16px 0 0 16px;
-moz-border-radius: 16px 0 0 16px;
}
.irs-shadow {
height: 2px; top: 38px;
background: #000;
opacity: 0.3;
border-radius: 5px;
-moz-border-radius: 5px;
}
.lt-ie9 .irs-shadow {
filter: alpha(opacity=30);
}
.irs-slider {
top: 27px;
width: 15px; height: 16px;
border: 1px solid #AAA;
background: #DDD;
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(220,220,220,1) 20%,rgba(255,255,255,1) 100%); /* W3C */
border-radius: 27px;
-moz-border-radius: 27px;
box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
cursor: pointer;
}
.irs-slider.state_hover, .irs-slider:hover {
background: #FFF;
}
.irs-min, .irs-max {
color: #333;
font-size: 12px; line-height: 1.333;
text-shadow: none;
top: 0;
padding: 1px 5px;
background: rgba(0,0,0,0.1);
border-radius: 3px;
-moz-border-radius: 3px;
}
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
background: #ccc;
}
.irs-from, .irs-to, .irs-single {
color: #000;
font-size: 12px;
text-shadow: none;
padding: 1px 10px;
}
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
background: #999;
}
.irs-grid {
height: 27px;
}
.irs-grid-pol {
opacity: 0.5;
background: #428bca;
}
.irs-grid-pol.small {
background: #999;
}
.irs-grid-text {
bottom: 5px;
color: #99a4ac;
}
.irs-disabled {
}

View File

@ -0,0 +1,427 @@
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined for any HTML5 element in IE 8/9.
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox.
* Correct `block` display not defined for `main` in IE 11.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio,
canvas,
progress,
video {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9/10.
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
*/
[hidden],
template {
display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
border: 0;
}
/**
* Correct overflow not hidden in IE 9/10/11.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari.
*/
figure {
margin: 1em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
overflow: auto;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
* Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
*/
button,
input,
optgroup,
select,
textarea {
color: inherit; /* 1 */
font: inherit; /* 2 */
margin: 0; /* 3 */
}
/**
* Address `overflow` set to `hidden` in IE 8/9/10/11.
*/
button {
overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
* Correct `select` style inheritance in Firefox.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9/10/11.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9/10/11.
*/
textarea {
overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}

View File

@ -2,9 +2,9 @@
<odoo>
<template id="layout_assets_frontend" inherit_id="web.assets_frontend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/clarico_pricefilter/static/src/less/normalize.css"></link>
<link rel="stylesheet" href="/clarico_pricefilter/static/src/less/ion.rangeSlider.skinHTML5.css"></link>
<link rel="stylesheet" href="/clarico_pricefilter/static/src/less/ion.rangeSlider.css"></link>
<link rel="stylesheet" type="text/less" href="/clarico_pricefilter/static/src/less/normalize.less"></link>
<link rel="stylesheet" type="text/less" href="/clarico_pricefilter/static/src/less/ion.rangeSlider.skinHTML5.less"></link>
<link rel="stylesheet" type="text/less" href="/clarico_pricefilter/static/src/less/ion.rangeSlider.less"></link>
<link rel="stylesheet" href="/clarico_pricefilter/static/src/less/price_filter_style.less"></link>
<script type="text/javascript" src="/clarico_pricefilter/static/src/js/ion.rangeSlider.js"></script>
<script type="text/javascript" src="/clarico_pricefilter/static/src/js/price_filter_slider.js"></script>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="clarico_pricefilter_for_category" name="Price Filter"
inherit_id="clarico_shop.clarico_shop_shop_page">
inherit_id="website_sale.products_attributes">
<xpath expr="//form/ul[hasclass('nav-stacked')]"
position="inside">
<div class="form_class price_filter_main">

View File

@ -8,7 +8,7 @@
# Dependencies
'depends': [
'clarico_base','dp_custom'
'clarico_base'
],
# Views

View File

@ -127,7 +127,7 @@
}
#o-carousel-product .carousel-inner div.item {
height: 650px !important;
//height: 650px !important;
}
.carousel-outer .inner-slider
{

View File

@ -320,8 +320,8 @@
<div class="alternet_common">
<div class="parent">
<a t-attf-href="/shop/product/#{ slug(alt_product) }">
<div t-field="alt_product.image_medium" class="recently_viewed_img_div"
t-options="{'widget': 'image' ,'image':'s_image_common'}" />
<div t-field="alt_product.image" class="recently_viewed_img_div"
t-options="{'widget': 'image' ,'image':'s_image_common','resize': '600x600'}" />
</a>
<div class="alt_prod_details">
<div class="alt_prod_product_name">
@ -365,8 +365,8 @@
<div class="parent">
<a t-attf-href="/shop/product/#{ slug(alt_product.product_tmpl_id) }"
style="display: block">
<div t-field="alt_product.image_medium" class="recently_viewed_img_div"
t-options="{'widget': 'image','class':'s_image_common'}" />
<div t-field="alt_product.image" class="recently_viewed_img_div"
t-options="{'widget': 'image','class':'s_image_common','resize': '600x600'}" />
</a>
<div class="alt_prod_details">
<div class="alt_prod_product_name">

View File

@ -58,7 +58,8 @@
</div>
</div>
<a t-attf-href="/shop/product/#{ slug(product) }">
<img t-att-src="'data:image/png;base64,%s' % to_text(product.image_medium)" class="s_image_common"></img>
<span itemprop="image" t-field="product.image"
t-options="{'widget': 'image', 'resize': '600x600', 'class': 's_image_common'}" t-att-alt="product.name" />
</a>
</div>

View File

@ -66,8 +66,8 @@
</div>
</div>
<a t-attf-href="/shop/product/#{ slug(product) }">
<span itemprop="image" t-field="product.image_medium"
t-options="{'widget': 'image'}" t-att-alt="product.name" />
<span itemprop="image" t-field="product.image"
t-options="{'widget': 'image', 'resize': '600x600'}" t-att-alt="product.name" />
</a>
</div>
@ -142,7 +142,8 @@
<div class="quick_view_img_div_container">
<div class="quick_view_image_div">
<img t-att-src="'data:image/png;base64,%s' % product.image_medium"></img>
<span itemprop="image" t-field="product.image"
t-options="{'widget': 'image', 'resize': '600x600'}" />
</div>
</div>

View File

@ -23,8 +23,8 @@
<div class="parent">
<div class="recently_viewed_img_div">
<a t-attf-href="/shop/product/#{ slug(rproduct) }">
<div t-field="rproduct.image_medium" class=""
t-options="{'widget': 'image', 'class': 'img img-responsive' }" />
<div t-field="rproduct.image" class=""
t-options="{'widget': 'image', 'class': 'img img-responsive','resize': '600x600' }" />
</a>
</div>
<div class="recently_viwed_details">
@ -84,8 +84,8 @@
<div class="parent">
<div class="recently_viewed_img_div">
<a t-attf-href="/shop/product/#{ slug(rproduct) }">
<div t-field="rproduct.image_medium" class=""
t-options="{'widget': 'image', 'class': 'img img-responsive' }" />
<div t-field="rproduct.image" class=""
t-options="{'widget': 'image', 'class': 'img img-responsive','resize': '600x600' }" />
</a>
</div>
<div class="recently_viwed_details">
@ -139,8 +139,8 @@
<div class="parent">
<div class="recently_viewed_img_div">
<a t-attf-href="/shop/product/#{ slug(rproduct) }">
<div t-field="rproduct.image_medium" class=""
t-options="{'widget': 'image', 'class': 'img img-responsive' }" />
<div t-field="rproduct.image" class=""
t-options="{'widget': 'image', 'class': 'img img-responsive','resize': '600x600' }" />
</a>
</div>
<div class="recently_viwed_details">

View File

@ -1,3 +1,2 @@
from . import controllers
from . import model
from . import tools
from . import model

View File

@ -21,6 +21,11 @@
max-width:2000px !important;
}
}
.clarico_shop_attribute_filter
{
.pl(10%);
}
.shop_product_breadcrumb
{
width: 100%;
@ -645,7 +650,7 @@
& a{
color: #717171;
font-weight: normal;
max-width: 90%;
max-width: 250px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
@ -754,6 +759,7 @@
.size(13px);
.pt(4px);
.mr(12px);
color:#fff;
}
.attr-val{
width: 95%;

File diff suppressed because it is too large Load Diff

View File

@ -7,10 +7,10 @@
<link rel="stylesheet" type="text/less"
href="/clarico_shop/static/src/less/responsive_shop.less" />
<link rel="stylesheet" type="text/css"
href="/clarico_shop/static/src/less/jquery.mCustomScrollbar.css" media="(min-width: 600px)" />
<link rel="stylesheet" type="text/less"
href="/clarico_shop/static/src/less/jquery.mCustomScrollbar.less" media="(min-width: 600px)" />
<link rel="stylesheet" type="text/css"
<link rel="stylesheet" type="text/less"
href="/clarico_shop/static/src/less/compare_wishlist_common.less" />
<script type="text/javascript" src="/clarico_shop/static/src/js/clarico_shop.js"></script>
<script type="text/javascript"

View File

@ -1,116 +1,118 @@
<?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">
<span>
<section>
<div class="oe_structure"/>
<img class="img img-responsive center" src="/clarico_shop/static/src/img/shop.jpeg"/>
</section>
</span>
<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>
<!-- 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">
</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>
<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">
<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">
<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">
<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>
<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>
</ul>
</div>
<div class="filter-sort-by">
<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="[
<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">
<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>
@ -133,49 +135,40 @@
<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'] &gt; 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> <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']
&gt; 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">
<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'] &gt; 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>
<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'] &gt; 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">
@ -221,12 +214,12 @@
<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']&gt;1 else None))">
<span itemprop="image" t-field="product.image_medium"
t-options="{'widget': 'image'}" t-att-alt="product.name" />
<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 id="in-wishlist-shop"></div>
</div>
<div class="product-des">
<div class="hover-cnt">
<div id="wishlist_shop"></div>
@ -257,162 +250,213 @@
</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 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">
<!-- <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">
<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>
<ul></ul>
<div class="clarico_shop_catg">
<hr></hr>
</div>
<div class="clarico_shop_attribute_filter">
<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>
<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) &gt; 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>
</div>
</div>
</div>
</xpath>
<xpath expr="//div[@id='products_grid']" position="attributes">
<attribute name="class">products-grid-main</attribute>
</xpath>
<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="website_sale.option_collapse_products_categories" name="Collapsible Category List" inherit_id="clarico_shop.clarico_shop_shop_page" 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>
<!-- Sort By -->
<template id="clarico_shop_sort" inherit_id="website_sale.sort">
<xpath expr="//div[hasclass('dropdown_sorty_by')]"
position="replace">
</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) &gt; 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>

View File

@ -5,6 +5,7 @@ $(document).ready(function(){
$("div").find(".main").addClass("main_left");
$("div").find("#products_grid").addClass("main_left_grid");
$("div").find(".right-cnt-maxW").addClass("right-cnt-maxW_left");
$(".shop-page-breadcrumb .sub_breadcrumb").addClass("leftbar_breadcrumb_width");
//$("div").find(".products-grid-main").removeClass("main_left_grid");
$(".menu-filter").unbind("click");
$('.menu-filter').css("display","none");

View File

@ -9,6 +9,12 @@
background-color: transparent;
.left;
z-index:100;
.clarico_shop_attribute_filter
{
.pl(0);
}
}
.left_products_grid_before{
height: 100%;
@ -54,3 +60,7 @@
padding: 10px 0 !important;
.mr(15px) !important;
}
.shop-page-breadcrumb .sub_breadcrumb.leftbar_breadcrumb_width
{
max-width: 1400px !important;
}

View File

@ -68,7 +68,8 @@
.pull-right
{
//.common-div;
.common-div;
.mb(8px);
//float:none !important;
a:first-child
@ -84,7 +85,13 @@
}
}
}
.oe_login_buttons .pull-right a.btn.btn-link
{
&:hover
{
color:@theme-color !important;
}
}
.login_area
{
display: block;

View File

@ -88,4 +88,10 @@
.size(12px);
}
}
.back_home_icon_div
{
left: 6%;
top: 65px;
.size(20px);
}
}

View File

@ -72,7 +72,10 @@
<attribute name="class">btn-link reset_pw_main</attribute>
</xpath>
<xpath expr="//a[@t-if='signup_enabled']" position="replace">
<a t-if="signup_enabled" t-attf-href="/web/signup?{{ keep_query() }}" class="btn btn btn-link signup_main common-btn">Sign Up</a>
</xpath>
<xpath expr="//button[@type='submit']" position="after">
<a t-if="signup_enabled" t-attf-href="/web/signup?{{ keep_query() }}" class="btn btn btn-link signup_main common-btn">Sign Up</a>
</xpath>
</template>
</odoo>

View File

@ -1,8 +1,14 @@
.c_signup_link_btn a.btn{
background: transparent;
}
.c_signup_link_btn,.c_reset_login_btns
{
> div.pull-right
{
.common-div;
.mb(8px);
}
}
.clarico_signup,.oe_reset_password_form
{
max-width:400px !important;
@ -15,6 +21,10 @@
.mb(12%);
}
}
.oe_reset_password_form
{
.mt(32px);
}
.c_signup_input,.c_reset_input

View File

@ -18,7 +18,7 @@
<div class="clearfix oe_login_buttons c_signup_link_btn">
<button type="submit" class="btn pull-left c_signup_btn common-btn">Sign up</button>
<a t-attf-href="/web/login?{{ keep_query() }}" class="btn btn-link pull-right back_to_login_text">Back to
<a t-attf-href="/web/login?{{ keep_query() }}" class="btn-link pull-right back_to_login_text">Back to
Login
</a>
</div>
@ -67,7 +67,7 @@
<button type="submit" class="btn pull-left reset_submit_btn">Confirm</button>
<a t-if="invalid_token" href="/web/login" class="btn btn-link pull-right">Back to Login</a>
<a t-if="not token" t-attf-href="/web/login?{{ keep_query() }}"
class="btn btn-link pull-right c_reset_backtologin">Back to Login</a>
class="btn-link pull-right c_reset_backtologin">Back to Login</a>
</div>
</xpath>
</template>

View File

@ -31,7 +31,7 @@
<div class="similar_product_main">
<t t-if="product">
<div class="similar_main">
<div t-field="product.image_small" class="similar_main_product_img_div" t-options="{'widget': 'image'}" />
<div t-field="product.image" class="similar_main_product_img_div" t-options="{'widget': 'image','resize':'150x150'}" />
<h4>
<a class="similar_main_product_name" t-field="product.name"></a>
</h4>
@ -43,7 +43,7 @@
<t t-foreach="product.alternative_product_ids" t-as="alt_product">
<div class="similar_product_div">
<a t-attf-href="/shop/product/#{ slug(alt_product) }">
<div t-field="alt_product.image_medium" class="similar_product_img" t-options="{'widget': 'image'}" />
<div t-field="alt_product.image" class="similar_product_img" t-options="{'widget': 'image','resize': '600x600'}" />
</a>
<div class="similar_product_details">
<div class="similar_product_name">

View File

@ -19,6 +19,7 @@
padding: 20%;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
}

View File

@ -31,6 +31,7 @@
padding: 25%;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
}
& .lc_carousel_caption{

View File

@ -25,6 +25,7 @@
padding: 25%;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
}
& .lc2_carousel_caption{

View File

@ -12,7 +12,7 @@
<section>
<div class="slider_section">
<div id="slider_wrapper_wo" class="slider_wrapper_wo">
<div id="myCarousel" class="carousel slide clarico_slider_style_4_carousel" data-interval="4000" data-ride="carousel">
<div id="myCarousel" class="carousel slide clarico_slider_style_4_carousel ts_banner" data-interval="4000" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators hidden">
@ -49,4 +49,4 @@
</div>
</section>
</template>
</odoo>
</odoo>

View File

@ -37,6 +37,7 @@
padding: 20%;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
}
& .mtb_carousel_caption{

View File

@ -168,4 +168,7 @@ color: #717171;
color: @theme-color !important;
}
.wish-add-cart-checkbox .checkbox-custom-label {
padding-left: 30px !important;
vertical-align: sub;
}

View File

@ -19,7 +19,7 @@
<div class="popover_each_product_div">
<div class="product_img_popover">
<a t-att-href="'/shop/product/%s' %slug(p.product_id)">
<img t-att-src="'data:image/png;base64,%s' % to_text(p.product_id.image_small)"></img>
<div t-field="p.product_id.image" t-options="{'widget': 'image','resize': '150x150'}" />
</a>
</div>
<div class="name_price_comb_popover">

View File

@ -12,13 +12,13 @@ class themeColor(http.Controller):
request.env['ir.config_parameter'].sudo().set_param("customize_theme.theme_color",
repr(theme_color))
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
path = path + "/static/src/less/custom_color.less"
#...write file
f = open(path, "w")
f.write("@theme-color:"+theme_color+';')
f.close()
# path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# path = path + "/static/src/less/custom_color.less"
#
# #...write file
# f = open(path, "w")
# f.write("@theme-color:"+theme_color+';')
# f.close()
@http.route('/theme_color_store', type='json', auth="user", website=True)
def color_store(self, theme_color=False, **kw):

View File

@ -1 +1 @@
# from . import res_config_settings
from . import res_config_settings

View File

@ -1 +1 @@
@theme-color:#000;
@theme-color:#444;

View File

@ -82,6 +82,15 @@ footer #footer
{
padding:10px 0;
}
.ftr_language
{
#products li >a
{
.muli-light();
line-height: 180%;
.size(13px);
}
}
.company_info_section_main
{
.common-div;

View File

@ -300,10 +300,10 @@ ul.navbar-right{
display:block !important;
}
.header-stick #top_menu ul.dropdown-menu {
top: 100% !important;
// top: 100% !important;
}
.header-stick .custom-menu-inside-div {
top: 100% !important;
// top: 100% !important;
}
.block-none
{

View File

@ -50,10 +50,10 @@ margin-left: 2px;
padding: 0px 7px !important;
}
.header-stick #top_menu ul.dropdown-menu {
top: 92% !important;
// top: 92% !important;
}
.header-stick .custom-menu-inside-div {
top: 92% !important;
// top: 92% !important;
}
.company_pricelist
{

View File

@ -197,10 +197,10 @@ header
}
.header-stick #top_menu ul.dropdown-menu {
top: 92% !important;
// top: 92% !important;
}
.header-stick .custom-menu-inside-div {
top: 92% !important;
// top: 92% !important;
}
.company_pricelist
{
@ -260,6 +260,14 @@ header
.bg(#fff);
.pb(2%) !important;
}
#top_menu > li.dropdown > a > i
{
color:#fff;
}
#top_menu > li.dropdown.open > a > i
{
color:#444;
}
}
@media (max-width:800px)
{

View File

@ -55,13 +55,13 @@
}
}
.header-stick #top_menu ul.dropdown-menu {
top: 88% !important;
// top: 88% !important;
}
.header-stick #top_menu ul.dropdown-menu {
top: 93% !important;
// top: 93% !important;
}
.header-stick .custom-menu-inside-div {
top: 93% !important;
// top: 93% !important;
}
.header-stick .navbar-nav > li.active > a span {
color: #fff !important;
@ -316,6 +316,20 @@ ul#top_menu
{
display:block !important;
}
ul#top_menu > li.active > a {
color: @theme-color;
border-radius: 0;
background-color: transparent;
}
ul#top_menu > li:hover > a {
color: inherit;
border-radius: 0;
background-color: transparent;
}
.navbar .navbar-top-collapse
{
width:100%;
}
}
@media (max-width:1100px)

View File

@ -123,10 +123,10 @@
max-width:1400px;
}
.header-stick .custom-menu-inside-div {
top: 100% !important;
//top: 100% !important;
}
.header-stick #top_menu ul.dropdown-menu {
top: 100% !important;
//top: 100% !important;
}
.logo-stick
{

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,7 @@
# Views
'data': [
'template/style_2.xml',
'template/timer.xml',
'template/assets.xml',
],

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -26,11 +26,7 @@ odoo.define('theme_clarico.front_js',function(require){
var self = this;
var date = self.$target.data("date");
console.log("target date =="+date)
ajax.jsonRpc("/timer/render", 'call')
.then(function(objects) {
$(objects).appendTo(self.$target);
// july 29, 2018 7:30:00
if(date != "nan")
if(date != "nan")
{
var countDownDate = new Date(date).getTime();
var x = setInterval(function() {
@ -75,24 +71,16 @@ odoo.define('theme_clarico.front_js',function(require){
if(self.$target.find(".snippet_right_timer_div"))
{
self.$target.find(".snippet_right_timer_div").css("display","block")
// Output the result in an element with id="date_timer"
self.$target.find("#days").html(days);
self.$target.find("#d_lbl").html("days");
self.$target.find("#hours").html(hours);
self.$target.find("#h_lbl").html("hours");
self.$target.find("#minutes").html(minutes);
self.$target.find("#m_lbl").html("minutes");
self.$target.find("#seconds").html(seconds);
self.$target.find("#s_lbl").html("seconds");
self.$target.find(".snippet_right_timer_div").remove()
var append_data="<div class='snippet_right_timer_div'><p id='date_timer' ><div class='timer_common'><div id='days'>"+ days +"</div><p id='d_lbl'>Days</p></div><p class='colon'>:</p><div class='timer_common'><div id='hours'>" + hours + "</div><p id='h_lbl'>Hours</p></div><p class='colon'>:</p><div class='timer_common'><div id='minutes'>"+ minutes +"</div><p id='m_lbl'>Minutes</p></div><p class='colon'>:</p><div class='timer_common'><div id='seconds'>" +seconds + "</div><p id='s_lbl'>Seconds</p></div></p></div>";
self.$target.find(".snippet_right_timer_div").css("display","block")
self.$target.append(append_data)
}
}, 1000);
}
})
}
}
});
});

View File

@ -10,7 +10,7 @@
/*style*/
.snippet_right_timer_div
{
display:none;
display:block;
}
.snippet_design
{
@ -106,11 +106,15 @@
}
}
.js_timer_div
{
.common-div;
.mt(64px);
}
.snippet_right_timer_div
{
width:100%;
.pb(46%);
//.pb(46%);
}
.timer_common
{
@ -178,6 +182,10 @@
{
.size(55px);
}
.snippet_left_container .snippet_left_content .desc_para
{
.mb(5px);
}
}
@media (max-width: 1000px) {
.snippet_left_container .snippet_left_content
@ -190,6 +198,10 @@
.mb(2%) !important;
}
}
.snippet_left_container
{
max-width: 90%;
}
}
@ -258,6 +270,14 @@
.size(14px) !important;
.mb(25px) !important;
}
.snippet_left_container .snippet_left_content
{
max-height: 100%;
}
.snippet_left_container .js_timer_div
{
.mt(32px);
}
}
@media (max-width: 600px) {
@ -270,7 +290,7 @@
}
.snippet_left_container .snippet_left_content {
padding: 0 !important;
max-height: 250px;
max-height: 100%;
min-height: 230px;
}

View File

@ -10,24 +10,7 @@
</template>
<template id="snippet_style_2_body" name="Timer">
<section class="snippet_design">
<div class="js_timer" data-date="nan" contentEditable="false"
data-isemipro='true' />
</section>
</template>
<template id="snippet_style_2_snippet_options" inherit_id="website.snippet_options">
<xpath expr="." position="inside">
<div data-js='js_timer' data-selector=".js_timer">
<li data-date_configure="" data-no-preview="true">
<a class="js_products_slider">Modify Time</a>
</li>
</div>
</xpath>
</template>
<template id="snippet_style_2_template" name="Style 2">
<section class="left_container_parent">
<section class="left_container_parent">
<section class="snippet_left_container">
<section class="snippet_left_content">
<h3 class="chs_heading">Furniture Interior</h3>
@ -36,29 +19,7 @@
sofa sections.
</p>
<a class="shop_now_button" href="#">Shop now</a>
</section>
<section class="snippet_right_timer_div">
<p id="date_timer" >
<div class="timer_common">
<div id="days"></div>
<p id="d_lbl"></p>
</div>
<p class="colon">:</p>
<div class="timer_common">
<div id="hours"></div>
<p id="h_lbl"></p>
</div>
<p class="colon">:</p>
<div class="timer_common">
<div id="minutes"></div>
<p id="m_lbl"></p>
</div>
<p class="colon">:</p>
<div class="timer_common">
<div id="seconds"></div>
<p id="s_lbl"></p>
</div>
</p>
<div class="js_timer_div"> </div>
</section>
</section>
</section>
@ -70,10 +31,7 @@
<span>off</span>
</section>
</section>
</section>
</section>
</template>
</odoo>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="snippet_style_timer" inherit_id="clarico_snippets.clarico_offer_snippets"
name="Dispay Timer" >
<xpath
expr="//div[@id='clarico_offer_structure']/div[hasclass('o_panel_body')]"
position="inside">
<t t-snippet="snippet_style_2.time_type" t-thumbnail="/snippet_style_2/static/src/img/timer.jpg" />
</xpath>
</template>
<template id="time_type" name="Inner Timer Snippet">
<div class="js_timer oe_snippet_body" data-date="nan" ></div>
</template>
<template id="snippet_style_2_snippet_options" inherit_id="website.snippet_options">
<xpath expr="//div" position="after">
<div data-js='js_timer' data-selector=".js_timer" data-drop-in=".js_timer_div" >
<li data-date_configure="" data-no-preview="true" class="dropdown-submenu">
<a class="js_products_slider">Modify Time</a>
</li>
</div>
</xpath>
</template>
</odoo>

View File

@ -2,7 +2,7 @@
# Theme information
'name': 'Theme Clarico',
'category': 'Theme/eCommerce',
'version': '11.0.2.9',
'version': '11.0.2.15',
'summary': 'Fully Responsive Odoo Theme suitable to both Services & eCommerce Businesses',
'description': """.""",
'license': 'OPL-1',
@ -10,33 +10,35 @@
# Dependencies
'depends': [
'website',
'clarico_attribute_filter',
'clarico_latest_blogs',
'clarico_brand',
'clarico_category',
'clarico_category_attribute',
'clarico_customize_color',
'clarico_404',
'clarico_recently_viewed',
'clarico_contact',
'clarico_layout2',
'clarico_reset_password',
'clarico_shop_left_sidebar',
'clarico_shop_list',
'clarico_shop_right_sidebar',
'clarico_signin',
'clarico_signup',
'clarico_product_carousel_wishlist',
'clarico_quick_view_compare',
'clarico_quick_view_wishlist',
'clarico_quick_view_carousel',
'clarico_pricefilter',
'customize_theme',
'clarico_compare_wishlist',
'clarico_rating',
'clarico_category_description',
'clarico_similar_product',
'clarico_business_carousel',
'clarico_product',
'clarico_cart'
# 'clarico_attribute_filter',
# 'clarico_latest_blogs',
# 'clarico_brand',
# 'clarico_category',
# 'clarico_category_attribute',
# 'clarico_customize_color',
# 'clarico_404',
# 'clarico_recently_viewed',
# 'clarico_contact',
# 'clarico_layout2',
# 'clarico_reset_password',
# 'clarico_shop_left_sidebar',
# 'clarico_shop_list',
# 'clarico_shop_right_sidebar',
# 'clarico_signin',
# 'clarico_signup',
# 'clarico_product_carousel_wishlist',
# 'clarico_quick_view_compare',
# 'clarico_quick_view_wishlist',
# 'clarico_quick_view_carousel',
# 'clarico_pricefilter',
# 'customize_theme',
# 'clarico_compare_wishlist',
# 'clarico_rating',
# 'clarico_category_description',
# 'clarico_similar_product',
# 'clarico_business_carousel',
],

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="0">
<data noupdate="1">
<record id="base.main_company" model="res.company">
<field name="name">Clarico</field>
@ -18,4 +18,4 @@
</record>
</data>
</odoo>
</odoo>