Neu LEXIKON mit HTML erstellen auf eigener Seite

MAJP

Aktives Mitglied
18. März 2021
74
8
hier mal was anderes ein Lexikon als Standard HTML Seite VLT ist es für euch was... nachdem das Plugin doch ein bissle was kostet und man da nicht Massen Importe machen kann... hier kann man mit excel und ein paar formeln arbeiten:
zum Aufbau es nimmt den ersten Buchstaben und ordnet es automatisch den swatches zu. also wenn man eine "1" am Anfang stehen hat muss man die Swatches maunuell hinzufügen

ich hoffe es kann jemanden weiterhelfen

die Formel ist dazu da den Inhalt zu füllen.
EXCEL FORMEL:
Code:
= "<li><strong>"&A218&":</strong> "&B218&" </li>"


HTML CODE:

Code:
<title></title>
<style type="text/css">ul {
      list-style-type: none;
    }
    
    li {
      margin-bottom: 1em;
    }
    
    .swatch {
      display: inline-flex;
        align-items: center;
        justify-content: center;
      width: 2em;
      height: 2em;
      border: 0.1em solid #000;
      margin-right: 0.25em;
      margin-bottom: 0.25em;
      cursor: pointer;
      font-size: 1.5em
    }
    .swatch.selected {
      border-width: 0.2em;
    }
</style>
<div><span class="swatch selected" data-letter="all">ALL</span>
<span class="swatch" data-letter="a">A</span>
<span class="swatch" data-letter="b">B</span>
<span class="swatch" data-letter="c">C</span>
<span class="swatch" data-letter="d">D</span>
<span class="swatch" data-letter="e">E</span>
<span class="swatch" data-letter="f">F</span>
<span class="swatch" data-letter="g">G</span>
<span class="swatch" data-letter="h">H</span>
<span class="swatch" data-letter="i">I</span>
<span class="swatch" data-letter="j">J</span>
<span class="swatch" data-letter="k">K</span>
<span class="swatch" data-letter="l">L</span>
<span class="swatch" data-letter="m">M</span>
<span class="swatch" data-letter="n">N</span>
<span class="swatch" data-letter="o">O</span>
<span class="swatch" data-letter="p">P</span>
<span class="swatch" data-letter="q">Q</span>
<span class="swatch" data-letter="r">R</span>
<span class="swatch" data-letter="s">S</span>
<span class="swatch" data-letter="t">T</span>
<span class="swatch" data-letter="u">U</span>
<span class="swatch" data-letter="v">V</span>
<span class="swatch" data-letter="w">W</span>
<span class="swatch" data-letter="x">X</span>
<span class="swatch" data-letter="y">Y</span>
<span class="swatch" data-letter="z">Z</span>
<!-- Füge hier weitere Swatches hinzu --></div>

<p></p>

<ul id="entries">
    <li><strong>Abseilen:</strong> hier die beschreibung balabalalbla.</li>
    <li><strong>Abspannleinen:</strong> hier die beschreibung balabalalbla.</li>
    <li><strong>Alpineschuhe:</strong> Ahier die beschreibung balabalalbla.</li>
    <li><strong>Zwischensohle:</strong> hier die beschreibung balabalalbla.</li>
    <!-- Füge hier weitere Einträge hinzu -->
</ul>
<script>
    var swatches = document.getElementsByClassName("swatch");
    var entries = document.getElementById("entries").getElementsByTagName("li");

 
    for (var i = 0; i < swatches.length; i++) {
      swatches[i].addEventListener("click", function() {
        var selectedLetter = this.getAttribute("data-letter");
        
        for (var j = 0; j < swatches.length; j++) {
          swatches[j].classList.remove("selected");
        }
        
        this.classList.add("selected");
        
        for (var k = 0; k < entries.length; k++) {
          var entry = entries[k];
          var firstLetter = entry.getElementsByTagName("strong")[0].textContent.charAt(0).toLowerCase();
          
          if (selectedLetter === "all" || firstLetter === selectedLetter) {
            entry.style.display = "block";
          } else {
            entry.style.display = "none";
          }
        }
      });
    }
  </script>
 

