Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Allgemeine Fragen
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Hallo zusammen,
ich bin mal wieder daran eine Seite mit Mobirise zu gestallten, in der ich auch eine Tabelle einbauen möchte.
Leider ist in der aktuellen Mobirise Version v6.1.12 immer noch der Fehler bezüglich Tabellen und Suchfeld und die nicht ausblendbaren Gesamteinträge am Ende der Tabelle.
Hierzu und das es ein Bug ist, gab es bereits 2022 mindestens ein Forumbeitrag im Mobirise-Forum:
Link: https://forums.mobirise.com/discussion/ ... for-tables

Habt Ihr einen Rat, warum dieser Bug scheinbar noch immer in allen Templates aus der M4-Serie vorhanden ist?

Ich habe gerade versucht die Tabellen-Beispiele (scrollbar) von dem lieben Tommy einzubauen. Der Bereich im HTML ist weniger das Problem, jedoch fehlt mir dafür gerade der dazugehörige CSS-Anteil.
Tommys-Link: https://www.mobirise-tutorials.com/Tuto ... rview.html

Oder hat jemand es geschafft eine Tabelle aus den vielen Mobirise-Templates ohne Fehler zu integrieren?

Vielen Dank und beste Grüße ;)
Helge

Tabelle-1.png
Benutzeravatar
Bushisan
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 299
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Bushisan »

Hallo Helge,
Ich hab diese Tabelle hier eingebaut. Hat einwandfrei funktioniert!
https://www.shotokan-karate-dojo-neuki ... uecher.php

User: Tester
PW: Einloggen

Die CSS findest Du im weiteren Text!
Es kann nur einen geben - warum bin ich das nicht?
Volker
Moderator
Moderator
Beiträge: 2006
Registriert: Sa 12. Dez 2020, 22:35

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Volker »

Probier mal diese Tabelle ;)

HTML:

Code: Alles auswählen

