Beschreibung
Erleben Sie auf der historischen Burg Ronneburg eine einzigartige Info-Veranstaltung rund um die Welt der Sportwagenvermietung 🚗✨. Der offizielle Veranstalter ist der Pächter der Burg Ronneburg, die Rößler Rental GmbH übernimmt im Auftrag den Ticketverkauf.
Zur Auswahl stehen drei Ticketkategorien:
• Mit dem Standard-Ticket 🎟️ erhalten Sie Zugang zu allen Vorträgen, Panels und Networking-Möglichkeiten im Burgsaal.
• Das VIP-Ticket ✨ bietet zusätzlich exklusive Sitzplätze, Zugang zur VIP-Lounge mit Catering sowie den direkten Austausch mit Referenten.
• Für echte Visionäre gibt es das streng limitierte VIP+ Ticket 🏰 – inklusive After-Session mit Sportwagen-Präsentation, persönlichem Meet-and-Greet und einer exklusiven Mastermind-Runde zu Finanzierung & Flottenaufbau.
📅 Termin: 18. Oktober 2025 | ⏰ Einlass ab 17:00 Uhr | 📍 Burg Ronneburg.
⚠️ Die Teilnehmerzahl ist begrenzt – sichern Sie sich Ihr Ticket jetzt und werden Sie Teil eines außergewöhnlichen Abends voller Wissen, Networking und unvergesslicher Eindrücke.
(function(){ // kleine Helfer: Slug-Normalisierung (ä→ae, ö→oe …, Leerzeichen/Unterstriche → -) function slugify(s){ return String(s||"") .toLowerCase() .normalize('NFD').replace(/[\u0300-\u036f]/g,'') // Akzente raus .replace(/ä/g,'ae').replace(/ö/g,'oe').replace(/ü/g,'ue').replace(/ß/g,'ss') .replace(/[^a-z0-9]+/g,'-').replace(/^-+|-+$/g,''); }
function getParam(name){ const m = new URLSearchParams(window.location.search).get(name); return m ? slugify(m) : null; }
const wanted = getParam('ticket'); if(!wanted) return; // kein Parameter, kein Theater
// Wir versuchen beide möglichen Attribut-Namen const SELECTORS = [ 'select[name="attribute_pa_eintrittskarte"]', 'select[name="attribute_eintrittskarte"]', '.variations select' // Fallback, falls der Name anders ist ];
function findSelect(){ for(const sel of SELECTORS){ const el = document.querySelector(sel); if(el) return el; } return null; }
function pickOption(select, wantedSlug){ if(!select) return false;
// Kandidaten aus Optionen: match auf value ODER sichtbaren Text let matchValue = null; [...select.options].forEach(opt=>{ const vSlug = slugify(opt.value); const tSlug = slugify(opt.textContent); if(vSlug === wantedSlug || tSlug === wantedSlug){ matchValue = opt.value; } // Toleranz: „personlicher“ vs. „persoenlicher“ if(!matchValue && (vSlug.includes(wantedSlug) || wantedSlug.includes(vSlug))){ matchValue = opt.value; } });
if(!matchValue) return false;
select.value = matchValue;
// Events feuern, damit Woo den Preis/Bestand lädt const ev = new Event('change', {bubbles:true}); select.dispatchEvent(ev);
// jQuery-Fallback (viele Themes/Woo-Hooks hören darauf) if(window.jQuery){ try { window.jQuery(select).trigger('change'); } catch(e){} } return true; }
// Manche Themes initialisieren Variations verzögert → wir pollen kurz let attempts = 0; const maxAttempts = 40; // ~2s const iv = setInterval(()=>{ attempts++; const sel = findSelect(); if(sel && pickOption(sel, wanted)){ clearInterval(iv); // optional: Formular anpingen, damit der Preis sofort erscheint const form = sel.closest('.variations_form') || document.querySelector('.variations_form'); if(form && form.dispatchEvent){ form.dispatchEvent(new Event('woocommerce_variation_has_changed', {bubbles:true})); if(window.jQuery){ try { window.jQuery(form).trigger('woocommerce_variation_has_changed'); } catch(e){} } } } if(attempts > maxAttempts) clearInterval(iv); }, 50);
// Bonus: wenn Ajax die Variationen später lädt, versuchen wir es nochmal document.addEventListener('found_variation', ()=>{ const sel = findSelect(); if(sel) pickOption(sel, wanted); }, {capture:true}); })();
Rezensionen
Es gibt noch keine Rezensionen.