تخطي للذهاب إلى المحتوى
الْعَرَبيّة
الْعَرَبيّة
English (US)
Français (CA)
Español (CO)
0
عربة تسوقي
تسجيل الدخول
Home
Francisation
Soutien aux familles
Formation
Information Socioprofessionnelle
Calendrier
الموعد
تواصل معنا
0
Home
Francisation
Soutien aux familles
Formation
Information Socioprofessionnelle
Calendrier
الموعد
الْعَرَبيّة
الْعَرَبيّة
English (US)
Français (CA)
Español (CO)
تسجيل الدخول
تواصل معنا
الفعاليات
Service Aux Familles
الكل
Familles
En français
En présentiel
Participation Culturelle
En ligne
Parler Français
الكل
<template id="events_cards_page" name="Events - Cards"> <t t-call="website.layout"> <div class="container py-4"> <!-- 🔽 Lire le paramètre ?tag= depuis l'URL --> <t t-set="tag_id" t-value="int(request.params.get('tag') or 0)"/> <!-- 🔽 Construire le domain en fonction du tag --> <t t-set="domain" t-value="tag_id and [('tag_ids', 'in', tag_id)] or []"/> <!-- 🔽 Charger les événements filtrés --> <t t-set="events" t-value="request.env['event.event'].sudo().search(domain, order='is_featured desc, date_begin desc')"/> <h1 class="mb-4"> <t t-if="tag_id"> Événements – <t t-esc="request.env['event.tag'].sudo().browse(tag_id).name"/> </t> <t t-else="">Tous les événements</t> </h1> <div class="row g-4"> <t t-foreach="events" t-as="e" t-key="e.id"> <div class="col-12 col-sm-6 col-lg-4"> <div class="card h-100 shadow-sm border-0"> <!-- Image : galerie si dispo sinon image_1920 --> <t t-set="gal" t-value="e.event_image_id and e.event_image_id[0] or False"/> <img t-if="gal and (gal.sh_thumb or gal.sh_image)" t-att-src="gal.sh_thumb and ('/web/image/event.image.gallery/%s/sh_thumb' % gal.id) or ('/web/image/event.image.gallery/%s/sh_image' % gal.id)" class="card-img-top" alt="" style="object-fit:cover; height:180px;"/> <img t-else="" t-att-src="'/web/image/event.event/%s/image_1920' % e.id" class="card-img-top" alt="" style="object-fit:cover; height:180px;"/> <div class="card-body d-flex flex-column"> <h5 class="card-title"> <t t-esc="e.name"/> <t t-if="e.is_featured"> <span class="badge bg-warning text-dark ms-1">En vedette</span> </t> </h5> <div class="text-muted small mb-2"> <span t-field="e.date_begin" t-options='{"format":"dd-MM-yyyy HH:mm"}'/> </div> <p class="card-text flex-grow-1"> <t t-if="gal and gal.sh_description"> <t t-esc="(gal.sh_description or '')[:160]"/> </t> </p> <a t-att-href="e.website_url" class="btn btn-primary mt-auto">Voir l’événement</a> </div> </div> </div> </t> <t t-if="not events"> <div class="col-12"> <div class="alert alert-info">Aucun événement publié.</div> </div> </t> </div> </div> </t> </template>
jeune
الكل
Jeunesse
القادم
الفعاليات القادمة
الفعاليات السابقة
كافة الفعاليات
Par défaut
Par défaut
عوامل التصفية
Service Aux Familles
Familles
En français
En présentiel
Participation Culturelle
En ligne
Parler Français
<template id="events_cards_page" name="Events - Cards"> <t t-call="website.layout"> <div class="container py-4"> <!-- 🔽 Lire le paramètre ?tag= depuis l'URL --> <t t-set="tag_id" t-value="int(request.params.get('tag') or 0)"/> <!-- 🔽 Construire le domain en fonction du tag --> <t t-set="domain" t-value="tag_id and [('tag_ids', 'in', tag_id)] or []"/> <!-- 🔽 Charger les événements filtrés --> <t t-set="events" t-value="request.env['event.event'].sudo().search(domain, order='is_featured desc, date_begin desc')"/> <h1 class="mb-4"> <t t-if="tag_id"> Événements – <t t-esc="request.env['event.tag'].sudo().browse(tag_id).name"/> </t> <t t-else="">Tous les événements</t> </h1> <div class="row g-4"> <t t-foreach="events" t-as="e" t-key="e.id"> <div class="col-12 col-sm-6 col-lg-4"> <div class="card h-100 shadow-sm border-0"> <!-- Image : galerie si dispo sinon image_1920 --> <t t-set="gal" t-value="e.event_image_id and e.event_image_id[0] or False"/> <img t-if="gal and (gal.sh_thumb or gal.sh_image)" t-att-src="gal.sh_thumb and ('/web/image/event.image.gallery/%s/sh_thumb' % gal.id) or ('/web/image/event.image.gallery/%s/sh_image' % gal.id)" class="card-img-top" alt="" style="object-fit:cover; height:180px;"/> <img t-else="" t-att-src="'/web/image/event.event/%s/image_1920' % e.id" class="card-img-top" alt="" style="object-fit:cover; height:180px;"/> <div class="card-body d-flex flex-column"> <h5 class="card-title"> <t t-esc="e.name"/> <t t-if="e.is_featured"> <span class="badge bg-warning text-dark ms-1">En vedette</span> </t> </h5> <div class="text-muted small mb-2"> <span t-field="e.date_begin" t-options='{"format":"dd-MM-yyyy HH:mm"}'/> </div> <p class="card-text flex-grow-1"> <t t-if="gal and gal.sh_description"> <t t-esc="(gal.sh_description or '')[:160]"/> </t> </p> <a t-att-href="e.website_url" class="btn btn-primary mt-auto">Voir l’événement</a> </div> </div> </div> </t> <t t-if="not events"> <div class="col-12"> <div class="alert alert-info">Aucun événement publié.</div> </div> </t> </div> </div> </t> </template>
Parler Français
jeune
Jeunesse
التاريخ
الفعاليات القادمة
الفعاليات السابقة
كافة الفعاليات
لا توجد فعاليات مجدولة بعد
لم نتمكن من العثور على أي فعالية مجدولة في الوقت الحالي.