MAJP

Aktives Mitglied
18. März 2021
74
8
HIER WÄRE DIE Version 2.

was hat sich geändert man kann jetzt themen hinzufügen und danach filtern zudem funktioniert die suche viel besser und das einpflegen neuer daten ist viel leichter

EXCEL FUNKTION WÄRE DANN
Code:
="{ term: '"&B1&"', definition: '"&C1&"', topic: '"&A1&"' },"

wobei spalte B die Bezeichnung ist C die Definition und A das Thema


Code:
<title></title>
<style type="text/css">.swatch {
      display: inline-block;
      padding: 0em 0.5em 2em 0.5em;
      min-width: 2em;
      height: 2em;
      border-radius: 2em;
      margin-right: 0.25em;
      margin-bottom: 0.25em;
      border: 0.1em solid #4D6F39;
      text-align: center;
      line-height: 2em;
      font-size: 1.5em;
      cursor: pointer; /* Hinzugefügt: Mauszeiger als Zeiger ändern */
    }

    .swatch.active {
      background-color: #4D6F39;
      color: #fff;
    }
 
    h3 {
      font-size: 1.5em;
      margin-bottom: 0.1em;
    }
    h4 {
      font-size: 1.5em;
      margin-top: 1em;
      margin-bottom: 0.5em;
    }
    p {
      margin-bottom: 1em;
    }
 
      #searchInput {
          border-radius: 2em;
          padding: 0.5em 1.5em;
          margin-bottom: 1em;
        margin-top: 1em;
          height: 2em;
        text-align: center;
        border-block-color: #F09200;
        border-inline-color: #F09200;
  }
</style>
<h3>Sotierung nach</h3>

<h4>Alpahbet</h4>

<div id="letterList"></div>

<h4>Themen</h4>

<div id="topicList"></div>
<input id="searchInput" placeholder="Suche nach einem Begriff" type="text" />
<h2 id="currentFilter"></h2>

