implement blog page and detail view functionality with corresponding controller and data structure

This commit is contained in:
Alaguraj0361 2026-09-08 13:46:11 +05:30
parent a1b2b06a18
commit 65ead62da2
4 changed files with 182 additions and 56 deletions

View File

@ -121,9 +121,14 @@ class BlogController(http.Controller):
categories[cat] = categories.get(cat, 0) + 1 categories[cat] = categories.get(cat, 0) + 1
return request.render('dine360_theme_shivasakthi.blog_detail_layout', { return request.render('dine360_theme_shivasakthi.blog_detail_layout', {
'blog': blog_post,
'blog_title': blog_post.get('title'), 'blog_title': blog_post.get('title'),
'blog_img': blog_post.get('image'), 'blog_img': blog_post.get('image'),
'blog_date': blog_post.get('date'), 'blog_date': blog_post.get('date'),
'blog_day': blog_post.get('day'),
'blog_month': blog_post.get('month'),
'blog_author': blog_post.get('author', 'Shiva Sakthi Chef'),
'blog_read_time': blog_post.get('read_time', '4 Min Read'),
'blog_category': blog_post.get('category'), 'blog_category': blog_post.get('category'),
'blog_content': Markup(blog_post.get('content') or ''), 'blog_content': Markup(blog_post.get('content') or ''),
'recent_posts': recent_posts, 'recent_posts': recent_posts,

View File

@ -3,36 +3,42 @@
"id": 1, "id": 1,
"title": "The Secrets of Crafting the Perfect Crispy Dosa", "title": "The Secrets of Crafting the Perfect Crispy Dosa",
"slug": "secrets-perfect-crispy-dosa", "slug": "secrets-perfect-crispy-dosa",
"image": "/dine360_theme_shivasakthi/static/src/img/assets/images/blog/blog_dosa_making.jpg", "image": "/dine360_theme_shivasakthi/static/src/img/blog-detail-1.webp",
"category": "Recipe", "category": "Recipe & Craft",
"date": "May 15, 2026", "date": "May 15, 2026",
"day": "15", "day": "15",
"month": "May", "month": "May",
"excerpt": "Discover the culinary art behind Shiva Sakthi's signature dosas. Learn how our chefs achieve the perfect crispiness using age-old fermentation techniques and spices.", "author": "Executive Chef Murugan",
"content": "<p>At Shiva Sakthi Restaurant, the dosa isn't just a dish; it's a craft perfected over decades. The secret to our golden, paper-thin crispy dosas lies in the fermentation process. Our chefs soak premium quality parboiled rice and urad dal, grinding them to a silky batter that is fermented for exactly 12 hours at a precise temperature.</p><p>Cooked on a heavy iron griddle seasoned with sesame oil, each dosa is hand-spread in quick circular motions. Whether you enjoy the classic Masala Dosa or our fiery Mysore Dosa, every bite delivers the authentic taste of South India.</p>" "read_time": "5 Min Read",
"excerpt": "Discover the culinary art behind Shiva Sakthi's signature dosas. Learn how our chefs achieve the perfect crispiness using age-old fermentation techniques and authentic spices.",
"content": "<p class=\"lead mb-4\" style=\"font-size: 18px; color: #555;\">At Shiva Sakthi Restaurant, the dosa isn't merely a menu item; it is a master craft perfected across generations of culinary heritage. Golden, paper-thin, and intensely fragrant, every dosa served at our tables is a celebration of South Indian gastronomy.</p><h3 class=\"mt-4 mb-3\">The Science of 12-Hour Natural Fermentation</h3><p>The secret behind our signature crispy dosa lies in the delicate fermentation process. Our kitchen selects only premium parboiled rice and whole dehusked urad dal (black gram), washed and soaked in pure water before being slow-ground in traditional wet stone grinders. The resulting batter is allowed to naturally ferment for exactly 12 hours under calibrated temperatures.</p><p>This natural fermentation is what yields that delightful slight tanginess, airy texture, and the iconic golden honeycomb crisp when it touches the hot tawa.</p><blockquote class=\"blog-quote my-4 p-4\">\"A true South Indian dosa is crisp on the outside, feather-light within, and paired with steaming sambar and freshly ground chutneys made fresh every single morning.\"</blockquote><h3 class=\"mt-4 mb-3\">Seasoned Iron Griddles &amp; The Swirl Technique</h3><p>Unlike standard non-stick surfaces, Shiva Sakthi chefs exclusively cook on seasoned cast-iron griddles greased with cold-pressed sesame oil. In one seamless circular motion, the chef spreads the batter outwards from the center to create that immaculate wafer-thin consistency.</p><ul><li><strong>Pure Ghee Roast:</strong> Finished with generous drizzles of pure clarified butter for a rich aroma.</li><li><strong>Mysore Masala Dosa:</strong> Lined with a spicy red chili garlic chutney and filled with seasoned potato masala.</li><li><strong>Rava Masala Dosa:</strong> Crafted from semolina and cumin for an ultra-crunchy lace texture.</li></ul><p>Served alongside four house-made chutneys (coconut, tomato-onion, mint-coriander, and gun powder podi) plus a piping hot bowl of drumstick sambar, it is a culinary journey you will remember.</p>"
}, },
{ {
"id": 2, "id": 2,
"title": "Why Our Unlimited Thali is Mississauga's Favorite Lunch Choice", "title": "Why Our Unlimited Thali is Mississauga's Favorite Lunch Choice",
"slug": "unlimited-thali-mississauga-favorite", "slug": "unlimited-thali-mississauga-favorite",
"image": "/dine360_theme_shivasakthi/static/src/img/assets/images/blog/blog_thali_experience.jpg", "image": "/dine360_theme_shivasakthi/static/src/img/blog-detail-2.webp",
"category": "Dining", "category": "Dining Experience",
"date": "June 1, 2026", "date": "June 1, 2026",
"day": "01", "day": "01",
"month": "Jun", "month": "Jun",
"excerpt": "A feast fit for royalty! Read about the journey of our Unlimited South Indian Thali, featuring a harmonious blend of curries, rasam, and fresh payasam.", "author": "Shiva Sakthi Culinary Team",
"content": "<p>For anyone craving a comprehensive South Indian feast, the Shiva Sakthi Unlimited Thali is the ultimate experience. Served on a traditional banana leaf, it offers a rotating menu of up to 10 authentic items, including Sambar, Rasam, Kara Kuzhambu, Poriyal, Kootu, and crunchy appalams, ending with a sweet, rich Payasam.</p><p>We believe in hospitality that makes you feel at home. That's why our thali is served with unlimited refills of rice and curries, cooked fresh every day with locally sourced ingredients and spices imported from South India.</p>" "read_time": "4 Min Read",
"excerpt": "A feast fit for royalty! Discover why our Unlimited South Indian Thali served on a traditional banana leaf is Mississauga's premier afternoon culinary destination.",
"content": "<p class=\"lead mb-4\" style=\"font-size: 18px; color: #555;\">For anyone craving a wholesome, authentic South Indian feast in the Greater Toronto Area, the Shiva Sakthi Unlimited Thali has quickly become a legendary lunchtime tradition. It is not just lunch — it is an unforgettable feast of colors, aromas, and heritage.</p><h3 class=\"mt-4 mb-3\">A Traditional Banana Leaf Symphony</h3><p>In South Indian culture, dining on a fresh banana leaf represents respect, health, and togetherness. At Shiva Sakthi, every Unlimited Thali is arranged following traditional etiquette, placing sweet, spicy, sour, and savory delicacies in a harmonious sequence.</p><p>Our rotating lunch thali includes up to 10 distinct, freshly prepared dishes:</p><ul><li><strong>Steaming Sona Masoori Rice:</strong> Served piping hot with a dollop of pure melted ghee.</li><li><strong>Authentic Sambar &amp; Pepper Rasam:</strong> Brewed daily with fresh tamarind, roasted spices, and garden herbs.</li><li><strong>Vatha Kuzhambu / Kara Kuzhambu:</strong> Deep, tangy, and robust traditional curries bursting with flavor.</li><li><strong>Poriyal &amp; Kootu:</strong> Fresh seasonal vegetables gently tempered with mustard seeds and fresh coconut.</li><li><strong>Crispy Appalams, House Pickles, &amp; Curd:</strong> The essential crunchy and cooling accompaniments.</li><li><strong>Rich Warm Payasam:</strong> Slow-simmered dessert with cardamom and roasted cashews to sweeten your feast.</li></ul><blockquote class=\"blog-quote my-4 p-4\">\"Unlimited refills of rice, piping curries, and rasam with warm South Indian hospitality — because no guest should ever leave Shiva Sakthi unsatisfied.\"</blockquote><h3 class=\"mt-4 mb-3\">Cooked Fresh Daily with Pure Ingredients</h3><p>We believe in wholesome cooking without artificial additives or colors. Every single curry is prepared from scratch every morning using locally sourced produce and spices imported directly from South India. Come hungry and enjoy the authentic taste of home in Mississauga!</p>"
}, },
{ {
"id": 3, "id": 3,
"title": "A Guide to South Indian Spices and Their Health Benefits", "title": "A Guide to South Indian Spices and Their Health Benefits",
"slug": "guide-south-indian-spices-benefits", "slug": "guide-south-indian-spices-benefits",
"image": "/dine360_theme_shivasakthi/static/src/img/assets/images/blog/blog_south_indian_spices.jpg", "image": "/dine360_theme_shivasakthi/static/src/img/blog-detail-3.webp",
"category": "Health", "category": "Health & Spices",
"date": "June 7, 2026", "date": "June 7, 2026",
"day": "07", "day": "07",
"month": "Jun", "month": "Jun",
"excerpt": "Explore the medicinal and culinary secrets of mustard seeds, curry leaves, and asafoetida that give our dishes their rich flavor profile.", "author": "Chef Ramesh Kumar",
"content": "<p>South Indian cuisine is celebrated not just for its rich aromas but also for its digestive and therapeutic benefits. Key spices such as turmeric, mustard seeds, fenugreek, and curry leaves are rich in antioxidants and aid digestion.</p><p>At Shiva Sakthi, we use these spices mindfully. Tempered in hot oil at the end of cooking (a process called *tadka*), they release essential oils that enhance the taste and wellness of our sambars, curries, and chutneys.</p>" "read_time": "6 Min Read",
"excerpt": "Explore the medicinal and culinary secrets of mustard seeds, curry leaves, turmeric, and asafoetida that give our dishes their rich flavor profile and healing properties.",
"content": "<p class=\"lead mb-4\" style=\"font-size: 18px; color: #555;\">South Indian cuisine is renowned worldwide not only for its distinct, mouth-watering aromas but also for its profound Ayurvedic roots. Every spice used in our kitchen serves a dual purpose: elevating taste and nourishing the body.</p><h3 class=\"mt-4 mb-3\">The Power of Tadka (Spices Tempering)</h3><p>In traditional South Indian culinary methods, spices are tempered in hot oil at the beginning or end of cooking — a process called <em>Tadka</em> or <em>Thalippu</em>. This gentle heat releases essential oils, unlocking both deep aromatics and bioavailability of antioxidants.</p><ul><li><strong>Curry Leaves (Kadi Patta):</strong> Rich in iron, calcium, and antioxidants, aiding digestive health and hair vitality.</li><li><strong>Turmeric (Manjal):</strong> Nature's powerful anti-inflammatory compound containing curcumin.</li><li><strong>Mustard Seeds (Kadugu):</strong> Packed with phytonutrients that stimulate metabolism and digestive enzymes.</li><li><strong>Black Pepper &amp; Cumin (Jeeragam):</strong> The cornerstone of our healing Rasam, providing immune defense and digestion soothing.</li><li><strong>Asafoetida (Hing):</strong> A gentle digestive aid that balances complex lentil proteins and adds an umami depth.</li></ul><blockquote class=\"blog-quote my-4 p-4\">\"In ancient Indian tradition, food is medicine when prepared with mindful seasoning and pure intentions.\"</blockquote><p>When you dine at Shiva Sakthi, you are savoring centuries of culinary wisdom designed to revitalize your body and delight your palate.</p>"
} }
] ]