<section data-bs-version="5.1" class="section-table" group="Tables" data-bg-video="{{bg.type == 'video' && bg.value.url}}" mbr-class="{'mbr-parallax-background': bg.parallax}">

    <mbr-parameters>
        <input type="range" inline title="Top" name="paddingTop" min="0" max="8" step="1" value="6">
        <input type="range" inline title="Bottom" name="paddingBottom" min="0" max="8" step="1" value="6">
        <input type="checkbox" title="Show Title" name="showTitle" checked>
        <input type="checkbox" title="Show Subtitle" name="showSubtitle" checked>
        <input type="checkbox" title="Show Search" name="showSearch" checked>
        <input type="range" inline title="Columns" name="tableColumns" min="1" max="10" step="1" value="4">
        <input type="range" inline title="Rows" name="tableRows" min="1" max="100" step="1" value="4">
        <input type="color" title="Table Border Color" name="tbColor" value="#cccccc">
        <input type="checkbox" title="Table Background" name="tbBackground">
        <input type="color" title="Table Background Color" name="tbBgColor" value="#ffffff" condition="tbBackground">
        <fieldset type="background" name="bg" parallax>
            <input type="image" title="Background Image" value="assets/images/background1.jpg">
            <input type="color" title="Background Color" value="#9c98cf" selected>
        </fieldset>
    </mbr-parameters>

    <div class="container container-table">
        <h2 class="mbr-section-title mbr-fonts-style align-center pb-3" mbr-theme-style="display-2" mbr-if="showTitle">Projekt Tabelle</h2>
        
        <div class="search-container" mbr-if="showSearch">
            <input type="text" class="form-control" id="mobiSearch" placeholder="Suchen...">
        </div>

        <div class="table-wrapper">
            <div class="container scroll">
                <table class="table" cellspacing="0" id="mobiTable">
                    <thead>
                        <tr class="table-heads" mbr-list mbr-list-grow="tableColumns">
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">NAME</th>
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">ALTER</th>
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">DATUM</th>
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">BETRAG</th>
                        </tr>
                    </thead>
                    <tbody mbr-list mbr-list-grow="tableRows">
                        <tr mbr-list mbr-list-grow="tableColumns">
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Beispiel Name</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">22</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">2024-01-01</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">€ 1.000</td>
                        </tr>
                    <tr mbr-list mbr-list-grow="tableColumns">
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">volker</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">62</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">2024-01-01</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">€ 1.000</td>
                        </tr><tr mbr-list mbr-list-grow="tableColumns">
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">otto</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">30</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">2024-01-01</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">€ 1.000</td>
                        </tr><tr mbr-list mbr-list-grow="tableColumns">
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Beispiel Name</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">30</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">2024-01-01</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">€ 1.000</td>
                        </tr></tbody>
                </table>
            </div>
            <div id="table-info" class="mbr-fonts-style display-7"></div>
        </div>
    </div>

    <script>
        function updateTableInfo() {
            const rows = document.querySelectorAll('#mobiTable tbody tr');
            const visibleRows = Array.from(rows).filter(row => row.style.display !== 'none').length;
            const totalRows = rows.length;
            const infoBox = document.getElementById('table-info');
            if(infoBox) {
                infoBox.innerText = `Zeige ${visibleRows} von ${totalRows} Einträgen`;
            }
        }

        document.addEventListener('DOMContentLoaded', function() {
            updateTableInfo(); // Initial beim Laden

            var searchInput = document.getElementById('mobiSearch');
            if(searchInput) {
                searchInput.addEventListener('keyup', function() {
                    var filter = this.value.toLowerCase();
                    var rows = document.querySelectorAll('#mobiTable tbody tr');
                    rows.forEach(row => {
                        row.style.display = row.innerText.toLowerCase().includes(filter) ? '' : 'none';
                    });
                    updateTableInfo();
                });
            }
        });

        function mobiSortTable(th) {
            const table = th.closest('table');
            const tbody = table.querySelector('tbody');
            const rows = Array.from(tbody.querySelectorAll('tr'));
            const index = Array.from(th.parentNode.children).indexOf(th);
            const asc = th.classList.toggle('asc');
            
            rows.sort((a, b) => {
                const valA = a.children[index].innerText.toLowerCase();
                const valB = b.children[index].innerText.toLowerCase();
                return valA.localeCompare(valB, undefined, {numeric: true}) * (asc ? 1 : -1);
            });
            
            rows.forEach(row => tbody.appendChild(row));
        }
    </script>
</section>

CSS:

Code: Alles auswählen

padding-top: (@paddingTop * 15px);
padding-bottom: (@paddingBottom * 15px);
& when (@bg-type = 'color') {
  background-color: @bg-value;
}
& when (@bg-type = 'image') {
  background-image: url(@bg-value);
}
.mbr-section-subtitle {
  color: #767676;
}
.container-table {
  margin: 0 auto;
}
.scroll {
  overflow-x: auto;
  padding: 0;
}
.dataTables_wrapper {
  display: block;
  .table {
    overflow-x: auto;
  }
}
table {
  width: 100% !important;
  margin-top: 6px;
  margin-bottom: 0;
  th {
    border-top: 1px solid @tbColor;
    transition: all .2s;
    border-bottom: none;
    &:hover {
      background: rgba(0, 0, 0, 0.05);
      color: contrast(@tbColor);
    }
    cursor: pointer;
    position: relative;
    &::after {
      content: ' ↕';
      font-size: 0.8rem;
      opacity: 0.3;
    }
  }
  td {
    border-top: 1px solid @tbColor;
    &:hover {
      color: @primaryColor;
    }
  }
  tr:last-child td {
    border-bottom: 1px solid @tbColor;
  }
  &.table {
    & when (@tbBackground) {
      background: @tbBgColor;
    }
  }
  background: transparent;
  &.table when (@tbBackground) {
    background: @tbBgColor;
  }
}
.dataTables_filter {
  text-align: right;
  margin-bottom: .5rem;
  label {
    display: inline;
    white-space: normal !important;
  }
  input {
    display: inline;
    width: auto;
    margin-left: .5rem;
    border-radius: 100px;
    padding-left: 1rem;
  }
}
.dataTables_info {
  padding-bottom: 1rem;
  padding-top: 1rem;
  white-space: normal !important;
}
@media (max-width: 992px) {
  .dataTables_filter {
    text-align: center;
  }
}
@media (max-width: 350px) {
  .dataTables_filter {
    text-align: center;
    input {
      width: 100% !important;
      margin-left: 0 !important;
    }
  }
}
.search-container {
  margin: 0 auto 2rem auto;
  max-width: 400px;
}
#mobiSearch {
  border-radius: 100px;
  padding: 10px 20px;
  border: 1px solid @tbColor;
}
TD {
  color: #ffffff;
}
#table-info {
  margin-top: 1rem;
  padding: 0 0.5rem;
  color: #767676;
  font-style: italic;
}
tabelle.png
Baut man sich einfach selber ;)

