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"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <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"> <xpath expr="//div[hasclass('main')]" position="after">
<div class="filter-main-div"> <div class="filter-main-div">
<div class="filter-div-maxW"> <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 --> <!-- Owl-Carosel css -->
<link rel="stylesheet" type="text/less" <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" <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 --> <!-- Owl-Carosel Js -->
<script src="/clarico_base/static/src/js/owl.carousel.js" <script src="/clarico_base/static/src/js/owl.carousel.js"
type="text/javascript"></script> type="text/javascript"></script>
</xpath> </xpath>
</template> </template>
</odoo> </odoo>

View File

@ -22,7 +22,76 @@
<attribute name="class">lb_name</attribute> <attribute name="class">lb_name</attribute>
</xpath> </xpath>
</template> </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"> <template id="clarico_blogs_post_complete" inherit_id="website_blog.blog_post_complete">
<xpath expr="//p[2][@class='post-meta text-muted text-center']" <xpath expr="//p[2][@class='post-meta text-muted text-center']"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <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']" <xpath expr="//form/ul[@class='nav nav-pills nav-stacked mt16']"
position="inside"> position="inside">
<t t-if="brand_list"> <t t-if="brand_list">

View File

@ -20,7 +20,7 @@
<sheet> <sheet>
<group> <group>
<field name="name" string="Name" /> <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" /> <field name="is_website_publish" string="Website Publish" />
</group> </group>
</sheet> </sheet>
@ -40,4 +40,4 @@
<menuitem action="brand_action" id="brand_menu" parent="website.menu_website_global_configuration" <menuitem action="brand_action" id="brand_menu" parent="website.menu_website_global_configuration"
sequence="0" /> sequence="0" />
</data> </data>
</odoo> </odoo>

View File

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

View File