<ul id="termList">
</ul>
<script>
  // Beispieldaten für das Lexikon
  var lexicon = [
{ term: '2,5-Lagen-Konstruktion', definition: ' Eine 2,5-Lagen-Konstruktion bei Regenjacken bedeutet, dass sie aus einer äußeren wasserdichten Schicht, einer halbdurchlässigen Membran und einem Schutzfilm auf der Innenseite besteht. Diese Konstruktion ermöglicht eine gute Wasserdichtigkeit und Atmungsaktivität bei leichtem Gewicht.', topic: 'Bekleidung' },
{ term: '3-Lagen-Konstruktion', definition: ' Eine 3-Lagen-Konstruktion bei Regenjacken bedeutet, dass sie aus einer äußeren wasserdichten Schicht, einer Membran und einem Innenfutter besteht. Diese Konstruktion bietet eine höhere Strapazierfähigkeit, bessere Atmungsaktivität und eignet sich gut für anspruchsvolle Aktivitäten und raue Wetterbedingungen.', topic: 'Bekleidung' },
{ term: 'Atmungsaktivität', definition: ' Die Atmungsaktivität einer Regenjacke bezieht sich auf ihre Fähigkeit, Feuchtigkeit von innen nach außen abzuleiten. Eine gute Atmungsaktivität verhindert ein Überhitzen und Schweißbildung im Inneren der Jacke. Atmungsaktive Regenjacken ermöglichen einen effizienten Feuchtigkeitstransport und bieten Komfort während körperlicher Aktivitäten.', topic: 'Bekleidung' },
{ term: 'Belüftungsöffnungen', definition: ' Belüftungsöffnungen sind strategisch platzierte Reißverschlüsse oder Mesh-Einsätze in einer Regenjacke, die eine verbesserte Luftzirkulation ermöglichen. Sie helfen, die Körperwärme und Feuchtigkeit zu regulieren und verhindern ein Überhitzen während intensiver Aktivitäten. Belüftungsöffnungen sind besonders bei längeren Wanderungen oder sportlichen Aktivitäten wichtig.', topic: 'Bekleidung' },

  // Ihr weitere Daten einfügen
  ];

  // Lexikon-Einträge alphabetisch sortieren
  lexicon.sort(function (a, b) {
    return a.term.localeCompare(b.term);
  });

  // Funktion zum Erstellen der Swatches für die alphabetische Übersicht
  function createLetterSwatches() {
    var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    var letterList = document.getElementById('letterList');

    for (var i = 0; i < letters.length; i++) {
      var swatch = document.createElement('span');
      swatch.className = 'swatch';
      swatch.textContent = letters[i];
      letterList.appendChild(swatch);
    }

    // Swatch für alle Einträge hinzufügen
    var allEntriesSwatch = document.createElement('span');
    allEntriesSwatch.className = 'swatch';
    allEntriesSwatch.textContent = 'All';
    letterList.appendChild(allEntriesSwatch);

    // Event Listener hinzufügen, um auf Swatch-Klicks zu reagieren
    var swatches = document.getElementsByClassName('swatch');
    for (var i = 0; i < swatches.length; i++) {
      swatches[i].addEventListener('click', handleSwatchClick);
    }

    // Standardmäßig "All" auswählen
    allEntriesSwatch.classList.add('active');
  }

  // Funktion zum Erstellen der Swatches für die verschiedenen Themen
  function createTopicSwatches() {
    var topics = [];
    for (var i = 0; i < lexicon.length; i++) {
      if (!topics.includes(lexicon[i].topic)) {
        topics.push(lexicon[i].topic);
      }
    }

    var topicList = document.getElementById('topicList');
    for (var i = 0; i < topics.length; i++) {
      var swatch = document.createElement('span');
      swatch.className = 'swatch';
      swatch.textContent = topics[i];
      topicList.appendChild(swatch);
    }

    // Event Listener hinzufügen, um auf Swatch-Klicks zu reagieren
    var swatches = document.getElementsByClassName('swatch');
    for (var i = 0; i < swatches.length; i++) {
      swatches[i].addEventListener('click', handleSwatchClick);
    }
  }

  // Funktion zum Behandeln von Swatch-Klicks
  function handleSwatchClick(event) {
    var swatch = event.target;
    var isActive = swatch.classList.contains('active');

    // Wenn die Swatch bereits aktiv ist, nichts tun
    if (isActive) {
      return;
    }

    // Alle aktiven Swatches deaktivieren
    var activeSwatches = document.getElementsByClassName('swatch active');
    for (var i = 0; i < activeSwatches.length; i++) {
      activeSwatches[i].classList.remove('active');
    }

    // Klickte Swatch als aktiv markieren
    swatch.classList.add('active');

    // Filter aktualisieren
    var currentFilter = document.getElementById('currentFilter');
    currentFilter.textContent = swatch.textContent;

    // Begriffsliste aktualisieren
    var filter = swatch.textContent;
    createTermList(filter);
  }

  // Funktion zum Erstellen der Begriffsliste basierend auf dem ausgewählten Filter
  function createTermList(filter) {
    var termList = document.getElementById('termList');
    termList.innerHTML = '';

    if (filter === 'All') {
      // Alle Einträge anzeigen
      for (var i = 0; i < lexicon.length; i++) {
        var termItem = document.createElement('li');
        var termTitle = document.createElement('h3');
        termTitle.textContent = lexicon[i].term;
        termItem.appendChild(termTitle);
        var termDefinition = document.createElement('p');
        termDefinition.textContent = lexicon[i].definition;
        termItem.appendChild(termDefinition);
        termList.appendChild(termItem);
      }
    } else {
      // Einträge nach Buchstabe oder Thema filtern
      for (var i = 0; i < lexicon.length; i++) {
        if (lexicon[i].term.charAt(0) === filter || lexicon[i].topic === filter) {
          var termItem = document.createElement('li');
          var termTitle = document.createElement('h3');
          termTitle.textContent = lexicon[i].term;
          termItem.appendChild(termTitle);
          var termDefinition = document.createElement('p');
          termDefinition.textContent = lexicon[i].definition;
          termItem.appendChild(termDefinition);
          termList.appendChild(termItem);
        }
      }
    }
  }

  // Funktion zum Initialisieren der Filter- und Begriffsliste
  function initialize() {
    createLetterSwatches();
    createTopicSwatches();
    createTermList('All');

    // Event Listener hinzufügen, um auf Sucheingaben zu reagieren
    var searchInput = document.getElementById('searchInput');
    searchInput.addEventListener('input', handleSearchInput);
  }

  // Funktion zum Behandeln der Sucheingaben
  function handleSearchInput(event) {
    var searchTerm = event.target.value.toLowerCase();
    var termList = document.getElementById('termList');
    termList.innerHTML = '';

    for (var i = 0; i < lexicon.length; i++) {
      var term = lexicon[i].term.toLowerCase();
      var definition = lexicon[i].definition.toLowerCase();

      if (term.includes(searchTerm) || definition.includes(searchTerm)) {
        var termItem = document.createElement('li');
        var termTitle = document.createElement('h3');
        termTitle.textContent = lexicon[i].term;
        termItem.appendChild(termTitle);
        var termDefinition = document.createElement('p');
        termDefinition.textContent = lexicon[i].definition;
        termItem.appendChild(termDefinition);
        termList.appendChild(termItem);
      }
    }
  }

  // Lexikon initialisieren
  initialize();