Bis zu 10 Columns und 50 rows - sollte reichen oder ?

Hier online : https://www.niederastroth.de/tabelle/
Dateianhänge
tabelle2.png
Volker
Moderator
Moderator
Beiträge: 2006
Registriert: Sa 12. Dez 2020, 22:35

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Volker »

Hier noch eine Version die über die volle Blockbreite geht

HTML:

Code: Alles auswählen

<section data-bs-version="5.1" class="section-table" group="Tables" data-bg-video="{{bg.type == 'video' && bg.value.url}}" mbr-class="{'mbr-parallax-background': bg.parallax}">

    <mbr-parameters>
        <input type="range" inline title="Oben" name="paddingTop" min="0" max="8" step="1" value="4">
        <input type="range" inline title="Unten" name="paddingBottom" min="0" max="8" step="1" value="4">
        
        <input type="checkbox" title="Titel zeigen" name="showTitle" checked>
        <input type="checkbox" title="Suche zeigen" name="showSearch" checked>
        
        <hr>
        
        <input type="checkbox" title="Ganze Breite (Full Width)" name="fullWidth">
        <input type="range" inline title="Breite (%)" name="tableWidth" min="20" max="100" step="1" value="100" condition="!fullWidth">
        
        <hr>
        
        <input type="range" inline title="Spalten" name="tableColumns" min="1" max="10" step="1" value="8">
        <input type="range" inline title="Zeilen" name="tableRows" min="1" max="100" step="1" value="3">
        
        <input type="color" title="Rahmen Farbe" name="tbColor" value="#cccccc">
        <input type="checkbox" title="Tabellen Hintergrund" name="tbBackground" checked>
        <input type="color" title="Hintergrund Farbe" name="tbBgColor" value="#a6a99c" condition="tbBackground">

        <fieldset type="background" name="bg">
            <input type="image" title="Hintergrund Bild" value="file:///F:/PHP%20Scripte%20Volker/Terminanfrage/ktest/Neuer%20Ordner/assets/images/mbr-1920x1225.jpg" selected>
            <input type="color" title="Hintergrund Farbe" value="#ffffff">
        </fieldset>
    </mbr-parameters>

    <div class="{{fullWidth ? 'container-fluid' : 'container'}} container-table" style="{{!fullWidth ? 'max-width: ' + tableWidth + '%;' : ''}}">
        
        <h2 class="mbr-section-title mbr-fonts-style align-center pb-3" mbr-theme-style="display-2" mbr-if="showTitle">
            Projekt Übersicht
        </h2>
        
        <div class="search-container" mbr-if="showSearch">
            <input type="text" class="form-control" id="mobiSearch" placeholder="Suchen...">
        </div>

        <div class="table-wrapper">
            <div class="scroll">
                <table class="table" cellspacing="0" id="mobiTable">
                    <thead>
                        <tr class="table-heads" mbr-list mbr-list-grow="tableColumns">
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 1</th>
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 2</th>
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 3</th>
                            <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 4</th>
                        <th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 4</th><th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 4</th><th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 4</th><th mbr-text class="head-item mbr-fonts-style" mbr-theme-style="display-7" onclick="mobiSortTable(this)">SPALTE 4</th></tr>
                    </thead>
                    <tbody mbr-list mbr-list-grow="tableRows">
                        <tr mbr-list mbr-list-grow="tableColumns">
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt A</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt B</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt C</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td>
                        <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td></tr>
                    <tr mbr-list mbr-list-grow="tableColumns">
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt A</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt B</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt C</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td>
                        <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td></tr><tr mbr-list mbr-list-grow="tableColumns">
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt A</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt B</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt C</td>
                            <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td>
                        <td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td><td mbr-text class="body-item mbr-fonts-style" mbr-theme-style="display-7">Inhalt D</td></tr></tbody>
                </table>
            </div>
            <div id="table-info" class="mbr-fonts-style display-7"></div>
        </div>
    </div>

    <script>
        // Funktion für die "X von Y" Anzeige
        function updateTableInfo() {
            const rows = document.querySelectorAll('#mobiTable tbody tr');
            const visibleRows = Array.from(rows).filter(row => row.style.display !== 'none').length;
            const totalRows = rows.length;
            const infoBox = document.getElementById('table-info');
            if(infoBox) {
                infoBox.innerText = `Zeige ${visibleRows} von ${totalRows} Einträgen`;
            }
        }

        // Such-Logik
        document.addEventListener('DOMContentLoaded', function() {
            updateTableInfo();
            var searchInput = document.getElementById('mobiSearch');
            if(searchInput) {
                searchInput.addEventListener('keyup', function() {
                    var filter = this.value.toLowerCase();
                    var rows = document.querySelectorAll('#mobiTable tbody tr');
                    rows.forEach(row => {
                        row.style.display = row.innerText.toLowerCase().includes(filter) ? '' : 'none';
                    });
                    updateTableInfo();
                });
            }
        });

        // Sortier-Logik
        function mobiSortTable(th) {
            const table = th.closest('table');
            const tbody = table.querySelector('tbody');
            const rows = Array.from(tbody.querySelectorAll('tr'));
            const index = Array.from(th.parentNode.children).indexOf(th);
            const asc = th.classList.toggle('asc');
            
            rows.sort((a, b) => {
                const valA = a.children[index].innerText.toLowerCase();
                const valB = b.children[index].innerText.toLowerCase();
                return valA.localeCompare(valB, undefined, {numeric: true}) * (asc ? 1 : -1);
            });
            
            rows.forEach(row => tbody.appendChild(row));
        }
    </script>