@ -122,6 +122,10 @@
{ {
overflow:hidden; overflow:hidden;
} }
.address-row-main-div .checkout_autoformat
{
width:100%;
}
} }
@media (max-width:800px){ @media (max-width:800px){
@ -164,6 +168,9 @@
margin:unset; margin:unset;
.mt(2%); .mt(2%);
} }
.address-row-main-div .form-group {
width: 100%;
}
} }
@media (max-width:600px){ @media (max-width:600px){
#cart_total #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 .cart_style_2
{ {
display:none; display:none;
@ -434,6 +440,11 @@
.checkout_autoformat .checkout_autoformat
{ {
width:75%; width:75%;
.has-error .form-control
{
border-color: #c51111 !important;
}
} }
.wizard-main-ul .wizard-main-ul

View File

@ -1,5 +1,47 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <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--> <!-- Cart in Account-->
<template id="clarico_account_cart" inherit_id="clarico_account.clarico_account_clarico_layout"> <template id="clarico_account_cart" inherit_id="clarico_account.clarico_account_clarico_layout">
@ -58,9 +100,9 @@
<tr> <tr>
<td colspan="2" t-if="not line.product_id.product_tmpl_id" class='td-img'></td> <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'> <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>
<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"> <div class="cart_product_name">
<a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }"> <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" /> <strong t-esc="line.product_id.with_context(display_default_code=False).name" />
@ -154,6 +196,7 @@
<!-- <p> <!-- <p>
Have a promo code? Fill in this field and apply. Have a promo code? Fill in this field and apply.
</p> --> </p> -->
<p></p>
<t t-call='website_sale.coupon_form'/> <t t-call='website_sale.coupon_form'/>
</div> </div>
</xpath> </xpath>
@ -460,6 +503,27 @@
<xpath expr="//div[hasclass('row')]/t[3]/h2" position="replace"> <xpath expr="//div[hasclass('row')]/t[3]/h2" position="replace">
<h2 class="page-header mt8 ml16 sub-heading">Shipping Address</h2> <h2 class="page-header mt8 ml16 sub-heading">Shipping Address</h2>
</xpath> </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> </template>
@ -496,7 +560,7 @@
<tr t-foreach="suggested_products" t-as="product"> <tr t-foreach="suggested_products" t-as="product">
<td class='td-img'> <td class='td-img'>
<a t-attf-href="/shop/product/#{ slug(product.product_tmpl_id) }"> <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> </a>
</td> </td>
<td class='td-product_name'> <td class='td-product_name'>

View File

@ -372,6 +372,7 @@
.mr(10px); .mr(10px);
vertical-align: top; vertical-align: top;
} }
@media (min-width:800px){ @media (min-width:800px){
.non-carousel{ .non-carousel{
& .compare_main{ & .compare_main{
@ -394,6 +395,7 @@
max-width: 100%; max-width: 100%;
margin: 0px auto; margin: 0px auto;
} }
} }
/* Specification table */ /* Specification table */
@ -438,3 +440,17 @@
.pr(10px); .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> <span class=''>x</span>
</a> </a>
<div class="compare_img_div compare_product_img"> <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 class="sale-div" t-if="product.label_ept_id">
<div t-field="product.label_ept_id" class="sale-btn"></div> <div t-field="product.label_ept_id" class="sale-btn"></div>
@ -257,9 +257,9 @@
</tr> </tr>
</t> </t>
<tr t-foreach="atts[spec]" t-as="att" t-att-class="'collapse in ' + spec.split()[0]"> <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> <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'))"/> <t t-esc="(' %s ' % or_separator).join(att.value_ids.mapped('name'))"/>
</td> </td>
</tr> </tr>

View File

@ -18,7 +18,6 @@ options.registry.set_custom_color = options.Class.extend({
start: function(){ start: function(){
var self = this; var self = this;
}, },
set_color: function(type,value) { set_color: function(type,value) {
var self = this; var self = this;
@ -55,20 +54,22 @@ options.registry.set_custom_color = options.Class.extend({
if(isValidColor){ if(isValidColor){
color_global = color; color_global = color;
self.$target.addClass('custom') if(self.$target.hasClass("carousel") == true){
Utils.set_cookie('ept'+color,color,60*60*24) 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{ }else{
alert("Invalid Color Code! Please enter correct format.") alert("Invalid Color Code! Please enter correct format.")
self.set_color('click'); self.set_color('click');
} }
}) })
return def; return def;
}, },
cleanForSave:function(){ 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> <odoo>
<!-- ===================== ABOUT US ========================== --> <!-- ===================== ABOUT US ========================== -->
<template id="expertise" name="Expertise" inherit_id="website.aboutus"> <template id="expertise" name="Expertise" inherit_id="website.aboutus">
<!--
<xpath expr="//h1" position="attributes"> <xpath expr="//h1" position="attributes">
<attribute name="class">ch_h1_class text-center abt_h1_margin</attribute> <attribute name="class">ch_h1_class text-center abt_h1_margin</attribute>
</xpath> </xpath>
@ -50,6 +51,7 @@
<xpath expr="//section[2]/div[hasclass('container')]" position="attributes"> <xpath expr="//section[2]/div[hasclass('container')]" position="attributes">
<attribute name="class">container hidden</attribute> <attribute name="class">container hidden</attribute>
</xpath> </xpath>
-->
</template> </template>
<template id="clarico_expertise_about_us" inherit_id="website_hr.aboutus"> <template id="clarico_expertise_about_us" inherit_id="website_hr.aboutus">
<xpath expr="//img[hasclass('img-rounded')]" position="attributes"> <xpath expr="//img[hasclass('img-rounded')]" position="attributes">

View File

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

View File

@ -1,7 +1,20 @@
$(document).ready(function(){ $(document).ready(function(){
if ($(window).width() > 1200) { if ($(window).width() > 1200) {
$('#top_menu > li > a').mouseenter(function(){ $('#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')){ if ($(this).next().hasClass('custom-menu-inside-div')){
$(this).next('.custom-menu-inside-div').css("display","block"); $(this).next('.custom-menu-inside-div').css("display","block");
var first_li = $('.first-level-category-li').first('li'); var first_li = $('.first-level-category-li').first('li');
@ -30,12 +43,25 @@ $(document).ready(function(){
}); });
// Dynamic category hover // Dynamic category hover
$('.first-level-category-li').mouseenter(function(){ $('.first-level-category-li').each(function(){
var self =$(this) var self =$(this);
var first_div = $(self).find('.first-level-left-div'); var str =self.attr('id');
first_div.addClass("active-li"); var suffix = str.match(/\d+/).toString();
self.find('.toggel_div').css("display","block");
self.find('.toggel_div').find('.menu_1_div').css("display","block"); $(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(){ $('.first-level-category-li').mouseleave(function(){
var self =$(this) var self =$(this)
@ -158,7 +184,38 @@ $(document).ready(function(){
}); });
// Dropdown manu // 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('ul').toggle();
$(this).next('div.toggel-div-effect').toggle(); $(this).next('div.toggel-div-effect').toggle();
e.stopPropagation(); e.stopPropagation();
@ -196,17 +253,41 @@ $(document).ready(function(){
$("body").removeClass("scroll_remove"); $("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(){ $(window).load(function(){
if ($(window).width() > 1200) {
var first_li = $('.first-level-category-li').first('li'); var first_li = $('.first-level-category-li').first('li');
first_li.find('.first-level-left-div').addClass('active-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").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 //for searching
$(document).keyup(function(e) { $(document).keyup(function(e) {
if (e.which == 27) { if (e.which == 27) {

View File

@ -659,7 +659,7 @@
transition: 0.8s; transition: 0.8s;
} }
.header-stick .custom-menu-inside-div{ .header-stick .custom-menu-inside-div{
top:90% !important; //top:90% !important;
} }
.custom-menu-nth-div{ .custom-menu-nth-div{
width: 70% !important; width: 70% !important;
@ -1394,7 +1394,7 @@ ul#top_menu{
} }
#top_menu ul.dropdown-menu{ #top_menu ul.dropdown-menu{
right:auto; right:auto;
top: 90%; // top: 90%;
// width:100%; // width:100%;
& .active > a{ & .active > a{
@ -1403,7 +1403,7 @@ ul#top_menu{
} }
.header-stick #top_menu ul.dropdown-menu{ .header-stick #top_menu ul.dropdown-menu{
top:90% !important; // top:90% !important;
} }
.js_searchBox .js_searchBox
{ {
@ -1606,6 +1606,10 @@ width: 30%;
.bg(transparent) !important; .bg(transparent) !important;
} }
} }
.company_pricelist a.header_btn_style
{
color: #000 !important;
}
.header_style_logo_stick .header_style_logo_stick
{ {
display:none; 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; margin:0;
.left !important; .left !important;
display:none; display:none;
width:100%;
} }
.second_level-ul > li{ .second_level-ul > li{
@ -320,15 +321,37 @@
color:black !important; color:black !important;
.size(13px) !important; .size(13px) !important;
} }
.second-level-category-caret{
.mt(-15px) !important;
}
.category-heading-center h4 a{ .category-heading-center h4 a{
color:#777777 !important; color:#777777 !important;
} }
.expand-div{ .expand-div{
padding:0px 20px 0px 20px; 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){ @media (max-width:980px){
.main-header-left{ .main-header-left{
@ -344,9 +367,6 @@
{ {
font-size: 13px; font-size: 13px;
} }
.navbar-default .navbar-nav > li > a {
font-size: 12px;
}
.company_details_footer .company_details_footer
{ {
width:100%; width:100%;
@ -472,9 +492,7 @@
.header-right .company-phone-div .dropdown .dropdown-toggle b span { .header-right .company-phone-div .dropdown .dropdown-toggle b span {
font-size: 11px !important; font-size: 11px !important;
} }
.navbar-default .navbar-nav > li > a {
font-size: 12px;
}
.nav navbar-nav navbar-right .nav navbar-nav navbar-right
{ {
float: right !important; float: right !important;
@ -529,7 +547,9 @@
{ {
height:60px; height:60px;
} }
.third-level-ul li {
padding: 4px 0 4px 0;
}
} }
@media (max-width:768px){ @media (max-width:768px){
@ -570,9 +590,6 @@
text-align: left; text-align: left;
margin-left: 20px; margin-left: 20px;
} }
.navbar-default .navbar-nav > li > a {
font-size: 12px;
}
.nav > li > a { .nav > li > a {
padding: 10px 9px !important; padding: 10px 9px !important;
} }
@ -602,10 +619,9 @@
display:none; display:none;
list-style: none; list-style: none;
.ml(15px); .ml(15px);
}
& li{ ul#top_menu li ul.dropdown-menu {
padding: 10px 0 10px 0; margin-bottom: 0;
}
} }
} }
@ -675,6 +691,19 @@
margin: 0 auto; 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"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <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 --> <!-- Header main -->
<template id="clarico_header_main" inherit_id="portal.frontend_layout"> <template id="clarico_header_main" inherit_id="portal.frontend_layout">
@ -132,8 +144,10 @@
<div class="custom-menu-inside-maxW"> <div class="custom-menu-inside-maxW">
<div class="fisrt_li"> <div class="fisrt_li">
<t t-set="category_fetch" t-value="website.category_check()"></t> <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-foreach="category_fetch" t-as="category_individual">
<t t-if="not category_individual.parent_id"> <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"> <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-left-div">
<div class="first-level-category-image" itemprop="image" <div class="first-level-category-image" itemprop="image"
@ -142,8 +156,15 @@
t-field="category_individual.display_name"></a> t-field="category_individual.display_name"></a>
</div> </div>
<span tabindex="-1" <span tabindex="-1"
class="submenu-a first-level-category-caret fa fa-chevron-right" /> class="submenu-a first-level-category-caret fa fa-chevron-right" t-if="category_individual.child_id"/>
<div class="toggel_div toggel-div-effect" t-att-id="category_individual.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="toggel-inside-div">
<div class="menu_expand menu_1_div"> <div class="menu_expand menu_1_div">
<div class="menu_expand_overflow menu_1_column_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)" <a class="second-level-a menu_heading " t-att-href="'/shop/category/%s' %slug(c)"
t-field="c.name"></a> t-field="c.name"></a>
<span tabindex="-1" <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"> <ul class="third-level-ul dropdown-menu">
<t t-foreach="c.child_id" t-as="child"> <t t-foreach="c.child_id" t-as="child">
<li class="third-level-li"> <li class="third-level-li">
@ -171,9 +192,8 @@
</div> </div>
</div> </div>
</div> </div>
</li>
</t> </t>
</t> </div>
</div> </div>
</div> </div>
</ul> </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> <odoo>
<template id="layout_assets_frontend" inherit_id="web.assets_frontend"> <template id="layout_assets_frontend" inherit_id="web.assets_frontend">
<xpath expr="." position="inside"> <xpath expr="." position="inside">
<link rel="stylesheet" href="/clarico_pricefilter/static/src/less/normalize.css"></link> <link rel="stylesheet" type="text/less" href="/clarico_pricefilter/static/src/less/normalize.less"></link>
<link rel="stylesheet" href="/clarico_pricefilter/static/src/less/ion.rangeSlider.skinHTML5.css"></link> <link rel="stylesheet" type="text/less" href="/clarico_pricefilter/static/src/less/ion.rangeSlider.skinHTML5.less"></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/ion.rangeSlider.less"></link>
<link rel="stylesheet" href="/clarico_pricefilter/static/src/less/price_filter_style.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/ion.rangeSlider.js"></script>
<script type="text/javascript" src="/clarico_pricefilter/static/src/js/price_filter_slider.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"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <odoo>
<template id="clarico_pricefilter_for_category" name="Price Filter" <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')]" <xpath expr="//form/ul[hasclass('nav-stacked')]"
position="inside"> position="inside">
<div class="form_class price_filter_main"> <div class="form_class price_filter_main">

View File

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

View File

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

View File

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

View File

@ -58,7 +58,8 @@
</div> </div>
</div> </div>
<a t-attf-href="/shop/product/#{ slug(product) }"> <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> </a>
</div> </div>

View File

@ -66,8 +66,8 @@
</div> </div>
</div> </div>
<a t-attf-href="/shop/product/#{ slug(product) }"> <a t-attf-href="/shop/product/#{ slug(product) }">
<span itemprop="image" t-field="product.image_medium" <span itemprop="image" t-field="product.image"
t-options="{'widget': 'image'}" t-att-alt="product.name" /> t-options="{'widget': 'image', 'resize': '600x600'}" t-att-alt="product.name" />
</a> </a>
</div> </div>
@ -142,7 +142,8 @@
<div class="quick_view_img_div_container"> <div class="quick_view_img_div_container">
<div class="quick_view_image_div"> <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>
</div> </div>

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -1,116 +1,118 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <odoo>
<!-- Change Qweb view priority --> <!-- Change Qweb view priority -->
<record id="website_sale.products_categories" model="ir.ui.view"> <record id="website_sale.products_categories" model="ir.ui.view">
<field name="priority">17</field> <field name="priority">17</field>
</record> </record>
<record id="website_sale.products_description" model="ir.ui.view"> <record id="website_sale.products_description" model="ir.ui.view">
<field name="priority">24</field> <field name="priority">24</field>
</record> </record>
<!-- View As Template --> <!-- View As Template -->
<template id="clarico_shop_products" inherit_id="website_sale.products" name="Clarico Shop"> <template id="clarico_shop_products" inherit_id="website_sale.products"
<xpath expr="//div[@id='wrap']" position="replace"> name="Clarico Shop">
<div id="wrap" class="js_sale"> <xpath expr="//div[@id='wrap']" position="replace">
<div class="oe_structure" /> <div id="wrap" class="js_sale">
<div class="oe_website_sale"> <div class="oe_structure" />
<span> <div class="oe_website_sale">
<section> <div t-att-style="'display:none;' if not bins else 'display:block;'"
<div class="oe_structure"/> id="sub_header_row" class="shop-page-breadcrumb">
<img class="img img-responsive center" src="/clarico_shop/static/src/img/shop.jpeg"/> <div class="clarico_product_breadcrumb">
</section> <div class="sub_breadcrumb">
</span> <div class="nav-view">
<div t-att-style="'display:none;' if not bins else 'display:block;'" <div class="nav-selection-div">
id="sub_header_row" class="shop-page-breadcrumb"> <a class="home-icon" href="/shop">
<div class="clarico_product_breadcrumb"> <i class="fa fa-home" aria-hidden="true"></i>
<div class="sub_breadcrumb"> </a>
<div class="nav-view"> <span class="select-nevigation-span" />
<div class="nav-selection-div"> <a class="select-nevigation-child"></a>
<a class="home-icon" href="/shop"> <!-- <a class="select-nevigation" href="/shop"> Home <span>/</span>
<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> --> </a> -->
</div> </div>
<div class="view-as-div"> <div class="view-as-div">
<label class="view-label">View As</label> <label class="view-label">View As</label>
<a class="grid-view"> <a class="grid-view">
<i class="fa fa-th" aria-hidden="true"></i> <i class="fa fa-th" aria-hidden="true"></i>
</a> </a>
<a class="list-view"> <a class="list-view">
<i class="fa fa-bars" aria-hidden="true"></i> <i class="fa fa-bars" aria-hidden="true"></i>
</a> </a>
<a class="view-as-two-col">2</a> <a class="view-as-two-col">2</a>
<a class="view-as-three-col">4</a> <a class="view-as-three-col">4</a>
</div> </div>
</div> </div>
<div class="products_pager" id="shop_pager"> <div class="products_pager" id="shop_pager">
<div class="row" style="width: 100%;"> <div class="row" style="width: 100%;">
<t t-call="website.pager" /> <t t-call="website.pager" />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="right-cnt-main"> <div class="right-cnt-main">
<div class="right-cnt-maxW"> <div class="right-cnt-maxW">
<div class="view-as"> <div class="view-as">
<div class="view-as-maxW"> <div class="view-as-maxW">
<div class="view-mode"> <div class="view-mode">
<div class="menu-filter-div"> <div class="menu-filter-div">
<a class="menu-filter"> <a class="menu-filter">
<i class="fa fa-align-left" aria-hidden="true"></i> <i class="fa fa-align-left" aria-hidden="true"></i>
Filter Filter
</a> </a>
<p t-if='search and search_count' class='oe_search_found search_found'> <small>( <t t-esc="search_count"/> found )</small></p> <p t-if='search and search_count' class='oe_search_found search_found'>
<a class="apply-filter apply-filter-in-page btn">View Filter</a> <small>
</div> (
</div> <t t-esc="search_count" />
<div t-att-style="'display:none;' if not bins else 'display:block;'" class="view-as-right-cnt"> found )
<div class="filter-show"> </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"> <button class="btn-2 dropdown-toggle" data-toggle="dropdown">
<i class="icon-exchange"></i> <i class="icon-exchange"></i>
<span class="filter-show-label">show</span> <span class="filter-show-label">show</span>
<i class="icon-chevron-down"></i> <i class="icon-chevron-down"></i>
</button> </button>
<ul class="dropdown-menu" role="menu"> <ul class="dropdown-menu" role="menu">
<li class="show_product"> <li class="show_product">
<a class="ppg_show" data-id="16">16</a> <a class="ppg_show" data-id="16">16</a>
</li> </li>
<li class="show_product"> <li class="show_product">
<a class="ppg_show" data-id="20">20</a> <a class="ppg_show" data-id="20">20</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="filter-sort-by"> <div class="filter-sort-by">
<t t-set="list_price_desc_label"> <t t-set="list_price_desc_label">
Price Price
<i class="fa fa-arrow-up" aria-hidden="true" /> <i class="fa fa-arrow-up" aria-hidden="true" />
</t> </t>
<t t-set="list_price_asc_label"> <t t-set="list_price_asc_label">
Price Price
<i class="fa fa-arrow-down" aria-hidden="true" /> <i class="fa fa-arrow-down" aria-hidden="true" />
</t> </t>
<t t-set="name_asc_label">Name</t> <t t-set="name_asc_label">Name</t>
<t t-set="website_sale_sortable" <t t-set="website_sale_sortable"
t-value="[ t-value="[
(list_price_desc_label, 'list_price desc'), (list_price_desc_label, 'list_price desc'),
(list_price_asc_label, 'list_price asc'), (list_price_asc_label, 'list_price asc'),
(name_asc_label, 'name 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" <a href="#" class="dropdown-toggle btn-default"
data-toggle="dropdown"> data-toggle="dropdown">
<span class="filter-show-label">Sort by</span> <span class="filter-show-label">Sort by</span>
@ -133,49 +135,40 @@
<div class="hidden" id="products_grid_before"></div> <div class="hidden" id="products_grid_before"></div>
<div class="products-grid-main" id="products_grid"> <div class="products-grid-main" id="products_grid">
<table id="product-grid-table" width="100%"> <table id="product-grid-table" width="100%">
<!-- <tr> <!-- <tr> <td> <div class="product-grid-div" t-foreach="bins" t-as="tr_product">
<td> <p class="p_Count" style="display:none" t-att-data-id="products_count" />
<div class="product-grid-div" t-foreach="bins" t-as="tr_product"> <t t-foreach="tr_product" t-as="td_product"> <t t-if="td_product"> <t t-set="product"
<p class="p_Count" style="display:none" t-att-data-id="products_count" /> t-value="td_product['product']" /> <div class="product-row3" t-att-colspan="td_product['x']
<t t-foreach="tr_product" t-as="td_product"> != 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']
<t t-if="td_product"> }"> <div class="oe_product_cart" t-att-data-publish="product.website_published
<t t-set="product" t-value="td_product['product']" /> and 'on' or 'off'"> <t t-set="product_image_big" t-value="td_product['x']+td_product['y']
<div class="product-row3" t-att-colspan="td_product['x'] != 1 and td_product['x']" &gt; 2" /> <t t-call="clarico_shop.clarico_shop_products_item" /> </div>
t-att-rowspan="td_product['y'] != 1 and td_product['y']" </div> </t> <div t-if="not td_product" class="oe-height-2" /> </t> </div>
t-attf-class="oe_product oe_grid oe-height-#{td_product['y']*2} #{ td_product['class'] }"> </td> </tr> -->
<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> <tr>
<td> <td>
<t t-foreach="bins" t-as="tr_product"> <t t-foreach="bins" t-as="tr_product">
<t t-foreach="tr_product" t-as="td_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" /> <p class="p_Count" style="display:none" t-att-data-id="products_count" />
<t t-if="td_product"> <t t-if="td_product">
<t t-set="product" t-value="td_product['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="product-row3" t-att-colspan="td_product['x'] != 1 and td_product['x']"
<div class="oe_product_cart" t-att-data-publish="product.website_published and 'on' or 'off'"> t-att-rowspan="td_product['y'] != 1 and td_product['y']"
<t t-set="product_image_big" t-value="td_product['x']+td_product['y'] &gt; 2" /> t-attf-class="oe_product product_div oe_grid oe-height-#{td_product['y']*2} #{ td_product['class'] }">
<t t-call="website_sale.products_item" /> <div class="oe_product_cart"
</div> t-att-data-publish="product.website_published and 'on' or 'off'">
</div> <t t-set="product_image_big" t-value="td_product['x']+td_product['y'] &gt; 2" />
</t> <t t-call="website_sale.products_item" />
<div t-if="not td_product" class="oe-height-2" /> </div>
</div> </div>
</t> </t>
</t> <div t-if="not td_product" class="oe-height-2" />
</td> </div>
</t>
</t>
</td>
</tr> </tr>
</table> </table>
<t t-if="not bins"> <t t-if="not bins">
@ -221,12 +214,12 @@
<div class="product-image oe_product_image"> <div class="product-image oe_product_image">
<a itemprop="url" <a itemprop="url"
t-att-href="keep('/shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))"> 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" <span itemprop="image" t-field="product.image"
t-options="{'widget': 'image'}" t-att-alt="product.name" /> t-options="{'widget': 'image', 'resize': '600x600', 'zoom': 'image'}" t-att-alt="product.name" />
</a> </a>
<div id="in-wishlist-shop"></div> <div id="in-wishlist-shop"></div>
</div> </div>
<div class="product-des"> <div class="product-des">
<div class="hover-cnt"> <div class="hover-cnt">
<div id="wishlist_shop"></div> <div id="wishlist_shop"></div>
@ -257,162 +250,213 @@
</label> </label>
</h5> </h5>
</div> </div>
<div itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer" class="product_price" t-if="product.product_variant_ids"> <div itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer"
<b> class="product_price" t-if="product.product_variant_ids">
<t t-if="product.website_price_difference and website.get_current_pricelist().discount_policy=='without_discount'"> <b>
<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
</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;"
<span t-esc="product.website_price" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/> t-esc="compute_currency(product.website_public_price)"
<span itemprop="price" style="display:none;" t-esc="product.website_price"/> t-options="{'widget': 'monetary', 'display_currency': website.get_current_pricelist().currency_id, 'from_currency': website.currency_id}" />
<span itemprop="priceCurrency" style="display:none;" t-esc="website.currency_id.name"/> </t>
</b>
</div> <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> </div>
</section> </section>
</div> </div>
</form> </form>
</xpath> </xpath>
</template> </template>
<!-- Category Grid Before --> <!-- 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"> <xpath expr="//div[@id='products_grid_before']" position="replace">
<div class="main"> <div class="main">
<div class="mCustomScrollbar" id="products_grid_before" <div class="mCustomScrollbar" id="products_grid_before"
data-mcs-theme="dark"> data-mcs-theme="dark">
<div class="products_grid_before_maxW"> <ul></ul>
<span class="mobile-view-filter-close-btn">X</span> <div class="clarico_shop_catg">
<h4 class="category">Product Category</h4>
<a class="apply-filter">View Filter</a>
<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> </div>
</div> </div>
</xpath> </xpath>
<xpath expr="//div[@id='products_grid']" position="attributes"> <xpath expr="//div[@id='products_grid']" position="attributes">
<attribute name="class">products-grid-main</attribute> <attribute name="class">products-grid-main</attribute>
</xpath> </xpath>
</template> </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"> <template id="clarico_shop_collapse_categories" inherit_id="website_sale.option_collapse_products_categories">
<xpath expr="//div[hasclass('all-category-div')/ul" position="replace"> <xpath expr="//ul[@id='o_shop_collapse_category']" position="replace">
<ul class="nav nav-pills nav-stacked mt16" id="o_shop_collapse_category">
<li t-att-class=" '' if category else 'active' "> </xpath>
<a t-att-href="keep('/shop',category=0)" class="o_not_editable">All Products</a> </template>
</li>
<t t-foreach="categories" t-as="categ">
<t t-call="website_sale.option_collapse_categories_recursive" /> <!-- Sort By -->
</t> <template id="clarico_shop_sort" inherit_id="website_sale.sort">
</ul> <xpath expr="//div[hasclass('dropdown_sorty_by')]" position="replace">
</xpath> </xpath>
</template> </template>
<!-- Sort By --> <!-- product attributes filter -->
<template id="clarico_shop_sort" inherit_id="website_sale.sort">
<xpath expr="//div[hasclass('dropdown_sorty_by')]" <template id="website_sale.products_attributes" inherit_id="website_sale.products_categories"
position="replace"> active="False" customize_show="True" name="Product Attribute's Filters">
</xpath> <xpath expr="//div[hasclass('clarico_shop_attribute_filter')]"
</template> 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> </odoo>

View File

@ -5,6 +5,7 @@ $(document).ready(function(){
$("div").find(".main").addClass("main_left"); $("div").find(".main").addClass("main_left");
$("div").find("#products_grid").addClass("main_left_grid"); $("div").find("#products_grid").addClass("main_left_grid");
$("div").find(".right-cnt-maxW").addClass("right-cnt-maxW_left"); $("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"); //$("div").find(".products-grid-main").removeClass("main_left_grid");
$(".menu-filter").unbind("click"); $(".menu-filter").unbind("click");
$('.menu-filter').css("display","none"); $('.menu-filter').css("display","none");

View File

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

View File

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

View File

@ -88,4 +88,10 @@
.size(12px); .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> <attribute name="class">btn-link reset_pw_main</attribute>
</xpath> </xpath>
<xpath expr="//a[@t-if='signup_enabled']" position="replace"> <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>
<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> </template>
</odoo> </odoo>

View File

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

View File

@ -18,7 +18,7 @@
<div class="clearfix oe_login_buttons c_signup_link_btn"> <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> <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 Login
</a> </a>
</div> </div>
@ -67,7 +67,7 @@
<button type="submit" class="btn pull-left reset_submit_btn">Confirm</button> <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="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() }}" <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> </div>
</xpath> </xpath>
</template> </template>

View File

@ -31,7 +31,7 @@
<div class="similar_product_main"> <div class="similar_product_main">
<t t-if="product"> <t t-if="product">
<div class="similar_main"> <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> <h4>
<a class="similar_main_product_name" t-field="product.name"></a> <a class="similar_main_product_name" t-field="product.name"></a>
</h4> </h4>
@ -43,7 +43,7 @@
<t t-foreach="product.alternative_product_ids" t-as="alt_product"> <t t-foreach="product.alternative_product_ids" t-as="alt_product">
<div class="similar_product_div"> <div class="similar_product_div">
<a t-attf-href="/shop/product/#{ slug(alt_product) }"> <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> </a>
<div class="similar_product_details"> <div class="similar_product_details">
<div class="similar_product_name"> <div class="similar_product_name">

View File

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

View File

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

View File

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

View File

@ -12,7 +12,7 @@
<section> <section>
<div class="slider_section"> <div class="slider_section">
<div id="slider_wrapper_wo" class="slider_wrapper_wo"> <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 --> <!-- Indicators -->
<ol class="carousel-indicators hidden"> <ol class="carousel-indicators hidden">
@ -49,4 +49,4 @@
</div> </div>
</section> </section>
</template> </template>
</odoo> </odoo>

View File

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

View File

@ -168,4 +168,7 @@ color: #717171;
color: @theme-color !important; 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="popover_each_product_div">
<div class="product_img_popover"> <div class="product_img_popover">
<a t-att-href="'/shop/product/%s' %slug(p.product_id)"> <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> </a>
</div> </div>
<div class="name_price_comb_popover"> <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", request.env['ir.config_parameter'].sudo().set_param("customize_theme.theme_color",
repr(theme_color)) repr(theme_color))
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
path = path + "/static/src/less/custom_color.less" # path = path + "/static/src/less/custom_color.less"
#
#...write file # #...write file
f = open(path, "w") # f = open(path, "w")
f.write("@theme-color:"+theme_color+';') # f.write("@theme-color:"+theme_color+';')
f.close() # f.close()
@http.route('/theme_color_store', type='json', auth="user", website=True) @http.route('/theme_color_store', type='json', auth="user", website=True)
def color_store(self, theme_color=False, **kw): 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; padding:10px 0;
} }
.ftr_language
{
#products li >a
{
.muli-light();
line-height: 180%;
.size(13px);
}
}
.company_info_section_main .company_info_section_main
{ {
.common-div; .common-div;

View File

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

View File

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

View File

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

View File

@ -55,13 +55,13 @@
} }
} }
.header-stick #top_menu ul.dropdown-menu { .header-stick #top_menu ul.dropdown-menu {
top: 88% !important; // top: 88% !important;
} }
.header-stick #top_menu ul.dropdown-menu { .header-stick #top_menu ul.dropdown-menu {
top: 93% !important; // top: 93% !important;
} }
.header-stick .custom-menu-inside-div { .header-stick .custom-menu-inside-div {
top: 93% !important; // top: 93% !important;
} }
.header-stick .navbar-nav > li.active > a span { .header-stick .navbar-nav > li.active > a span {
color: #fff !important; color: #fff !important;
@ -316,6 +316,20 @@ ul#top_menu
{ {
display:block !important; 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) @media (max-width:1100px)

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,7 @@
# Views # Views
'data': [ 'data': [
'template/style_2.xml', 'template/style_2.xml',
'template/timer.xml',
'template/assets.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 self = this;
var date = self.$target.data("date"); var date = self.$target.data("date");
console.log("target date =="+date) console.log("target date =="+date)
ajax.jsonRpc("/timer/render", 'call') if(date != "nan")
.then(function(objects) {
$(objects).appendTo(self.$target);
// july 29, 2018 7:30:00
if(date != "nan")
{ {
var countDownDate = new Date(date).getTime(); var countDownDate = new Date(date).getTime();
var x = setInterval(function() { var x = setInterval(function() {
@ -75,24 +71,16 @@ odoo.define('theme_clarico.front_js',function(require){
if(self.$target.find(".snippet_right_timer_div")) if(self.$target.find(".snippet_right_timer_div"))
{ {
self.$target.find(".snippet_right_timer_div").css("display","block") 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>";
// Output the result in an element with id="date_timer"
self.$target.find("#days").html(days); self.$target.find(".snippet_right_timer_div").css("display","block")
self.$target.find("#d_lbl").html("days"); self.$target.append(append_data)
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");
} }
}, 1000); }, 1000);
} }
})
} }
}); });
}); });

View File

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

View File

@ -10,24 +10,7 @@
</template> </template>
<template id="snippet_style_2_body" name="Timer"> <template id="snippet_style_2_body" name="Timer">
<section class="snippet_design"> <section class="snippet_design">
<div class="js_timer" data-date="nan" contentEditable="false" <section class="left_container_parent">
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="snippet_left_container"> <section class="snippet_left_container">
<section class="snippet_left_content"> <section class="snippet_left_content">
<h3 class="chs_heading">Furniture Interior</h3> <h3 class="chs_heading">Furniture Interior</h3>
@ -36,29 +19,7 @@
sofa sections. sofa sections.
</p> </p>
<a class="shop_now_button" href="#">Shop now</a> <a class="shop_now_button" href="#">Shop now</a>
</section> <div class="js_timer_div"> </div>
<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>
</section> </section>
</section> </section>
</section> </section>
@ -70,10 +31,7 @@
<span>off</span> <span>off</span>
</section> </section>
</section> </section>
</section>
</section> </section>
</template> </template>
</odoo> </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 # Theme information
'name': 'Theme Clarico', 'name': 'Theme Clarico',
'category': 'Theme/eCommerce', 'category': 'Theme/eCommerce',
'version': '11.0.2.9', 'version': '11.0.2.15',
'summary': 'Fully Responsive Odoo Theme suitable to both Services & eCommerce Businesses', 'summary': 'Fully Responsive Odoo Theme suitable to both Services & eCommerce Businesses',
'description': """.""", 'description': """.""",
'license': 'OPL-1', 'license': 'OPL-1',
@ -10,33 +10,35 @@
# Dependencies # Dependencies
'depends': [ 'depends': [
'website', 'website',
'clarico_attribute_filter', 'clarico_product',
'clarico_latest_blogs', 'clarico_cart'
'clarico_brand', # 'clarico_attribute_filter',
'clarico_category', # 'clarico_latest_blogs',
'clarico_category_attribute', # 'clarico_brand',
'clarico_customize_color', # 'clarico_category',
'clarico_404', # 'clarico_category_attribute',
'clarico_recently_viewed', # 'clarico_customize_color',
'clarico_contact', # 'clarico_404',
'clarico_layout2', # 'clarico_recently_viewed',
'clarico_reset_password', # 'clarico_contact',
'clarico_shop_left_sidebar', # 'clarico_layout2',
'clarico_shop_list', # 'clarico_reset_password',
'clarico_shop_right_sidebar', # 'clarico_shop_left_sidebar',
'clarico_signin', # 'clarico_shop_list',
'clarico_signup', # 'clarico_shop_right_sidebar',
'clarico_product_carousel_wishlist', # 'clarico_signin',
'clarico_quick_view_compare', # 'clarico_signup',
'clarico_quick_view_wishlist', # 'clarico_product_carousel_wishlist',
'clarico_quick_view_carousel', # 'clarico_quick_view_compare',
'clarico_pricefilter', # 'clarico_quick_view_wishlist',
'customize_theme', # 'clarico_quick_view_carousel',
'clarico_compare_wishlist', # 'clarico_pricefilter',
'clarico_rating', # 'customize_theme',
'clarico_category_description', # 'clarico_compare_wishlist',
'clarico_similar_product', # 'clarico_rating',
'clarico_business_carousel', # 'clarico_category_description',
# 'clarico_similar_product',
# 'clarico_business_carousel',
], ],

View File

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