Bricksextras: Tabreiter Pro so modifizieren, dass bei Reload des Browsers der Tabreiter offen bleibt

Problem:

Wenn man verschiedene Tabreiter bei Tabreiter Pro erstellt und die Seite neu lädt, wird nur der 1. Tabreiter geöffnet. Für eine verbesserte UX wäre es schön, wenn der zuletzt geöffnete Tabreiter geöffnet bleibt.

Lösung:

  1. In Pro Tabs Hash-URL einschalten (Open via URL-Parameter) einschalten, GET-Parameter = tab
  2. Pro Tabs bringt eigene Javascript-Events mit. Wir benötigen das Event “x_tabs:switch”.
  3. Folgenden Code (initialisierung im Fuß und möglichst nur auf Seiten, in denen auch die Tabreiter erscheinen:
document.addEventListener("DOMContentLoaded", () => {
    const tabs = document.getElementById("myProTabsID");
    if (tabs) {
        tabs.addEventListener("x_tabs:switch", () => {
            const activeTabPanel = tabs.querySelector(".x-tabs_panel-current");
            if (activeTabPanel && activeTabPanel.id) {
                const activeTabId = activeTabPanel.id;
                const url = new URL(window.location); // Aktuelle URL abrufen
                url.searchParams.set('tab', activeTabId); // GET-Parameter 'tab' setzen
                window.history.pushState({}, "", url); // URL ohne Neuladen aktualisieren
            }
        });
    }
});Code-Sprache: JavaScript (javascript)

Ersetze myProTabsID durch die ID, des Root Elements von “Pro Tabs”

Siehe auch

Weitere Techdoks und Snippets

Shortcode E-Mail Obfuscator

Folgendes Shortcode-Snippet ist nützlich, um E-Mails zu verschleiern, um sie vor SPAM zu schützen. Dazu der Hinweis, dass diese Methode nur funktioniert, wenn Javascript aktiviert ist. Darüber hinaus gibt es keinen 100%igen Schutz vor Bots,…

Elementor Beiträge Widget mit ACF Beziehungsfeld füllen

Mit dem Beiträge Widget in Elementor kann man schon recht bequem in einer Schleife andere Beiträge, Seiten, Produkte oder Custom Post Types (CPT) ( = Benutzerdefinierte Inhaltstypen) auf einer Seite darstellen. Knifflig wird es dann…

PHPStorm: Local Changelist in Git Tool verschwunden

Problem: Local Change List unter PHPStorm fehlt im Git Tool Lösung: Ich hatte ab und zu das Phänomen, dass die Local Changelist (die Dateien in meiner Versionskontrolle) im Git Tool als Tabreiter nicht sichtbar waren.…

Variable in Blade Komponente nicht verfügbar

Problem: Die Parameterübergabe eines Blade-Attributes funktioniert nicht, die Variable in der Komponente ist leer. Es gibt keine Fehlermeldung, sondern die Variable scheint nicht übergeben worden zu sein. Lösung: Eventuell liegt der Fehler in der Benutzung…

Tailwind Autocomplete mit PHPStorm (WebStorm) funktioniert nicht

Problem: Falls Sie z.B. eine Laravel App erstellen und sich darüber wundern, warum PHPStorm oder WebStorm die Autovervollständigung für Ihre CSS Klassen in Blade Templates oder HTML-Dateien nicht durchführt, liegt es höchstwahrscheinlich daran, dass die…

WP CLI Error: Error establishing a database connection.

Auftauchen: Befehle über WP CLI absetzen, Wordpress im Browser funktioniert jedoch. Dieser Fehler tritt häufig auf, wenn der WP CL Interpreter die Datenbankverbindung in wp-config.php nicht richtig interpretieren kann. Lösung: In 99% aller Fälle den…

Mit Alfred sehr schnell Px in REM / EM umrechnen

Auf dem Mac gibt es einen wunderbaren Alfred-Workflow, der Px in Rem umrechnet: Download Direktlink: https://raw.githubusercontent.com/vitorgalvao/requested-alfred-workflows/master/Workflows/Px%20Rem%20Em.alfredworkflow Einfach installieren, dann CMD-Space: Alfred Bar "pxrem" tippen und die Zahl in Pixel angeben. Die Umrechnung in REM wird…

Einrichten von XDebug mit PHPStorm und Valet Development Umgebung

Vorbereitung: Homebrew sollte installiert sein Valet sollte installiert sein und laufen: https://laravel.com/docs/7.x/valet Browser Extension für PHPSTORM sollte installiert sein: https://www.jetbrains.com/help/phpstorm/browser-debugging-extensions.html gerry@webgarten ~ % brew install pecl gerry@webgarten ~ % pecl install xdebug Bei Fehlermeldung: Warning:…