</section>

CSS:

Code: Alles auswählen

padding-top: (@paddingTop * 15px);
padding-bottom: (@paddingBottom * 15px);
& when (@bg-type = 'color') {
  background-color: @bg-value;
}
& when (@bg-type = 'image') {
  background-image: url(@bg-value);
}
.mbr-section-subtitle {
  color: #767676;
}
.container-table {
  margin: 0 auto;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px;
  padding-right: 15px;
}
.scroll {
  overflow-x: auto;
  padding: 0;
  width: 100%;
}
.dataTables_wrapper {
  display: block;
  .table {
    overflow-x: auto;
  }
}
table {
  width: 100% !important;
  margin-top: 6px;
  margin-bottom: 0;
  th {
    border-top: 1px solid @tbColor;
    transition: background 0.2s;
    border-bottom: none;
    &:hover {
      background: rgba(0, 0, 0, 0.05);
      color: contrast(@tbColor);
    }
    cursor: pointer;
    position: relative;
    &::after {
      content: ' ⇅';
      font-size: 0.7rem;
      opacity: 0.4;
    }
  }
  td {
    border-top: 1px solid @tbColor;
    &:hover {
      color: @primaryColor;
    }
    vertical-align: middle;
  }
  tr:last-child td {
    border-bottom: 1px solid @tbColor;
  }
  &.table {
    & when (@tbBackground) {
      background: @tbBgColor;
    }
  }
  background: transparent;
  &.table when (@tbBackground) {
    background: @tbBgColor;
  }
}
.dataTables_filter {
  text-align: right;
  margin-bottom: .5rem;
  label {
    display: inline;
    white-space: normal !important;
  }
  input {
    display: inline;
    width: auto;
    margin-left: .5rem;
    border-radius: 100px;
    padding-left: 1rem;
  }
}
.dataTables_info {
  padding-bottom: 1rem;
  padding-top: 1rem;
  white-space: normal !important;
}
@media (max-width: 992px) {
  .dataTables_filter {
    text-align: center;
  }
}
@media (max-width: 350px) {
  .dataTables_filter {
    text-align: center;
    input {
      width: 100% !important;
      margin-left: 0 !important;
    }
  }
}
.search-container {
  margin: 0 auto 2rem auto;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
#mobiSearch {
  border-radius: 100px;
  padding: 10px 20px;
  border: 1px solid @tbColor;
}
TD {
  color: #ffffff;
}
#table-info {
  margin-top: 1rem;
  padding: 0 0.5rem;
  color: #767676;
  font-style: italic;
}
H2 {
  color: #ffffff;
}
.container-fluid.container-table {
  padding-left: 4vw;
  padding-right: 4vw;
}
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Hallo Volker,