View File

@ -4,78 +4,196 @@
<!-- Base Blog Detail Layout --> <!-- Base Blog Detail Layout -->
<template id="blog_detail_layout" name="Blog Detail Layout"> <template id="blog_detail_layout" name="Blog Detail Layout">
<style> <style>
.blog-text ul { .blog-article-body h2, .blog-article-body h3, .blog-article-body h4 {
font-family: 'Bebas Neue', Impact, sans-serif;
color: #04121D;
letter-spacing: 1px;
margin-top: 30px;
margin-bottom: 15px;
}
.blog-article-body h2 { font-size: 32px; }
.blog-article-body h3 { font-size: 26px; }
.blog-article-body h4 { font-size: 22px; }
.blog-article-body ul {
list-style: none !important; list-style: none !important;
padding-left: 0 !important; padding-left: 0 !important;
margin-bottom: 25px; margin-bottom: 25px;
} }
.blog-text ul li { .blog-article-body ul li {
position: relative; position: relative;
padding-left: 30px !important; padding-left: 30px !important;
margin-bottom: 12px; margin-bottom: 14px;
color: #555; color: #444;
line-height: 1.6; line-height: 1.7;
font-size: 16px;
} }
.blog-text ul li::before { .blog-article-body ul li::before {
content: "\f105"; /* fa-angle-right */ content: "\f058"; /* fa-check-circle */
font-family: FontAwesome; font-family: FontAwesome;
position: absolute; position: absolute;
left: 0; left: 0;
top: 0px; top: 1px;
color: #ffb800; color: #ffb800;
font-weight: 900; font-size: 16px;
font-size: 18px; }
.blog-article-body blockquote.blog-quote {
background: #FFF9EE;
border-left: 4px solid #ffb800;
border-radius: 8px;
font-style: italic;
color: #222;
font-size: 17px;
line-height: 1.75;
position: relative;
}
.hover-yellow {
transition: color 0.2s ease, transform 0.2s ease;
}
.hover-yellow:hover {
color: #ffb800 !important;
}
.recent-post-link {
transition: transform 0.25s ease;
}
.recent-post-link:hover .recent-post-thumb img {
transform: scale(1.08);
}
.recent-post-link:hover .recent-post-title {
color: #ffb800 !important;
}
.sidebar-cat-link:hover {
color: #ffb800 !important;
padding-left: 4px;
} }
</style> </style>
<t t-call="website.layout"> <t t-call="website.layout">
<div id="wrap" class="oe_structure"> <div id="wrap" class="oe_structure">
<!-- Page Banner --> <!-- 1. Hero Page Banner -->
<section class="s_page_title o_colored_level" style="background-color: #04121D; background-image: url('/dine360_theme_shivasakthi/static/src/img/about-banner-new.png'); background-size: cover; background-position: center; padding: 70px 0; position: relative; overflow: hidden;"> <section class="s_page_title o_colored_level position-relative" style="background-color: #04121D; background-image: url('/dine360_theme_shivasakthi/static/src/img/about-banner-new.png'); background-size: cover; background-position: center; padding: 140px 0 100px 0;">
<div class="o_we_bg_filter bg-black-50"/> <div class="position-absolute w-100 h-100" style="top: 0; left: 0; background-color: rgba(0,0,0,0.65); z-index: 1;"></div>
<div class="container text-center text-white position-relative" style="z-index: 2;"> <div class="container text-center text-white position-relative" style="z-index: 2;">
<h1 class="display-3 fw-bold mb-3" style="letter-spacing: 1px;">BLOG DETAILS</h1> <h1 class="display-3 fw-bold mb-3 text-uppercase" style="font-family: 'Bebas Neue', Impact, sans-serif; letter-spacing: 2px;">BLOG DETAILS</h1>
<nav aria-label="breadcrumb" class="d-flex justify-content-center"> <nav aria-label="breadcrumb" class="d-flex justify-content-center">
<ol class="breadcrumb mb-0" style="background: transparent; font-size: 14px; text-transform: uppercase; font-weight: 600;"> <ol class="breadcrumb mb-0" style="background: transparent; font-size: 14px; text-transform: uppercase; font-weight: 500;">
<li class="breadcrumb-item"><a href="/" class="text-white text-decoration-none" style="opacity: 0.8;">Home</a></li> <li class="breadcrumb-item"><a href="/" class="text-white text-decoration-none hover-yellow">Home</a></li>
<li class="breadcrumb-item"><a href="/blog" class="text-white text-decoration-none" style="opacity: 0.8;">Blog</a></li> <li class="breadcrumb-item"><a href="/blog" class="text-white text-decoration-none hover-yellow">Blog</a></li>
<li class="breadcrumb-item active" style="color: #ffb800;" aria-current="page">Blog Details</li> <li class="breadcrumb-item active" style="color: #ffb800;" aria-current="page">Blog Details</li>
</ol> </ol>
</nav> </nav>
</div> </div>
</section> </section>
<!-- Blog Detail Section --> <!-- 2. Main Blog Detail Section -->
<section class="s_blog_detail_section pt96 pb120 o_colored_level" style="background-color: #F9F6F0;"> <section class="s_blog_detail_section py-5 o_colored_level" style="background-color: #F9F6F0;">
<div class="container"> <div class="container py-4">
<div class="row justify-content-center"> <div class="row g-5">
<!-- Main Content Area (Full Width Centered) -->
<div class="col-lg-12"> <!-- Left Main Article Column (col-lg-8) -->
<div class="blog-detail-content px-0 px-md-4"> <div class="col-lg-8">
<article class="blog-detail-article bg-white p-4 p-md-5 rounded-3 shadow-sm border-0">
<!-- Featured Image --> <!-- Featured Image -->
<div class="blog-featured-img mb-4 overflow-hidden shadow-sm" style="border-radius: 0px;"> <div class="blog-main-image-wrapper mb-4 overflow-hidden rounded-3 position-relative shadow-sm" style="max-height: 480px; background-color: #eee;">
<img t-att-src="blog_img or '/dine360_theme_shivasakthi/static/src/img/blog-1.png'" class="img-fluid w-100" t-att-alt="blog_title" style="max-height: 600px; object-fit: cover;"/> <img t-att-src="blog_img or '/dine360_theme_shivasakthi/static/src/img/blog-detail-2.webp'"
class="img-fluid w-100"
t-att-alt="blog_title"
style="object-fit: cover; object-position: center; width: 100%; min-height: 320px; max-height: 480px; display: block;"/>
</div> </div>
<!-- Title --> <!-- Meta Details Bar -->
<h1 class="display-4 fw-bold mb-3" style="color: #04121D; line-height: 1.2; font-size: 38px;"><t t-esc="blog_title"/></h1> <div class="blog-meta-bar d-flex flex-wrap align-items-center gap-3 pb-3 mb-3 border-bottom text-muted small" style="font-weight: 500;">
<span class="badge px-3 py-2 text-uppercase fw-bold" style="background-color: #ffb800; color: #04121D; font-size: 12px; letter-spacing: 0.5px;">
<i class="fa fa-tag me-1"></i> <t t-esc="blog_category or 'Restaurant'"/>
</span>
<span><i class="fa fa-calendar-o text-warning me-1"></i> <t t-esc="blog_date or 'June 1, 2026'"/></span>
<span><i class="fa fa-user-circle-o text-warning me-1"></i> <t t-esc="blog_author or 'Shiva Sakthi Culinary Team'"/></span>
<span><i class="fa fa-clock-o text-warning me-1"></i> <t t-esc="blog_read_time or '4 Min Read'"/></span>
</div>
<!-- Content --> <!-- Article Title -->
<div class="blog-text pb-4" style="font-size: 16px; line-height: 1.7; color: #333; font-family: 'Outfit', sans-serif;"> <h1 class="blog-article-title fw-bold mb-4 text-uppercase" style="font-family: 'Bebas Neue', Impact, sans-serif; font-size: 40px; color: #04121D; letter-spacing: 1px; line-height: 1.15;">
<t t-esc="blog_title"/>
</h1>
<!-- Article Body Content -->
<div class="blog-article-body text-dark" style="font-size: 16px; line-height: 1.85; font-family: 'Outfit', sans-serif;">
<t t-out="blog_content"/> <t t-out="blog_content"/>
</div> </div>
<!-- Meta Info (Footer) --> <!-- Post Footer (Tags & Back to Blog) -->
<div class="mt-5 pt-4 border-top d-flex align-items-center justify-content-between flex-wrap gap-3"> <div class="blog-article-footer mt-5 pt-4 border-top d-flex flex-wrap align-items-center justify-content-between gap-3">
<div class="d-flex align-items-center gap-4 text-muted small" style="font-weight: 600;"> <div class="d-flex align-items-center gap-2 flex-wrap">
<span><i class="fa fa-calendar me-2"></i> <t t-esc="blog_date or 'Jan 29, 2026'"/></span> <span class="fw-bold text-uppercase small text-dark"><i class="fa fa-tags text-warning me-1"></i> Tags:</span>
<span><i class="fa fa-tag me-2"></i> <t t-esc="blog_category or 'Restaurant'"/></span> <span class="badge bg-light text-dark border px-2 py-1">South Indian Cuisine</span>
<span class="badge bg-light text-dark border px-2 py-1">Mississauga Dining</span>
<span class="badge bg-light text-dark border px-2 py-1">Authentic Taste</span>
</div>
<a href="/blog" class="btn btn-outline-dark fw-bold px-4 py-2 rounded-1 text-uppercase hover-yellow" style="font-size: 13px; letter-spacing: 1px;">
<i class="fa fa-arrow-left me-2"></i> Back to Blog
</a>
</div>
</article>
</div>
<!-- Right Sidebar Column (col-lg-4) -->
<div class="col-lg-4">
<aside class="blog-sidebar" style="position: sticky; top: 90px;">
<!-- Order Food Online Promo CTA Card -->
<div class="sidebar-widget p-4 rounded-3 text-white text-center mb-4 shadow-sm" style="background: linear-gradient(135deg, #04121D 0%, #15222E 100%); border: 1px solid rgba(255,184,0,0.3);">
<div class="mb-3">
<i class="fa fa-cutlery text-warning" style="font-size: 32px;"></i>
</div>
<h4 class="fw-bold text-uppercase mb-2" style="font-family: 'Bebas Neue', Impact, sans-serif; letter-spacing: 1px; color: #fff;">Taste The Authentic Difference</h4>
<p class="small text-white-50 mb-4" style="line-height: 1.6;">Craving hot crispy dosas, unlimited thali, or rich South Indian curries? Order online now for pickup or delivery!</p>
<a href="/shop" class="btn btn-warning w-100 fw-bold text-uppercase py-2 rounded-1 shadow-sm" style="letter-spacing: 1px; color: #04121D; font-family: 'Bebas Neue', Impact, sans-serif; font-size: 18px;">
Order Food Online <i class="fa fa-arrow-right ms-1"></i>
</a>
</div>
<!-- Recent Articles Widget -->
<div class="sidebar-widget bg-white p-4 rounded-3 mb-4 shadow-sm border-0">
<h5 class="fw-bold text-uppercase mb-4 pb-2 border-bottom" style="font-family: 'Bebas Neue', Impact, sans-serif; letter-spacing: 1px; color: #04121D; font-size: 22px;">
<i class="fa fa-newspaper-o text-warning me-2"></i> Recent Articles
</h5>
<div class="recent-posts-list d-flex flex-column gap-3">
<t t-foreach="recent_posts" t-as="rpost">
<a t-attf-href="/blog/#{rpost.get('slug')}" class="recent-post-link d-flex align-items-center gap-3 text-decoration-none" style="color: inherit;">
<div class="recent-post-thumb flex-shrink-0 overflow-hidden rounded-2" style="width: 75px; height: 65px; background: #eee;">
<img t-att-src="rpost.get('image')" t-att-alt="rpost.get('title')" class="w-100 h-100" style="object-fit: cover; transition: transform 0.3s ease;"/>
</div>
<div class="flex-grow-1">
<h6 class="mb-1 fw-bold recent-post-title" style="font-size: 14px; line-height: 1.35; color: #04121D; transition: color 0.2s ease;" t-esc="rpost.get('title')"/>
<span class="text-muted small" style="font-size: 12px;"><i class="fa fa-calendar-o text-warning me-1"></i> <t t-esc="rpost.get('date')"/></span>
</div>
</a>
</t>
</div> </div>
</div> </div>
</div> <!-- Categories Widget -->
<div class="sidebar-widget bg-white p-4 rounded-3 shadow-sm border-0">
<h5 class="fw-bold text-uppercase mb-3 pb-2 border-bottom" style="font-family: 'Bebas Neue', Impact, sans-serif; letter-spacing: 1px; color: #04121D; font-size: 22px;">
<i class="fa fa-folder-open-o text-warning me-2"></i> Categories
</h5>
<ul class="list-unstyled mb-0 d-flex flex-column gap-2">
<t t-foreach="categories" t-as="cat_name">
<li class="d-flex justify-content-between align-items-center py-2 border-bottom" style="border-color: rgba(0,0,0,0.05) !important;">
<a href="/blog" class="sidebar-cat-link text-decoration-none text-dark fw-semibold small hover-yellow" style="transition: all 0.2s ease;">
<i class="fa fa-angle-right text-warning me-2"></i> <t t-esc="cat_name"/>
</a>
<span class="badge rounded-pill bg-light text-muted border px-2 py-1 small" t-esc="categories[cat_name]"/>
</li>
</t>
</ul>
</div>
</aside>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
@ -85,6 +203,3 @@
</template> </template>
</data> </data>
</odoo> </odoo>