</script>
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu GPSR Verordnung - Wie handhabt ihr das im Shop mit dem Nova Template? Betrieb / Pflege von JTL-Shop 2
Neu Plugin: WooCommerce Wallet oder Gutscheine mit JTL nutzen - Fehler in der MwSt User helfen Usern - Fragen zu JTL-Wawi 0
Lagerartikel mit Variation, von denen manche kein Lager brauchen JTL-Wawi 1.9 1
Chargennummer eines Artikels auf der Rechnung mit ausdrucken JTL-Wawi 1.9 1
Neu Amazon Custom Orders mit Bildern von Kunden Amazon-Anbindung - Ideen, Lob und Kritik 0
Neu Sales Info / Aussendienst Informationssystem mit Besuchserfassung und vielen weiteren Funktionen auf der JTL Connect 2024 Dienstleistung, Jobs und Ähnliches 1
Neu Export / Exportformate: Anleitung bzw. Infoseite mit zulässigen Tags ? Betrieb / Pflege von JTL-Shop 0
Zahlungsmodul mit DKB klappt nicht JTL-Wawi 1.9 21
Neu neue Tarife mit Shop verstehe ich da was falsch? Allgemeine Fragen zu JTL-Shop 3
Neu Problem mit Scroll-Link nach Update auf Shop-Version 5.3.3 Technische Fragen zu Plugins und Templates 0
Neu Kern Waage die im Netzwerk hängt (via Moxa NPort 5100) auf RDP Server mit WMS nutzen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Hat jemand Erfahrung mit MrPacket? User helfen Usern 0
Neu Abgleich mit JTL Shop läuft nach zahlreichen erfolgreichen Durchläufen nicht mehr weiter JTL-Shop - Fehler und Bugs 11
Neu Wie andere Länder und Sprachen vom Google Shopping Plugin mit dem Merchant Center verbinden Plugins für JTL-Shop 5
Neu Nutzung von JTL POS im B2B Bereich mit späterer Zahlung Allgemeine Fragen zu JTL-POS 0
Neu Abholung mit DHL: Ist das immer so schlimm? User helfen Usern 5
Neu Problem mit Shopify abgleich Shopify-Connector 2
Stücklisten mit begrenzter Stückzahl JTL-Wawi 1.9 2
Auftrag ohne Versand aber mit Lagerbuchung abschließen JTL-Wawi 1.9 1
Neu Ebay Verkäufe - Auswahlartikel mit händischer Auswahl in der Rechnung - wie bei Wawi 1.9 vorgehen ?! Arbeitsabläufe in JTL-Wawi 0
Neu Einstieg in die JTL-Welt – JTL-Start mit Wawi-Lager oder gleich JTL-WMS? User helfen Usern - Fragen zu JTL-Wawi 23
Neu Artikel-Etiketten zusammen mit Pickliste drucken Arbeitsabläufe in JTL-Wawi 0
Neu Amazon Für das Feld "Preis mit Steuern zur Anzeige eBay-Anbindung - Fehler und Bugs 2
Neu "Artikel erscheint" Datum mit auf RE drucken Arbeitsabläufe in JTL-Wawi 2
Neu Erfahrungen mit Temu / Anbindung JTL User helfen Usern - Fragen zu JTL-Wawi 5
Neu Rechnungsvorlage mit Boxennummer Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Artikel Bezeichnugen mit einer Funktion variabel abschneiden Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Unterschiedliche Lagerplätze, wie konfigurieren? Waage nur mit WMS? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu JTL-ERP-Connector funktioniert ab 20.09.2024 nicht mehr mit Shopify!? Shopify-Connector 2
Neu Probleme mit Varianten dann Stückliste und beim Hinzufügen ist dann schluss JTL-Wawi - Fehler und Bugs 7
Neu Seit gestern Meldung: Problems creating SAAJ object model mit Export bei Internetmarke JTL-Track&Trace - Fehler und Bugs 2
Neu Endlich Vertreterprovsionen für JTL-Wawi mit arpaTools ProviMate User helfen Usern 0
Neu SQL prozeduren mit #temp Tabellen Eigene Übersichten in der JTL-Wawi 28
Neu JTL WAWI - Suche nach Designer für eBay-Vorlage mit CLP-Feldern Dienstleistung, Jobs und Ähnliches 0
Artikelverkauf über JTL-Shop mit Bestand 0 in der JTL WaWi JTL-Wawi 1.9 13
Neu Stornierte Aufträge werden mit "Ist bezahlt" JA gekennzeichnet JTL-Wawi - Ideen, Lob und Kritik 21
Neu JTL Shipping, DHL Label Pakete mit erhöhtem Gewicht, Kennzeichnung JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu Suche nach zuverlässigen Lieferanten für umweltfreundliche Kartonagen mit Höhenriller Smalltalk 1
Versand von Sperrgut mit JTL-Shipping-Labels, Abmessungen eingeben JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu günstiger Anbieter für Kartenzahlung mit Gerät gesucht User helfen Usern - Fragen zu JTL-Wawi 3
Datenschutz mit Kunden die kein Konto hinterlegt haben JTL-Wawi 1.9 0
Neu Fehler mit der Synchronisation zwischen Shop und WaWi JTL-Shop - Fehler und Bugs 1
Vaterartikel werden mit angelegt Otto.de - Anbindung (SCX) 0
In Bearbeitung Sunmi T2 (Android 7) mit SumUp abgekündigt zum 30.06.2024 - ab welcher JTL-POS Version? Konsequenzen? JTL-POS - Fragen zu Hardware 5
In Diskussion Problem mit Steuerberechnung bei Freieretoure auf Tagesbericht und in Statistiken JTL-POS - Fehler und Bugs 4
Versandkosten mit gewichteter MwSt einstellbar? JTL-Wawi 1.7 2
Neu Nordirland mit DHL und JTL Shipping Labels JTL-ShippingLabels - Fehler und Bugs 1
Neu Warnung an E-Commerce-Unternehmen: Unsere enttäuschenden Erfahrungen mit JTL JTL-Wawi - Ideen, Lob und Kritik 0
Neu Wie handhabt ihr eure Buchhaltung mit JTL? Arbeitsabläufe in JTL-Wawi 9
Neu Druckproblem Artikeletiketten mit Zebra ZD421d User helfen Usern - Fragen zu JTL-Wawi 2

Ähnliche Themen