vielen Dank für Deinen Tip. Leider wird aber auch durch Deinen HTML und CSS Code der unerwünschte Eintrag am Ende der Tabelle angezeigt.

Siehe Bild.

Trotzdem vielen Dank
Tabelle-2.png
Volker
Moderator
Moderator
Beiträge: 2006
Registriert: Sa 12. Dez 2020, 22:35

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Volker »

was für einen block hast du genommen für die Tabelle ?

Ich hoffe nicht den alten Tabellenblock ;)
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Bushisan hat geschrieben: So 25. Jan 2026, 19:04 Hallo Helge,
Ich hab diese Tabelle hier eingebaut. Hat einwandfrei funktioniert!
https://www.shotokan-karate-dojo-neuki ... uecher.php

User: Tester
PW: Einloggen

Die CSS findest Du im weiteren Text!
Hallo Bushisan,
vielen Dank für die Hilfe und die Login-Daten.
Die Tabelle schaut sehr gut aus. :tu:

Was meintest Du aber mit "Die CSS findest Du im weitern Text!"
Auf Deiner Seite finde ich kein CSS im weiteren Text. Oder sehe ich den Wald vor lauter Bäumen nicht? :(

Viele Grüße
Helge
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Volker hat geschrieben: So 25. Jan 2026, 21:55 was für einen block hast du genommen für die Tabelle ?

Ich hoffe nicht den alten Tabellenblock ;)
Nein einen neuen leeren HTML-Block und auch noch mal einen ganz anderen Block aus dem Theme CargoM5
Volker
Moderator
Moderator
Beiträge: 2006
Registriert: Sa 12. Dez 2020, 22:35

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Volker »

Da ich den Fehler hier nicht habe und sehe : https://www.niederastroth.de/tabelle/

Kann ich Dir wohl auch nicht helfen. Ich hab einen Standard M5 Textblock genommen, den leer geräumt und meinen Code da rein gesetzt - Ergebnis siehst Du ja ;)
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Hallo Volker,