View File

@ -6,13 +6,13 @@
<div id="wrap" class="oe_structure"> <div id="wrap" class="oe_structure">
<!-- Page Banner --> <!-- Page Banner -->
<section class="s_page_title o_colored_level" style="background-color: #04121D; background-image: url('/dine360_theme_shivasakthi/static/src/img/about-banner-new.png'); background-size: cover; background-position: center; padding: 100px 0; position: relative; overflow: hidden;"> <section class="s_page_title o_colored_level position-relative" style="background-color: #04121D; background-image: url('/dine360_theme_shivasakthi/static/src/img/about-banner-new.png'); background-size: cover; background-position: center; padding: 140px 0 100px 0;">
<div class="o_we_bg_filter bg-black-50"/> <div class="position-absolute w-100 h-100" style="top: 0; left: 0; background-color: rgba(0,0,0,0.65); z-index: 1;"></div>
<div class="container text-center text-white position-relative" style="z-index: 2;"> <div class="container text-center text-white position-relative" style="z-index: 2;">
<h1 class="display-3 fw-bold mb-3" style="letter-spacing: 1px;">BLOG</h1> <h1 class="display-3 fw-bold mb-3 text-uppercase" style="font-family: 'Bebas Neue', Impact, sans-serif; letter-spacing: 2px;">BLOG</h1>
<nav aria-label="breadcrumb" class="d-flex justify-content-center"> <nav aria-label="breadcrumb" class="d-flex justify-content-center">
<ol class="breadcrumb mb-0" style="background: transparent; font-size: 14px; text-transform: uppercase; font-weight: 600;"> <ol class="breadcrumb mb-0" style="background: transparent; font-size: 14px; text-transform: uppercase; font-weight: 500;">
<li class="breadcrumb-item"><a href="/" class="text-white text-decoration-none" style="opacity: 0.8;">Home</a></li> <li class="breadcrumb-item"><a href="/" class="text-white text-decoration-none hover-yellow">Home</a></li>
<li class="breadcrumb-item active" style="color: #ffb800;" aria-current="page">Blog</li> <li class="breadcrumb-item active" style="color: #ffb800;" aria-current="page">Blog</li>
</ol> </ol>
</nav> </nav>