@ -0,0 +1,48 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg |
||||
|
:target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html |
||||
|
:alt: License: LGPL-3 |
||||
|
|
||||
|
Theme Watchhut |
||||
|
============== |
||||
|
Theme WatchHut is an attractive and modern eCommerce Website theme.The theme is a very user-friendly and is suitable for your |
||||
|
eCommerce website.It is the most powerful, easy to use theme. |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
- www.odoo.com/documentation/15.0/setup/install.html |
||||
|
- Install our custom addon |
||||
|
|
||||
|
License |
||||
|
------- |
||||
|
General Public License, Version 3 (LGPL v3). |
||||
|
(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) |
||||
|
|
||||
|
Company |
||||
|
------- |
||||
|
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ |
||||
|
|
||||
|
Credits |
||||
|
------- |
||||
|
* Developers:(V15) - Rahul Rajeev , Jumana Jabin MP ,Contact: odoo@cybrosys.com |
||||
|
|
||||
|
Contacts |
||||
|
-------- |
||||
|
* Mail Contact : odoo@cybrosys.com |
||||
|
* Website : https://cybrosys.com |
||||
|
|
||||
|
Bug Tracker |
||||
|
----------- |
||||
|
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
||||
|
|
||||
|
Maintainer |
||||
|
========== |
||||
|
.. image:: https://cybrosys.com/images/logo.png |
||||
|
:target: https://cybrosys.com |
||||
|
|
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
|
||||
|
For support and more information, please visit https://www.cybrosys.com |
||||
|
|
||||
|
Further information |
||||
|
=================== |
||||
|
HTML Description: `<static/description/index.html>`__ |
@ -0,0 +1,22 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from . import models |
@ -0,0 +1,64 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
{ |
||||
|
'name': 'Theme WatchHut', |
||||
|
'version': '15.0.1.0.0', |
||||
|
'category': 'Theme/eCommerce', |
||||
|
'summary': 'Theme WatchHut is an attractive and modern eCommerce Website' |
||||
|
' theme', |
||||
|
'description': """Theme WatchHut is an attractive and modern eCommerce |
||||
|
Website theme.The theme is a very user-friendly and is suitable for your |
||||
|
eCommerce website.It is the most powerful, easy to use theme""", |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'maintainer': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'depends': ['website_sale'], |
||||
|
'data': [ |
||||
|
'views/website_layout.xml', |
||||
|
'views/contact_us_templates.xml', |
||||
|
'views/footer_templates.xml', |
||||
|
'views/header_templates.xml', |
||||
|
'views/products_templates.xml', |
||||
|
'views/snippets/gallery_templates.xml', |
||||
|
'views/snippets/heading_templates.xml', |
||||
|
'views/snippets/shop_button_templates.xml', |
||||
|
], |
||||
|
'assets': { |
||||
|
'web.assets_frontend': [ |
||||
|
'/theme_watchhut/static/src/css/style.css', |
||||
|
'/theme_watchhut/static/src/css/font-awesome.min.css', |
||||
|
'/theme_watchhut/static/src/js/theme_watchhut.js', |
||||
|
'/theme_watchhut/static/src/js/theme_watchhut_shop.js', |
||||
|
'https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap', |
||||
|
'https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&display=swap', |
||||
|
] |
||||
|
}, |
||||
|
'images': [ |
||||
|
'static/description/banner.png', |
||||
|
'static/description/theme_screenshot.png', |
||||
|
], |
||||
|
'license': 'LGPL-3', |
||||
|
'installable': True, |
||||
|
'auto_install': False, |
||||
|
'application': False, |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
## Module <theme_watchhut> |
||||
|
|
||||
|
#### 31.08.2023 |
||||
|
#### Version 15.0.1.0.0 |
||||
|
#### ADD |
||||
|
- Initial commit for Theme Watchhut |
@ -0,0 +1,22 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from . import theme_utilis |
@ -0,0 +1,33 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from odoo import models |
||||
|
|
||||
|
|
||||
|
class ThemeUtils(models.AbstractModel): |
||||
|
"""Inheriting model Theme Utils Model""" |
||||
|
_inherit = 'theme.utils' |
||||
|
|
||||
|
def _theme_watchhut_post_copy(self, mod): |
||||
|
""""Used to enable and disable certain views""" |
||||
|
self.enable_view('website.template_header_default') |
||||
|
self.enable_view('website.template_header_default_align_right') |
||||
|
self.disable_view('website.header_call_to_action') |
After Width: | Height: | Size: 372 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 347 KiB |
After Width: | Height: | Size: 259 KiB |
After Width: | Height: | Size: 428 KiB |
After Width: | Height: | Size: 141 KiB |
After Width: | Height: | Size: 337 KiB |
After Width: | Height: | Size: 206 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 279 KiB |
After Width: | Height: | Size: 314 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 383 KiB |
After Width: | Height: | Size: 455 KiB |
After Width: | Height: | Size: 456 KiB |
@ -0,0 +1,313 @@ |
|||||
|
<div class="oe_styling_v8"> |
||||
|
<!-- Hero Section --> |
||||
|
<div class="container pt-4 mt-4 rounded" |
||||
|
style="background-color: #fff; font-family: Montserrat, 'sans-serif';"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12 mb-4"> |
||||
|
<img src="images/Cybrosys.png" alt="Cybrosys Logo" |
||||
|
style="width: 120px; height: auto;"> |
||||
|
<hr style="border-color: #e1e5e9;"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12 text-center"> |
||||
|
<img src="images/hero.png" width=60% height="auto" class="mb-4" |
||||
|
alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-12 text-center"> |
||||
|
<h1 class="mt-4">Theme WatchHut</h1> |
||||
|
<p class="lead mb-4" style="max-width: 700px; margin: 0 auto;"> |
||||
|
Theme WatchHut is a new kind of Theme. The theme is a very |
||||
|
user-friendly and is suitable for your eCommerce website. |
||||
|
It is the most powerful, easy to use theme. |
||||
|
It is a fully Responsive Theme with a premium design and |
||||
|
attractive front-end theme. |
||||
|
This theme is a perfect choice for your online store you |
||||
|
are looking for. |
||||
|
The custom designed gallery snippet and shop view |
||||
|
facilitates to add better user experience. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<!-- End of Hero Section --> |
||||
|
|
||||
|
<!-- Alternate Section --> |
||||
|
<div class="row p-4"> |
||||
|
<div class="col-lg-6 px-4" style="margin-top: 100px;"> |
||||
|
<h2>Desktop View</h2> |
||||
|
<p class="lead"> |
||||
|
It is easy to customize and use. Just drag and drop the |
||||
|
building blocks to make attractive |
||||
|
webpages. |
||||
|
</p> |
||||
|
</div> |
||||
|
<div class="col-lg-6 px-4"> |
||||
|
<img style="border-radius: 0.5em;" |
||||
|
src="images/laptop-screenshots.jpg" width="90%" |
||||
|
height="auto" |
||||
|
class="mb-4 shadow-sm" alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="row p-4"> |
||||
|
<div class="col-lg-6 px-4"> |
||||
|
<img style="border-radius: 0.5em;" |
||||
|
src="images/phone-screenshots.jpg" width="90%" |
||||
|
height="auto" |
||||
|
class="mb-4 shadow-sm" alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-6 px-4" style="margin-top: 100px;"> |
||||
|
<h2>Mobile View</h2> |
||||
|
<p class="lead"> |
||||
|
User-friendly and modern looking theme makes your page more |
||||
|
Stylish And Beautiful. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of Alternate Section --> |
||||
|
|
||||
|
<!-- Two Columns Section --> |
||||
|
<div class="row p-4"> |
||||
|
<!-- Column 1 --> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<img style="border-radius: 0.5em;" src="images/1.jpg" |
||||
|
width="100%" height="auto" |
||||
|
class="mb-4 shadow-sm" alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-12 mt-4"> |
||||
|
<h2 class="text-center">Home Page</h2> |
||||
|
<p class="lead text-center"> |
||||
|
It is easy to customize and use. Just drag and drop |
||||
|
the building blocks to make |
||||
|
attractive |
||||
|
webpages.Customizable building blocks in home page |
||||
|
design helps you to edit them as per |
||||
|
needs. </p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of Column 1 --> |
||||
|
|
||||
|
<!-- Column 2 --> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<img style="border-radius: 0.5em;" src="images/2.jpg" |
||||
|
width="100%" height="auto" |
||||
|
class="mb-4 shadow-sm" alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-12 mt-4"> |
||||
|
<h2 class="text-center">Product View</h2> |
||||
|
<p class="lead text-center"> |
||||
|
A premium look design for the product preview |
||||
|
section.Fully customized view and Scrollable |
||||
|
multiple images are help to show more about the |
||||
|
product |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of Column 2 --> |
||||
|
</div> |
||||
|
<!-- End of Two Columns Section --> |
||||
|
|
||||
|
|
||||
|
<!-- One Column Section --> |
||||
|
<div class="row p-4"> |
||||
|
<div class="col-lg-6"> |
||||
|
<img style="border-radius: 0.5em;" src="images/3.jpg" |
||||
|
width="90%" height="auto" class="mb-4 shadow-sm" |
||||
|
alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-6" style="padding-top: 100px;"> |
||||
|
<h2>Overview</h2> |
||||
|
<p class="lead"> |
||||
|
It is an attractive and modern eCommerce Website theme. It |
||||
|
makes your eCommerce website is attractive. Just drag & drop |
||||
|
the building blocks you need to easily build your |
||||
|
layout.Theme WatchHut is a perfect choice for your online |
||||
|
store you are looking for. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of One Columns Section --> |
||||
|
|
||||
|
|
||||
|
<!-- Two Columns Section --> |
||||
|
<div class="row p-4"> |
||||
|
<!-- Column 1 --> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<img style="border-radius: 0.5em;" src="images/1.jpg" |
||||
|
width="100%" height="auto" |
||||
|
class="mb-4 shadow-sm" alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-12 mt-4"> |
||||
|
<h2 class="text-center">Contact us</h2> |
||||
|
<p class="lead text-center"> |
||||
|
In the customized Contact us page the company |
||||
|
details will show, and it will help to your customer |
||||
|
to reach you in simple way. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of Column 1 --> |
||||
|
|
||||
|
<!-- Column 2 --> |
||||
|
<div class="col-lg-6"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<img style="border-radius: 0.5em;" src="images/2.jpg" |
||||
|
width="100%" height="auto" |
||||
|
class="mb-4 shadow-sm" alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-12 mt-4"> |
||||
|
<h2 class="text-center">Shop</h2> |
||||
|
<p class="lead text-center"> |
||||
|
The shop display your products in a stylish way. It's |
||||
|
displaying 3 products in a row, and it will attract |
||||
|
your customers. Display high quality images for |
||||
|
your products |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of Column 2 --> |
||||
|
<!-- Column 4 --> |
||||
|
<div class="col-lg-4"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12"> |
||||
|
<img style="border-radius: 0.5em;" src="images/6.jpg" |
||||
|
width="100%" height="auto" |
||||
|
class="mb-4 shadow-sm" alt="Theme Screenshot"> |
||||
|
</div> |
||||
|
<div class="col-lg-12 mt-4"> |
||||
|
<h2 class="text-center">About</h2> |
||||
|
<p class="lead text-center"> |
||||
|
The About page of your company is presented to your |
||||
|
user for knowing a detailed explanation of your |
||||
|
company. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of Column 4 --> |
||||
|
</div> |
||||
|
<!-- End of Two Columns Section --> |
||||
|
|
||||
|
<!-- Demo Pages --> |
||||
|
<section class="oe_container"> |
||||
|
<div class="row" style="margin: 60px auto -30px;"> |
||||
|
<div class="col-lg-12 text-center"> |
||||
|
<h4 class="mt-4">Demo Pages</h4> |
||||
|
<hr style="border-width: 3px; border-color: #0984e3; width: 100px;"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="row" |
||||
|
style="margin: 40px auto; border-radius: 15px; padding: 38px;"> |
||||
|
<div class="col-sm-6 col-md-4 px-2"> |
||||
|
<div class="bg-white shadow overflow-hidden mb32" |
||||
|
style="border-radius: 15px; width: 300px; padding-bottom: 0; margin-right: 30px;"> |
||||
|
<img src="./images/demo-1.jpg" width="300px" |
||||
|
height="auto"> |
||||
|
<h6 class="text-center my-3">Home</h6> |
||||
|
<hr style="border-width: 5px; border-color: #0984e3; width: 150px; margin-bottom: 0;"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-sm-6 col-md-4 px-2"> |
||||
|
<div class="bg-white shadow overflow-hidden mb32" |
||||
|
style="border-radius: 15px; width: 300px; padding-bottom: 0;"> |
||||
|
<img src="./images/demo-2.jpg" width="300px" |
||||
|
height="auto"> |
||||
|
<h6 class="text-center my-3">Shop</h6> |
||||
|
<hr style="border-width: 5px; border-color: #05c46b; width: 150px; margin-bottom: 0;"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="col-sm-6 col-md-4 px-2"> |
||||
|
<div class="bg-white shadow overflow-hidden mb32" |
||||
|
style="border-radius: 15px; width: 300px; padding-bottom: 0;"> |
||||
|
<img src="./images/demo-3.jpg" width="300px" |
||||
|
height="auto"> |
||||
|
<h6 class="text-center my-3">Product Preview</h6> |
||||
|
<hr style="border-width: 5px; border-color: #f44f52; width: 150px; margin-bottom: 0;"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- End of Demo Pages --> |
||||
|
|
||||
|
<!-- Footer --> |
||||
|
<div class="row" style="margin-top: 4rem;"> |
||||
|
<div class="col-lg-12 text-center"> |
||||
|
<h2>Get Help</h2> |
||||
|
<hr style=" border: 2px solid #b22126; margin-top: 2px;" |
||||
|
width="40px"> |
||||
|
<p class="text-center" |
||||
|
style="max-width: 650px; margin: 0 auto;">If you have |
||||
|
anything to share with |
||||
|
us |
||||
|
based |
||||
|
on |
||||
|
your use of this module, please let us know. We are ready |
||||
|
to offer our support.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="row"> |
||||
|
<div class="col px-4 pt-3 pb-2 shadow-sm" |
||||
|
style="background-color: #fff; max-width: 450px; border-radius: 0.5em; margin: 1em auto;"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8"> |
||||
|
<h6><a href="mailto:odoo@cybrosys.com" target="_blank" |
||||
|
style="color: #050505; text-decoration: none;"><i |
||||
|
class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a> |
||||
|
</h6> |
||||
|
</div> |
||||
|
<div class="col-lg-4 d-flex justify-content-end" |
||||
|
style="position: relative;"> |
||||
|
<h6><a href="mailto:odoo@cybrosys.com" target="_blank" |
||||
|
style="color: #050505; text-decoration: none;"><i |
||||
|
class="fa fa-chevron-right"></i></a> |
||||
|
</h6> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="row"> |
||||
|
<div class="col px-4 pt-3 pb-2 shadow-sm" |
||||
|
style="background-color: #fff; max-width: 450px; border-radius: 0.5em; margin: 1em auto;"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8"> |
||||
|
<h6><a href="https://www.cybrosys.com" target="_blank" |
||||
|
style="color: #050505; text-decoration: none;"><i |
||||
|
class="fa fa-globe mr-2"></i>www.cybrosys.com</a> |
||||
|
</h6> |
||||
|
</div> |
||||
|
<div class="col-lg-4 d-flex justify-content-end" |
||||
|
style="position: relative;"> |
||||
|
<h6><a href="https://www.cybrosys.com" target="_blank" |
||||
|
style="color: #050505; text-decoration: none;"><i |
||||
|
class="fa fa-chevron-right"></i></a> |
||||
|
</h6> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-12 mt-4 mb-2 text-center"> |
||||
|
<p style="font-weight: bold">A Quality Theme From</p> |
||||
|
</div> |
||||
|
<div class="col-lg-12 text-center"> |
||||
|
<img src="images/cybro-logo-oca.png" width="80px" |
||||
|
height="auto"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- End of Footer --> |
||||
|
</div> |
||||
|
</div> |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 271 KiB |
After Width: | Height: | Size: 434 KiB |
After Width: | Height: | Size: 174 KiB |
After Width: | Height: | Size: 350 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 148 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 161 KiB |
After Width: | Height: | Size: 678 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 259 KiB |
After Width: | Height: | Size: 286 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 153 KiB |
After Width: | Height: | Size: 108 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 338 KiB |
After Width: | Height: | Size: 197 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 231 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 137 KiB |
After Width: | Height: | Size: 188 KiB |
After Width: | Height: | Size: 440 KiB |
After Width: | Height: | Size: 170 KiB |
After Width: | Height: | Size: 231 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.0 KiB |
@ -0,0 +1,106 @@ |
|||||
|
odoo.define('theme_watchhut.theme_watchhut', function (require) { |
||||
|
"use strict"; |
||||
|
$(window).scroll(function(){ |
||||
|
$(".banner").css("opacity", 1 - $(window).scrollTop() / 250); |
||||
|
}); |
||||
|
/** |
||||
|
* Handles the banner opacity change as the user scrolls. |
||||
|
*/ |
||||
|
// Detect request animation frame
|
||||
|
var scroll = window.requestAnimationFrame || |
||||
|
// IE Fallback
|
||||
|
function (callback) { window.setTimeout(callback, 1000 / 90) }; |
||||
|
var elementsToShow = document.querySelectorAll('.show-on-scroll'); |
||||
|
/** |
||||
|
* Handles the visibility of elements as the user scrolls. |
||||
|
*/ |
||||
|
function loop() { |
||||
|
Array.prototype.forEach.call(elementsToShow, function (element) { |
||||
|
if (isElementInViewport(element)) { |
||||
|
element.classList.add('is-visible'); |
||||
|
} else { |
||||
|
element.classList.remove('is-visible'); |
||||
|
} |
||||
|
}); |
||||
|
scroll(loop); |
||||
|
/** |
||||
|
* Checks if an element is within the viewport. |
||||
|
* @param {HTMLElement} el - The HTML element to check. |
||||
|
* @returns {boolean} True if the element is in the viewport, false otherwise. |
||||
|
*/ |
||||
|
} |
||||
|
// Call the loop for the first time
|
||||
|
loop(); |
||||
|
// Helper function from: http://stackoverflow.com/a/7557433/274826
|
||||
|
function isElementInViewport(el) { |
||||
|
// special bonus for those using jQuery
|
||||
|
if (typeof jQuery === "function" && el instanceof jQuery) { |
||||
|
el = el[0]; |
||||
|
} |
||||
|
var rect = el.getBoundingClientRect(); |
||||
|
return ( |
||||
|
(rect.top <= 0 |
||||
|
&& rect.bottom >= 0) |
||||
|
|| |
||||
|
(rect.bottom >= (window.innerHeight || document.documentElement.clientHeight) && |
||||
|
rect.top <= (window.innerHeight || document.documentElement.clientHeight)) |
||||
|
|| |
||||
|
(rect.top >= 0 && |
||||
|
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)) |
||||
|
); |
||||
|
} |
||||
|
/** |
||||
|
* Handles filtering of items on button click. |
||||
|
*/ |
||||
|
$(document).ready(function () { |
||||
|
$(".filter-button").click(function () { |
||||
|
var value = $(this).attr('data-filter'); |
||||
|
if (value == "all") { |
||||
|
$('.filter').show('1000'); |
||||
|
} |
||||
|
else { |
||||
|
$(".filter").not('.' + value).hide('3000'); |
||||
|
$('.filter').filter('.' + value).show('3000'); |
||||
|
} |
||||
|
}); |
||||
|
if ($(".filter-button").removeClass("active")) { |
||||
|
$(this).removeClass("active"); |
||||
|
} |
||||
|
$(this).addClass("active"); |
||||
|
}); |
||||
|
/** |
||||
|
* Sets opacity for certain banners on scroll. |
||||
|
*/ |
||||
|
$(window).scroll(function(){ |
||||
|
$(".banner_about, .banner_contact").css("opacity", 1 - $(window).scrollTop() / 250); |
||||
|
}); |
||||
|
$(window).scroll(function () { |
||||
|
$(".banner_contact").css("opacity", 1 - $(window).scrollTop() / 250); |
||||
|
}); |
||||
|
/** |
||||
|
* Handles quantity increase and decrease functionality. |
||||
|
*/ |
||||
|
$(document).ready(function(){ |
||||
|
var quantitiy=0; |
||||
|
$('.quantity-right-plus').click(function(e){ |
||||
|
// Stop acting like a button
|
||||
|
e.preventDefault(); |
||||
|
// Get the field name
|
||||
|
var quantity = parseInt($('#quantity').val()); |
||||
|
// If is not undefined
|
||||
|
$('#quantity').val(quantity + 1); |
||||
|
// Increment
|
||||
|
}); |
||||
|
$('.quantity-left-minus').click(function(e){ |
||||
|
// Stop acting like a button
|
||||
|
e.preventDefault(); |
||||
|
// Get the field name
|
||||
|
var quantity = parseInt($('#quantity').val()); |
||||
|
// If is not undefined
|
||||
|
// Increment
|
||||
|
if(quantity>0){ |
||||
|
$('#quantity').val(quantity - 1); |
||||
|
} |
||||
|
}); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,15 @@ |
|||||
|
odoo.define('theme_watchhut.theme_watchhut_shop', function (require) { |
||||
|
"use strict"; |
||||
|
/** |
||||
|
* Handles the hover effect on the "test" element. |
||||
|
*/ |
||||
|
$(".test").hover(function () { |
||||
|
$(this).attr("src", "/theme_watchhut/static/src/images/product/1-1.jpg"); |
||||
|
}, |
||||
|
/** |
||||
|
* Mouse enter handler: Changes the image source on hover. |
||||
|
*/ |
||||
|
function () { |
||||
|
$(this).attr("src", "/theme_watchhut/static/src/images/product/1.jpg"); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,170 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<template id="watchhut_contact_us" name="WatchHut Contact Us" |
||||
|
inherit_id="website.contactus"> |
||||
|
<!-- The template "WatchHut Contact Us" is an extension of the "website.contactus" template --> |
||||
|
<!-- in an Odoo website. It replaces a section of the original template with a new section --> |
||||
|
<!-- containing a form and social media links for contacting the website's company.--> |
||||
|
<xpath expr="//div[@id='wrap']" position="replace"> |
||||
|
<section class="banner_contact"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<h3 class="banner_head"> |
||||
|
Contact |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<section class="contact"> |
||||
|
<div class="container"> |
||||
|
<div class="contact_contents"> |
||||
|
<div class="row"> |
||||
|
<div class="col-12"> |
||||
|
<div class="email_c"> |
||||
|
<a t-attf-href="mailto:{{ res_company.email }}"> |
||||
|
<span t-esc="res_company.email"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<div class="tel_c"> |
||||
|
<a t-attf-href="tel:{{ res_company.phone }}"> |
||||
|
<span t-esc="res_company.phone"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<a href="#"> |
||||
|
<span class="fa fa-instagram"/> |
||||
|
</a> |
||||
|
</li> |
||||
|
<li> |
||||
|
<a href="#"> |
||||
|
<span class="fa fa-facebook"/> |
||||
|
</a> |
||||
|
</li> |
||||
|
<li> |
||||
|
<a href="#"> |
||||
|
<span class="fa fa-twitter"/> |
||||
|
</a> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
<section class="s_website_form" data-vcss="001" |
||||
|
data-snippet="s_website_form"> |
||||
|
<span class="hidden" data-for="contactus_form" |
||||
|
t-att-data-values="{'email_to': res_company.email}"/> |
||||
|
<form id="contactus_form" |
||||
|
action="/website/form/" method="post" |
||||
|
enctype="multipart/form-data" |
||||
|
class="o_mark_required" data-mark="*" |
||||
|
data-model_name="mail.mail" |
||||
|
data-success-mode="redirect" |
||||
|
data-success-page="/contactus-thank-you" |
||||
|
data-pre-fill="true"> |
||||
|
<div class=" row "> |
||||
|
<div class="col-lg-8 col-12"> |
||||
|
<div class="form-group form-field" |
||||
|
data-type="char" |
||||
|
data-name="Field"> |
||||
|
<label for="Name">Name</label> |
||||
|
<input id="contact1" type="text" |
||||
|
class="form-control o_website_form_input" |
||||
|
name="Name" required=""/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-8 col-12"> |
||||
|
<div class="form-group form-field" |
||||
|
data-type="char" |
||||
|
data-name="Field"> |
||||
|
<label for="Phone">Phone</label> |
||||
|
<input id="contact2" type="tel" |
||||
|
class="form-control o_website_form_input" |
||||
|
name="Phone"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-8 col-12"> |
||||
|
<div class="form-group form-field" |
||||
|
data-type="email" |
||||
|
data-name="Field"> |
||||
|
<label for="email_from">Email |
||||
|
</label> |
||||
|
<input id="contact3" |
||||
|
type="email" |
||||
|
class="form-control o_website_form_input" |
||||
|
name="email_from" |
||||
|
required=""/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-8 col-12"> |
||||
|
<div class="form-group form-field" |
||||
|
data-type="char" |
||||
|
data-name="Field"> |
||||
|
<label for="Partner Name"> |
||||
|
Company |
||||
|
</label> |
||||
|
<input id="contact4" type="text" |
||||
|
class="form-control o_website_form_input" |
||||
|
name="Partner Name"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-8 col-12"> |
||||
|
<div class="form-group form-field" |
||||
|
data-type="char" |
||||
|
data-name="Field"> |
||||
|
<label for="subject">Subject |
||||
|
</label> |
||||
|
<input id="contact5" type="text" |
||||
|
class="form-control o_website_form_input" |
||||
|
name="subject" |
||||
|
required=""/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-8 col-12"> |
||||
|
<div class="form-group form-field" |
||||
|
data-type="text" |
||||
|
data-name="Field"> |
||||
|
<label for="Description"> |
||||
|
Message* |
||||
|
</label> |
||||
|
<textarea id="contact6" cols="" |
||||
|
rows="10" |
||||
|
class="o_website_form_input" |
||||
|
style="width: 100%;" |
||||
|
name="Description" |
||||
|
required=""/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="form-group col-12 s_website_form_field s_website_form_dnone"> |
||||
|
<div class="row s_col_no_resize s_col_no_bgcolor"> |
||||
|
<label class="col-form-label col-sm-auto s_website_form_label" |
||||
|
style="width: 200px" |
||||
|
for="contact7"> |
||||
|
<span class="s_website_form_label_content"> |
||||
|
Email To |
||||
|
</span> |
||||
|
</label> |
||||
|
<div class="col-sm"> |
||||
|
<input id="contact7" |
||||
|
type="hidden" |
||||
|
class="form-control s_website_form_input" |
||||
|
name="email_to"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="form-group s_website_form_submit" |
||||
|
data-name="Submit Button"> |
||||
|
<a href="#" role="button" |
||||
|
class="btn btn-submit o_website_form_send"> |
||||
|
Submit |
||||
|
</a> |
||||
|
<span id="o_website_form_result"/> |
||||
|
</div> |
||||
|
</form> |
||||
|
</section> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
</odoo> |
@ -0,0 +1,62 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<template id="theme_watchhut_footer" inherit_id="website.layout" |
||||
|
name="WatchHut Footer"> |
||||
|
<xpath expr="//div[@id='footer']" position="replace"> |
||||
|
<!-- Section footer starts here --> |
||||
|
<section class="footer"> |
||||
|
<div class="container-fluid p-0"> |
||||
|
<section class="footer_bg"> |
||||
|
</section> |
||||
|
<div class="footer_bottom"> |
||||
|
<h3>Watchhut</h3> |
||||
|
<br/> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<a href="/shop">Shop</a> |
||||
|
</li> |
||||
|
<li> |
||||
|
<a href="/about">About</a> |
||||
|
</li> |
||||
|
<li> |
||||
|
<a href="/contactus">Contact</a> |
||||
|
</li> |
||||
|
</ul> |
||||
|
<p>Copy right © <a href="https://www.cybrosys.com/" |
||||
|
target="_blank">Cybrosys.com |
||||
|
</a> All rights reserved |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- Section footer ends here --> |
||||
|
</xpath> |
||||
|
<!-- Custom Layout--> |
||||
|
<!-- Add an element after the top menu --> |
||||
|
<xpath expr="//div[@id='wrapwrap']/main" position="after"> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"/> |
||||
|
<meta name="viewport" |
||||
|
content="width=device-width, initial-scale=1.0"/> |
||||
|
<title>Watchhut</title> |
||||
|
<link rel="stylesheet" |
||||
|
href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" |
||||
|
integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" |
||||
|
crossorigin="anonymous"/> |
||||
|
<!--Google Font--> |
||||
|
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap" |
||||
|
rel="stylesheet"/> |
||||
|
<link href="https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&display=swap" |
||||
|
rel="stylesheet"/> |
||||
|
</head> |
||||
|
<body> |
||||
|
</body> |
||||
|
<!-- Js --> |
||||
|
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" |
||||
|
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" |
||||
|
crossorigin="anonymous"/> |
||||
|
</html> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
</odoo> |
@ -0,0 +1,64 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<template id="watchhut_header" |
||||
|
inherit_id="website.template_header_default"> |
||||
|
<!-- The "watchhut_header" template is a customized version of the default--> |
||||
|
<!-- website header template ("website.template_header_default") that is --> |
||||
|
<!-- used in the context of the Watch Hut website. The template overrides --> |
||||
|
<!-- a specific section of the default header template using XPath manipulation. --> |
||||
|
<!-- It replaces the user dropdown menu section with a modified version that --> |
||||
|
<!-- includes specific settings for the icon, item class, and link class.--> |
||||
|
<!-- This customization allows for a tailored user dropdown menu in the Watch--> |
||||
|
<!-- Hut website's header, providing a unique user experience.--> |
||||
|
<xpath expr="//t[@t-call='portal.user_dropdown']" |
||||
|
position="replace"> |
||||
|
<t t-call="portal.user_dropdown"> |
||||
|
<t t-set="_icon" t-value="true"/> |
||||
|
<t t-set="_item_class" t-value="'nav-item dropdown'"/> |
||||
|
<t t-set="_link_class" t-value="'nav-link'"/> |
||||
|
</t> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
<template id="watchhut_cart" inherit_id="website_sale.header_cart_link"> |
||||
|
<!-- The "watchhut_cart" template is a customized version of the default header --> |
||||
|
<!-- cart link template ("website_sale.header_cart_link") specifically designed --> |
||||
|
<!-- for the Watch Hut website. It overrides a specific section of the default--> |
||||
|
<!-- template using XPath manipulation. The modified section replaces the HTML--> |
||||
|
<!-- markup for the cart link in the header. It includes an image of a shopping cart,--> |
||||
|
<!-- the text "My Cart" (if specified), and a badge displaying the quantity of items in--> |
||||
|
<!-- the cart. This customization provides a visually enhanced and personalized cart --> |
||||
|
<!-- link in the Watch Hut website's header, tailored to their branding and user experience.--> |
||||
|
<xpath expr="//li[contains(@t-attf-class, 'o_wsale_my_cart')]" |
||||
|
position="replace"> |
||||
|
<li class="o_wsale_my_cart nav-item"> |
||||
|
<a href="/shop/cart" t-attf-class="#{_link_class}"> |
||||
|
<img src="/theme_watchhut/static/src/images/icon/shopping-cart.svg"/> |
||||
|
<span t-if="_text">My Cart</span> |
||||
|
<sup class="my_cart_quantity badge badge-primary" |
||||
|
t-esc="website_sale_order and website_sale_order.cart_quantity or '0'" |
||||
|
t-att-data-order-id="website_sale_order and website_sale_order.id or ''"/> |
||||
|
</a> |
||||
|
</li> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
<template id="watchhut_toggler" inherit_id="website.navbar_toggler"> |
||||
|
<!-- The "watchhut_toggler" template is a customized version of the default navbar--> |
||||
|
<!-- toggler template ("website.navbar_toggler") for the Watch Hut website. It overrides--> |
||||
|
<!-- a specific section of the default template using XPath manipulation. The modified section --> |
||||
|
<!-- replaces the HTML markup for the navbar toggler button. The new button includes three --> |
||||
|
<!-- instances of the "navbar-toggler-icon" span element, which typically represent the --> |
||||
|
<!-- collapsed state of the navigation menu. This customization provides a visually enhanced--> |
||||
|
<!-- and personalized navbar toggler button for the Watch Hut website's navigation menu, --> |
||||
|
<!-- tailored to their branding and user experience.--> |
||||
|
<xpath expr="//button[contains(@t-attf-class, 'navbar-toggler')]" |
||||
|
position="replace"> |
||||
|
<button type="button" |
||||
|
t-attf-class="navbar-toggler collapsed border-0 #{_toggler_class}" |
||||
|
data-toggle="collapse" data-target="#top_menu_collapse"> |
||||
|
<span class="navbar-toggler-icon o_not_editable"/> |
||||
|
<span class="navbar-toggler-icon o_not_editable"/> |
||||
|
<span class="navbar-toggler-icon o_not_editable"/> |
||||
|
</button> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
</odoo> |
@ -0,0 +1,251 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<template id="watchhut_shop" name="WatchHut Shop" |
||||
|
inherit_id="website_sale.products"> |
||||
|
<!-- It replaces the products header section with a custom header that --> |
||||
|
<!-- includes search, price list, pagination, sorting, and filter options.--> |
||||
|
<xpath expr="//div[@id='products_grid']" position="replace"> |
||||
|
<div id="products_grid"> |
||||
|
<section |
||||
|
t-attf-class="product col #{'o_wsale_layout_list' if layout_mode == 'list' else ''}"> |
||||
|
<div class="container-fluid"> |
||||
|
<div class="row list_row"> |
||||
|
<t 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" |
||||
|
t-value="td_product['product']"/> |
||||
|
<div class="col-12 col-sm-6 col-md-4 column all list_column"> |
||||
|
<div class="content"> |
||||
|
<div t-att-data-ribbon-id="td_product['ribbon'].id"> |
||||
|
<div class="test" |
||||
|
id="hh"> |
||||
|
<t t-call="website_sale.products_item"> |
||||
|
</t> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</t> |
||||
|
</t> |
||||
|
</t> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
</div> |
||||
|
</xpath> |
||||
|
<!-- WatchHut Product Pager--> |
||||
|
<!-- The above template adds a product search bar and a price list dropdown --> |
||||
|
<!-- to the product page, along with the standard pager. It also adds --> |
||||
|
<!-- some classes to these elements for styling purposes.--> |
||||
|
<xpath expr="//div[@id='products_grid']" position="before"> |
||||
|
<div class="products_header products_pager form-inline flex-md-nowrap justify-content-end mb-4"> |
||||
|
<t t-call="website_sale.search"> |
||||
|
<t t-set="_classes" |
||||
|
t-valuef="w-100 w-md-auto mr-auto mb-2"/> |
||||
|
<t t-set="search" t-value="original_search or search"/> |
||||
|
</t> |
||||
|
<t t-call="website_sale.pricelist_list"> |
||||
|
<t t-set="_classes" t-valuef="ml-3 mb-2 btn-watchhut"/> |
||||
|
</t> |
||||
|
<t t-call="website.pager"/> |
||||
|
</div> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
<template id="watchhut_shop_images" name="WatchHut Shop Images" |
||||
|
inherit_id="website_sale.products_item"> |
||||
|
<!-- The "watchhut_shop_images" template replaces the product image section --> |
||||
|
<!-- with a new card body element, containing a link to the product and a --> |
||||
|
<!-- hidden input field for the CSRF token. It also uses a new "image_holder" --> |
||||
|
<!-- variable to display the product image using a widget, centered within the card body.--> |
||||
|
<xpath expr="//div[hasclass('oe_product_image')]" |
||||
|
position="replace"> |
||||
|
<div class="card-body p-1 oe_product_image"> |
||||
|
<input type="hidden" name="csrf_token" |
||||
|
t-att-value="request.csrf_token()"/> |
||||
|
<a t-att-href="product_href" class="d-block h-100" |
||||
|
itemprop="url"> |
||||
|
<t t-set="image_holder" |
||||
|
t-value="product._get_image_holder()"/> |
||||
|
<span t-field="image_holder.image_1920" |
||||
|
t-options="{'widget': 'image', 'preview_image': 'image_1920'}" |
||||
|
class="d-flex h-100 justify-content-center align-items-center"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
<template id="watchhut_add_grid_or_list_option" |
||||
|
inherit_id="website_sale.products" |
||||
|
active="True" customize_show="True" |
||||
|
name="Watchhut Grid or List button"> |
||||
|
<!-- This is a template that adds a grid or list option to a product page in the Watchhut theme. It inserts two buttons with icons --> |
||||
|
<!-- that allow the user to switch between a grid and a list layout for displaying the products.--> |
||||
|
<xpath expr="//div[hasclass('products_header')]" |
||||
|
position="after"> |
||||
|
<div class="btn-group btn-group-toggle ml-3 mb-2 d-none d-sm-inline-flex o_wsale_apply_layout btn-secondary" |
||||
|
data-toggle="buttons"> |
||||
|
<label t-attf-class="btn btn-light border-0 #{'active' if layout_mode != 'list' else None} fa fa-th-large o_wsale_apply_grid" |
||||
|
title="Grid"> |
||||
|
<input type="radio" name="wsale_products_layout" |
||||
|
t-att-checked="'checked' if layout_mode != 'list' else None"/> |
||||
|
</label> |
||||
|
<label t-attf-class="btn btn-light border-0 #{'active' if layout_mode == 'list' else None} fa fa-th-list o_wsale_apply_list" |
||||
|
title="List"> |
||||
|
<input type="radio" name="wsale_products_layout" |
||||
|
t-att-checked="'checked' if layout_mode == 'list' else None"/> |
||||
|
</label> |
||||
|
</div> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
<template id="watchhut_product_view" name="WatchHut Product View" |
||||
|
inherit_id="website_sale.product"> |
||||
|
<!-- The "watchhut_product_view" template is a customized version of the default product view --> |
||||
|
<!-- template for the Watch Hut website, featuring modifications to sections and elements to --> |
||||
|
<!-- enhance the display of product information, images, and functionality.--> |
||||
|
<xpath expr="//div[hasclass('justify-content-between')]" |
||||
|
position="replace"/> |
||||
|
<xpath expr="//div[hasclass('row')]" position="before"> |
||||
|
<!-- Add a banner head --> |
||||
|
<section class="banner"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<h3 class="banner_head"> |
||||
|
Preview |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
</xpath> |
||||
|
<xpath expr="//div[hasclass('mt-md-4')]" position="replace"> |
||||
|
<!-- Set product images --> |
||||
|
<section class="preview col-lg-6 col-12"> |
||||
|
<div class="pre_wrapper"> |
||||
|
<div class="row"> |
||||
|
<div class="col-12 mb-4"> |
||||
|
<div class="preview_img"> |
||||
|
<t t-set="product_images" |
||||
|
t-value="product_variant._get_images() if product_variant else product._get_images()"/> |
||||
|
<t t-foreach="product_images" |
||||
|
t-as="product_image"> |
||||
|
<span t-if="product_image" |
||||
|
t-field="product_image.image_1920" |
||||
|
t-options="{'widget': 'image'}"/> |
||||
|
</t> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
</xpath> |
||||
|
<xpath expr="//div[@id='product_details']" position="replace"> |
||||
|
<!-- Call product_price template from website_sale--> |
||||
|
<section class="preview col-lg-6 col-12"> |
||||
|
<div class="preview_left"> |
||||
|
<h2 itemprop="name" t-field="product.name">Product |
||||
|
Name |
||||
|
</h2> |
||||
|
<span itemprop="url" style="display:none;" |
||||
|
t-esc="product.website_url"/> |
||||
|
<p class="price"> |
||||
|
<t t-call="website_sale.product_price"/> |
||||
|
</p> |
||||
|
<p t-field="product.description_sale" class="details" |
||||
|
placeholder="A short description that will also appear on documents."/> |
||||
|
<div id="product_attributes_simple"> |
||||
|
<hr t-if="sum([(1 if len(l.value_ids)==1 else 0) for l in product.attribute_line_ids])"/> |
||||
|
<p class="text-muted"> |
||||
|
<t t-set="single_value_attributes" |
||||
|
t-value="product.valid_product_template_attribute_line_ids._prepare_single_value_for_display()"/> |
||||
|
<t t-foreach="single_value_attributes" |
||||
|
t-as="attribute"> |
||||
|
<span t-field="attribute.name"/>: |
||||
|
<t t-foreach="single_value_attributes[attribute]" |
||||
|
t-as="ptal"> |
||||
|
<span t-field="ptal.product_template_value_ids._only_active().name"/> |
||||
|
<t t-if="not ptal_last">,</t> |
||||
|
</t> |
||||
|
<br/> |
||||
|
</t> |
||||
|
</p> |
||||
|
</div> |
||||
|
<form t-if="product._is_add_to_cart_possible()" |
||||
|
action="/shop/cart/update" method="POST"> |
||||
|
<input type="hidden" name="csrf_token" |
||||
|
t-att-value="request.csrf_token()"/> |
||||
|
<div class="js_product js_main_product"> |
||||
|
<div class="quantity"> |
||||
|
<label for="">Quantity</label> |
||||
|
<div class="css_quantity input-group" |
||||
|
contenteditable="false"> |
||||
|
<div class="input-group-prepend"> |
||||
|
<a t-attf-href="#" |
||||
|
class="btn btn-minus js_add_cart_json" |
||||
|
aria-label="Remove one" |
||||
|
title="Remove one"> |
||||
|
<i class="fa fa-minus"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
<input type="text" |
||||
|
class="form-control input-number" |
||||
|
data-min="1" name="add_qty" |
||||
|
t-att-value="add_qty or 1"/> |
||||
|
<div class="input-group-append"> |
||||
|
<a t-attf-href="#" |
||||
|
class="btn btn-minus float_left js_add_cart_json" |
||||
|
aria-label="Add one" |
||||
|
title="Add one"> |
||||
|
<i class="fa fa-plus"/> |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<t t-placeholder="select"> |
||||
|
<input type="hidden" class="product_id" |
||||
|
name="product_id" |
||||
|
t-att-value="product_variant.id"/> |
||||
|
<input type="hidden" |
||||
|
class="product_template_id" |
||||
|
name="product_template_id" |
||||
|
t-att-value="product.id"/> |
||||
|
<t t-if="combination" |
||||
|
t-call="sale.variants"> |
||||
|
<t t-set="ul_class" |
||||
|
t-value="'flex-column'"/> |
||||
|
<t t-set="parent_combination" |
||||
|
t-value="None"/> |
||||
|
</t> |
||||
|
<t t-else=""> |
||||
|
<ul class="d-none js_add_cart_variants" |
||||
|
t-att-data-attribute_exclusions="{'exclusions: []'}"/> |
||||
|
</t> |
||||
|
</t> |
||||
|
<p t-if="True" |
||||
|
class="css_not_available_msg alert alert-warning"> |
||||
|
This combination does not exist. |
||||
|
</p> |
||||
|
<a role="button" id="add_to_cart" |
||||
|
class="btn btn-add js_check_product a-submit" |
||||
|
href="#">Add to Cart |
||||
|
</a> |
||||
|
<div id="product_option_block"/> |
||||
|
</div> |
||||
|
</form> |
||||
|
<p t-elif="not product.active" |
||||
|
class="alert alert-warning">This product is no longer |
||||
|
available. |
||||
|
</p> |
||||
|
<p t-else="" class="alert alert-warning">This product |
||||
|
has no valid combination. |
||||
|
</p> |
||||
|
</div> |
||||
|
<div id="o_product_terms_and_share" |
||||
|
class="d-flex justify-content-between flex-column flex-md-row align-items-md-end mb-3"> |
||||
|
</div> |
||||
|
</section> |
||||
|
</xpath> |
||||
|
<xpath expr="//a[@t-att-href='keep(category=0)']" |
||||
|
position="replace"> |
||||
|
<a t-att-href="keep(category=0)">Shop</a> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
</odoo> |
@ -0,0 +1,83 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<template id="gallery_banner" inherit_id="website.snippets" |
||||
|
name="Gallery banner"> |
||||
|
<xpath expr="//div[@id='snippet_structure']/div[hasclass('o_panel_body')]" |
||||
|
position="inside"> |
||||
|
<t t-snippet="theme_watchhut.gallery" |
||||
|
t-thumbnail="/theme_watchhut/static/src/images/snippets/gallery.jpg"/> |
||||
|
</xpath> |
||||
|
<!-- Gallery Heading banner--> |
||||
|
<xpath expr="//div[@id='snippet_structure']/div[hasclass('o_panel_body')]" |
||||
|
position="inside"> |
||||
|
<t t-snippet="theme_watchhut.gallery_heading" |
||||
|
t-thumbnail="/theme_watchhut/static/src/images/snippets/heading.jpg"/> |
||||
|
</xpath> |
||||
|
<!-- Shop Button banner--> |
||||
|
<xpath expr="//div[@id='snippet_structure']/div[hasclass('o_panel_body')]" |
||||
|
position="inside"> |
||||
|
<t t-snippet="theme_watchhut.shop_button" |
||||
|
t-thumbnail="/theme_watchhut/static/src/images/snippets/shop_button.jpg"/> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
<template id="gallery" name="Gallery"> |
||||
|
<!-- Section Gallery starts here --> |
||||
|
<section class="gallery"> |
||||
|
<div class="container-fluid"> |
||||
|
<div class="gallery_content"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-6 col-sm-12 col-12"> |
||||
|
<div class="col-12"> |
||||
|
<a href=""> |
||||
|
<div class="wrapper"> |
||||
|
<img src="/theme_watchhut/static/src/images/gallery/1.jpg" |
||||
|
alt="" |
||||
|
class="inline-photo show-on-scroll"/> |
||||
|
</div> |
||||
|
</a> |
||||
|
</div> |
||||
|
<div class="col-12"> |
||||
|
<div class="wrapper"> |
||||
|
<img src="/theme_watchhut/static/src/images/gallery/2.jpg" |
||||
|
alt="" |
||||
|
class="inline-photo show-on-scroll"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-lg-6 col-sm-12 col-12"> |
||||
|
<div class="col-12"> |
||||
|
<div class="wrapper"> |
||||
|
<img src="/theme_watchhut/static/src/images/gallery/ww.jpg" |
||||
|
alt="" |
||||
|
class="inline-photo show-on-scroll"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-12"> |
||||
|
<div class="wrapper"> |
||||
|
<img src="/theme_watchhut/static/src/images/gallery/4.jpg" |
||||
|
alt="" |
||||
|
class="inline-photo show-on-scroll"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-12"> |
||||
|
<div class="wrapper"> |
||||
|
<img src="/theme_watchhut/static/src/images/gallery/5.jpg" |
||||
|
alt="" |
||||
|
class="inline-photo show-on-scroll"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-12"> |
||||
|
<div class="wrapper"> |
||||
|
<img src="/theme_watchhut/static/src/images/gallery/6.jpg" |
||||
|
alt="" |
||||
|
class="inline-photo show-on-scroll"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- Section Gallery ends here --> |
||||
|
</template> |
||||
|
</odoo> |
@ -0,0 +1,18 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<template id="gallery_heading" name="Gallery Heading"> |
||||
|
<!-- Section banner starts here --> |
||||
|
<section class="banner"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<h3 class="banner_head"> |
||||
|
Men Watch |
||||
|
<br/> |
||||
|
Collection |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- Section Gallery ends here --> |
||||
|
</template> |
||||
|
</odoo> |
@ -0,0 +1,29 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<template id="shop_button" name="Shop Button"> |
||||
|
<!-- Section shop-button starts here --> |
||||
|
<section class="shop_button"> |
||||
|
<div class="container"> |
||||
|
<div class="wrapper"> |
||||
|
<div class="row"> |
||||
|
<div class="col-8 m-auto"> |
||||
|
<p> |
||||
|
Crafted from our exclusive “vegan” leather, this |
||||
|
cruelty-free collection is both chic and |
||||
|
sustainable. |
||||
|
Available in very limited quantities from select |
||||
|
<br/> |
||||
|
stockists. |
||||
|
</p> |
||||
|
<div class="shop_b"> |
||||
|
<a href="/shop" class="btn btn-shop">Shop Now |
||||
|
</a> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- Section shop-button starts here --> |
||||
|
</template> |
||||
|
</odoo> |
@ -0,0 +1,106 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<odoo> |
||||
|
<record id="about_watchhut" model="ir.ui.view"> |
||||
|
<field name="name">About</field> |
||||
|
<field name="type">qweb</field> |
||||
|
<field name="key">theme_watchhut.about_watchhut</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<t name="About" t-name="theme_watchhut.about_watchhut"> |
||||
|
<t t-call="website.layout"> |
||||
|
<div id="wrap"> |
||||
|
<!-- Section banner starts here --> |
||||
|
<section class="banner_about"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<h3 class="banner_head"> |
||||
|
About |
||||
|
</h3> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- Section Banner ends here --> |
||||
|
<!-- Section about starts here --> |
||||
|
<section class="about"> |
||||
|
<div class="container"> |
||||
|
<div class="row"> |
||||
|
<div class="col-lg-8 col-md-8 col-12"> |
||||
|
<div class="large"> |
||||
|
<div class="large_text"> |
||||
|
Watchhut! |
||||
|
<p>Watchhut is an world wide |
||||
|
Branding company |
||||
|
Focusing on interactive |
||||
|
design and Fasion |
||||
|
</p> |
||||
|
Fasion |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="about_content"> |
||||
|
<h4>Introduction</h4> |
||||
|
<p>Lorem ipsum dolor sit amet, |
||||
|
consectetur adipiscing elit. |
||||
|
Nunc est justo, aliquam nec |
||||
|
tempor fermentum, |
||||
|
commodo et libero. Quisque |
||||
|
et rutrum arcu. Vivamus |
||||
|
dictum tincidunt magna id |
||||
|
euismod. Nam sollicitudin mi |
||||
|
quis orci lobortis feugiat. |
||||
|
</p> |
||||
|
<h4>How Can We Help</h4> |
||||
|
<p>Lorem ipsum dolor sit amet, |
||||
|
consectetur adipiscing elit. |
||||
|
Nunc est justo, aliquam nec |
||||
|
tempor fermentum, commodo et |
||||
|
libero. Quisque et rutrum |
||||
|
arcu. Vivamus dictum |
||||
|
tincidunt |
||||
|
magna id euismod. Nam |
||||
|
sollicitudin mi quis orci |
||||
|
lobortis feugiat. Lorem |
||||
|
ipsum dolor sit |
||||
|
amet, consectetur adipiscing |
||||
|
elit. Nunc est justo, |
||||
|
aliquam nec tempor |
||||
|
fermentum, commodo et |
||||
|
libero. Quisque et rutrum |
||||
|
arcu. Lorem ipsum dolor sit |
||||
|
amet, consectetur adipiscing |
||||
|
elit. Nunc |
||||
|
est justo, aliquam nec |
||||
|
tempor fermentum, commodo et |
||||
|
l ibero. Quisque et rutrum |
||||
|
arcu. |
||||
|
Vivamus dictum tincidunt |
||||
|
magna id euismod. Nam |
||||
|
sollicitudin mi quis orci |
||||
|
lobortis feugiat. |
||||
|
</p> |
||||
|
<p class="ital">Bags Courtesy of |
||||
|
Farrell&Co. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- Section about ends here --> |
||||
|
</div> |
||||
|
</t> |
||||
|
</t> |
||||
|
</field> |
||||
|
</record> |
||||
|
<record id="about_watchhut_page" model="website.page"> |
||||
|
<field name="url">/about</field> |
||||
|
<field name="is_published">True</field> |
||||
|
<field name="view_id" ref="about_watchhut"/> |
||||
|
<field name="track">True</field> |
||||
|
</record> |
||||
|
<record id="menu_about_watchhut" model="website.menu"> |
||||
|
<field name="name">About</field> |
||||
|
<field name="url">/about</field> |
||||
|
<field name="page_id" ref="theme_watchhut.about_watchhut_page"/> |
||||
|
<field name="parent_id" ref="website.main_menu"/> |
||||
|
<field name="sequence" type="int">50</field> |
||||
|
</record> |
||||
|
</odoo> |