dann stehe ich jetzt erstmal auf dem bekanntlichen Schlauch. :(

Danke trotzdem :tu:
Benutzeravatar
Bushisan
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 299
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Bushisan »

Hallo Helge,

Die CSS steht weiter unten im Text vom Tutorial. Einfach kopieren und einfügen.
Bin bis vermutlich Dienstag im Krankenhaus. Dann kann ich Dir die CSS zusenden.
Grüße
Es kann nur einen geben - warum bin ich das nicht?
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Hallo Volker,

das ist sehr nett. Kann ich gerne drauf warten. :D
Aber Dir wünsche ich und das ist viel wichtiger, alles alles Gute im Krankenhaus und werde wieder gesund. :tu:

Viele Grüße
Helge
Benutzeravatar
Bushisan
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 299
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Bushisan »

Dankeschön

Grüße aus der schönen Oberpfalz
Hubert
Es kann nur einen geben - warum bin ich das nicht?
Volker
Moderator
Moderator
Beiträge: 2006
Registriert: Sa 12. Dez 2020, 22:35

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Volker »

Versuch mal das als Erweiterung zu importieren und schau ob das klappt.

https://www.niederastroth.de/tabellenblock.mbrext
Volker
Moderator
Moderator
Beiträge: 2006
Registriert: Sa 12. Dez 2020, 22:35

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Volker »

Fewo hat geschrieben: So 25. Jan 2026, 22:57 Hallo Volker,

das ist sehr nett. Kann ich gerne drauf warten. :D
Aber Dir wünsche ich und das ist viel wichtiger, alles alles Gute im Krankenhaus und werde wieder gesund. :tu:

Viele Grüße
Helge
Die Wünsche geben wir mal an Tommy weiter ;)
Benutzeravatar
Bushisan
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 299
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Bushisan »

Tommy ist im Krankenhaus 😲

Hab mich schon gewundert, lange nichts gehört von ihm.

Von hier alles Gute Tommy, das Du schnell wieder auf die Beine kommst!!!

Grüße Hubert
Es kann nur einen geben - warum bin ich das nicht?
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Hallo Tommy und Bushisan,

bitte unbedingt wieder gesund werden. Das ist das, was am meisten zählt. :hallo:
Viele Grüße Helge
Benutzeravatar
Bushisan
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 299
Registriert: So 13. Dez 2020, 21:23
Wohnort: Neukirchen bei Sulzbach-Rosenberg
Kontaktdaten:

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Bushisan »

Hallihallo, bin wieder zu Hause und alles gut !!

Hallo Helge,

hier mal alle Codes vom Tabellenblock. Sind noch 3 Bücher drin, Auch diese Hoovergeschichte für die Buchcover- musste dann halt rauslöschen :)



Hier der HTML-Teil:

Code: Alles auswählen


<meta charset="UTF-8">
  <title>Sortierbare Tabelle mit Popup</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
  <style>
    body { font-family: Arial, sans-serif; margin: 20px; }

    .search-box {
      max-width: 300px;
      position: relative;
    }
    .search-box i {
      position: absolute;
      left: 10px;
      top: 50%;
      transform: translateY(-50%);
      color: #888;
    }
    .search-box input {
      padding-left: 2rem;
    }

    table {
      width: 100%;
      border-collapse: collapse;
    }
    th, td {
      padding: 8px;
      border: 1px solid #ccc;
    }
    th {
      cursor: pointer;
      background: #f8f8f8;
    }
    th.asc::after { content: " ▲"; }
    th.desc::after { content: " ▼"; }

    .popup {
      position: fixed;
      top: 50%;
      left: 50%;
      width: 450px;
      height: 400px;
      background: #fff;
      border: 1px solid #ccc;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
      border-radius: 8px;
      padding: 10px;
      display: none;
      z-index: 1000;
      transform: translate(-50%, -50%);
    }
    .popup img {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 0 auto 10px auto;
    }
    .popup p {
      font-size: 0.1rem;
      line-height: 1.4;
      text-align: center;
      word-wrap: break-word;
    }
  </style>



<div id="mybox" class="box">
  <div class="mbr-text mbr-fonts-style">
    <!-- Suchfeld -->
    <div class="d-flex justify-content-end mb-3">
      <div class="search-box">
        <i class="fa fa-search" style="font-size:20px;color:orange"></i>
        <input type="text" id="searchInput" class="form-control" placeholder="&nbsp;&nbsp;&nbsp;Suchbegriff eingeben...">
      </div>
    </div>

    <!-- Tabelle -->
    <table id="booksTable" class="table table-striped table-hover tablehead">
      <thead>
                <tr>
          <th class="" scope="col">Vorname</th>
          <th class="" scope="col">Name</th>
          <th class="" scope="col">Titel</th>
          <th class="" scope="col">Verlag</th>
             <th class="" scope="col">ISBN-Nr.:</th>
             <th class="" scope="col">Bemerkung</th>
        </tr>
      </thead>
      <tbody>
          
          
          
          
         <tr>
          <td>Gerhard</td>
          <td>Kerscher</td>
          <td>Kuatsu und Akupressur</td>
          <td>Eigenverlag Oblinger-Kerscher</td>
          <td data-img="https://www.shotokan-karate-dojo-neukirchen.de/buchcover/Kuatsu.png" data-text="">978-3-00-064343-9</td>
          <td><a href="https://eigenverlag-oblinger-kerscher.de/" target="_blank">Leseprobe</a></td>
         </tr>
          
          
           <tr>
          <td>Dominik</td>
          <td>Lutz</td>
          <td>Karate Do - Tradition und Innovation</td>
          <td>PUKROP-Verlag</td>
          <td data-img="https://www.shotokan-karate-dojo-neukirchen.de/buchcover/karate_do.png" data-text="">3-00-009946-8</td>

          <td><a href="https://www.amazon.de/Karlheinz-Bartelmann-Waldemar-Kleinow-Hand-Georg/dp/3000099468" target="_blank">Inhaltsangabe</a></td>
         </tr>
          
          
          
          
            <tr>
          <td>Dominik</td>
          <td>Lutz</td>
          <td>Enzyklopädie des Shotokan Karate</td>
          <td>Schlatt-books</td>
           <td data-img="https://www.shotokan-karate-dojo-neukirchen.de/buchcover/schllatt.png" data-text="">3-937745-04-1</td>      
          <td><a href="https://www.isbn.de/buch/9783937745046/enzyklopaedie-des-shotokan-karate" target="_blank">Inhaltsangabe</a></td>
         </tr>
          


          
          
          
          
      </tbody>
    </table>

    <!-- Scroll to top -->
    <a href="javascript:void(0);" class="text-primary" style="float: right; color: black; padding-right: 50px; padding-bottom: 8px;" onclick="tableScrollTop()">🔝nach oben🔝
      <span class="sli-arrow-up-circle mbr-iconfont mbr-iconfont-btn"></span>
    </a>
  </div>
</div>

<!-- Popup -->
<div id="popup" class="popup">
  <img id="popupImage" src="file:///C:/Users/huber/AppData/Local/Mobirise.com/Mobirise/hubert_002emueller55_0040gmail_002ecom/userblocks/mobirise4/pro.custom-html_3" alt="Cover">
  <p id="popupText"></p>
</div>

<script>
document.addEventListener("DOMContentLoaded", function() {
  const searchInput = document.getElementById("searchInput");
  const table = document.getElementById("booksTable");
  const tableRows = table.querySelectorAll("tbody tr");
  const popup = document.getElementById("popup");
  const popupImage = document.getElementById("popupImage");
  const popupText = document.getElementById("popupText");

  // Suchfunktion
  searchInput.addEventListener("keyup", function() {
    const filter = searchInput.value.toLowerCase();
    tableRows.forEach(row => {
      const text = row.textContent.toLowerCase();
      row.style.display = text.includes(filter) ? "" : "none";
    });
  });

  // Sortierfunktion
  const headers = table.querySelectorAll("th");
  headers.forEach((header, index) => {
    header.addEventListener("click", () => {
      const rows = Array.from(table.querySelectorAll("tbody tr"));
      const asc = !header.classList.contains("asc");
      headers.forEach(h => h.classList.remove("asc", "desc"));
      header.classList.add(asc ? "asc" : "desc");

      rows.sort((a, b) => {
        const cellA = a.children[index].textContent.trim().toLowerCase();
        const cellB = b.children[index].textContent.trim().toLowerCase();
        return asc ? cellA.localeCompare(cellB) : cellB.localeCompare(cellA);
      });

      rows.forEach(row => table.querySelector("tbody").appendChild(row));
    });
  });

  // Popup bei Hover über 5. Spalte (ISBN)
  table.querySelectorAll("tbody td:nth-child(5)").forEach(cell => {
    cell.addEventListener("mouseenter", function() {
      popupImage.src = cell.dataset.img || "https://via.placeholder.com/450x260?text=Cover";
      popupText.textContent = cell.dataset.text || ("Informationen zur ISBN: " + cell.textContent);
      popup.style.display = "block";
    });
    cell.addEventListener("mouseleave", function(e) {
      if (!popup.contains(e.relatedTarget)) {
        popup.style.display = "none";
      }
    });
  });

  popup.addEventListener("mouseleave", function() {
    popup.style.display = "none";
  });
});

// Scroll-to-top Funktion
function tableScrollTop() {
  window.scrollTo({ top: 0, behavior: 'smooth' });
}
</script>


Hier das komplette CSS meines Tabellenblocks:

Code: Alles auswählen


div {
  padding: 0px 0;
  color: #777;
  text-align: center;
     width: 100%;
    background-color: white;
}
p {
  font-size: 60px;
  color: #777;
}

.ausrichtung {
  text-align: right;
}


a {

  color: black;
 
}


.scroll-top-link {
  float: right;
  color: black;   /* Textfarbe */
}


th {
  background-color: #f9934c;
  color: black;

      font-weight: 500;
      padding-left: 50px;
    
}

tr {

  color: black;
    font-size: 17px;
    
}

div.box {
  height: 70vh;
  max-height: 90vh;
  min-height: 400px;
  overflow-y: scroll;
  resize: vertical;
  background-color: white;
}
table.tablehead th {
  position: sticky;
  top: 0;
  z-index: 2;
  color: #ffffff;
  background-color: #f9934c;
}


img {

  width: 300px;
   height: auto;
}


input {
  
  background-color: white;
}

/* Firefox */
* {
   scrollbar-color: #f9934c #cccccc;
}
/* Chrome, Edge, Safari */
*::-webkit-scrollbar {
  width: 12px !important;
}
*::-webkit-scrollbar-track {
  background: #bde5f9 !important;
}
*::-webkit-scrollbar-thumb {
  background-color: #0d5072 !important;
  border-radius: 20px !important;
  border: 2px solid white;
}

.popup {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 450px;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  border-radius: 8px;
  padding: 10px;
  display: none;
  z-index: 1000;
  transform: translate(-50%, -50%); /* Zentrierung */
}
.popup img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 10px auto;
}
.popup p {
  font-size: 0.01rem;
  line-height: 0.2;
  text-align: center;
  word-wrap: break-word;
    color: white;
}


Und das hier in den End of <body> code:

Code: Alles auswählen

<script src="./tablesort/TableSort.js"></script>



<!-- Scroll-To-Top of table div box -->
<script>
function tableScrollTop() {
  const element = document.getElementById('mybox');
  element.scroll({
    top: 0,
    behavior: 'smooth'
  });
}
</script>

Ich hoffe das hilft Dir - wenn Du noch Frage hast melde Dich einfach :)
Viel Erfolg und Grüße
Hubert
Es kann nur einen geben - warum bin ich das nicht?
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Hallo Bushisan und Volker,

vielen Dank nochmal für Eure tolle Hilfe. :hurra:
Habs dann mit Euren Code-Beispielen geschafft. Musste dafür aber extra einen Artikel-Block aus einem ThemeM5 nehmen.

Viele Grüße
Fewo
Mitglied (Level 4)
Mitglied (Level 4)
Beiträge: 36
Registriert: So 27. Dez 2020, 01:50

Re: Immer noch Bug der Tabellen aus M4-Themes in Mobirise v6.1.12?

Ungelesener Beitrag von Fewo »

Eine Frage noch an Dich Bushisan,

das mit dem Hover über die ISBN-Nr. und das Img-Popup gefällt mir sehr gut. Hatte schon lange so etwas gesucht. :tu:
Leider funzt zwar Dein Code in meinem Mobirise Block, aber das Hover-Popup-Img wird leider nicht angezeigt.
Hast Du da evtl. noch einen Tipp?

Viele Grüße Helge
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste