Ergebnis 1 bis 8 von 8

Thema: Suchen nach Klassennamen in einem Artikel

  1. #1
    Contao-Nutzer
    Registriert seit
    23.11.2023.
    Beiträge
    25

    Standard Suchen nach Klassennamen in einem Artikel

    Hallo zusammen,

    gerade überarbeite ich meine custom CSS-Klassen, um meinen CSS-Code zu verschlanken. Um in den einzelnen Artikeln schnell die Inhaltselemente zu finden, die eine bestimmte custom CSS-Klasse enthalten, wollte ich die Suchfunktion "Klassennamen = ..." nutzen. Leider liefert diese Suchfunktion kein Ergebnis. Wenn ich hingegen die Suchfunktion "Text = ..." verwende, bekomme ich Ergebnisse. Woran kann es liegen, dass ich mit der Suchfunktion keine custom CSS-Klasse in meinen Artikeln finden kann?

    Hat vielleicht jemand einen Tipp für mich?

    Besten Dank.
    GB

  2. #2
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    796
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Am schnellsten wirst du die custom CSS Klassen in der Datenbank ausfindig machen. Schaue dir dazu die Tabelle tl_content an, dort spalte cssID an, die Angaben sind zwar serialisiert aber auffindbare.

    Hoffe es hilft dir bei deiner Suche.

  3. #3
    Contao-Nutzer
    Registriert seit
    23.11.2023.
    Beiträge
    25

    Standard

    Hallo Ainschy,

    besten Dank für die schnelle Hilfe. Meine SQL-Kenntnisse reichen leider nicht so weit, dass ich die gefundenen Klassennamen automatisiert umbenennen kann.
    Mit SELECT cssID FROM `tl_content` WHERE cssID LIKE '%content-list%'; finde ich z.B. 22 Datensätze.
    In diesen 22 Datensätzen würde ich nun gerne in einem Rutsch die Zeichenkette "content-list" in "list" umbenennen. Geht das?

  4. #4
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    796
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Es ist wohl einfacher sich die IDs der Content Elemente zu merken und diese an fix per Hand im Backend aufzurufen (die ID in URI austauschen) und dann die Änderung vorzunehmen.

    Alternative ein kleines Skript schreiben das erst die Datensätze herausfiltert, die Spalte cssID deserialisiert, css Eintrag ändern und wieder serialisiert per Update an die DB zurück schreibt.

    Ich weis nicht für dich schneller geht.

  5. #5
    Contao-Nutzer
    Registriert seit
    23.11.2023.
    Beiträge
    25

    Standard

    OK, deserialisieren und serialisieren hört sich kompliziert an. Ich habe keine Desktop-Software wie z.B. den Qracle SQL Developer zur Hand, sondern nur die phpMyAdmin-Oberfläche. Dort habe ich gesehen, dass ich die selektieren Datenbankfelder direkt editieren kann, das geht einigermaßen flott. Ist das vielleicht ein gangbarer Weg?

    Update: Habe gerade festgestellt, dass nach dieser Aktion im Backend-Frontend der Datenbankeintrag im Eingabefeld CSS-ID unter "Experteneinstellungen" erscheint. Dort steht dann z.B. a:2:{i:0;s:0:"";i:1;s:17:"list link";}
    Das funktioniert also nicht.
    Geändert von gbecker (04.01.2024 um 21:11 Uhr)

  6. #6
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    796
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Da das cssID Serialisiert gespeichert wird:
    PHP-Code:
    a:2:{i:0;s:0:"";i:1;s:0:"";} 
    musst du dieser Codierung entsprechend deiner Änderungen anpassen.



    Wie gesagt, suche dir die IDs der Content Elemente per Select Abfrage zusammen, da hast du ja bereits ein Beispiel gepostet.

    Dann gehst du ins Backend in einen Artikel, bearbeitest irgend ein Content Element und änderst in der URL die ID zu einer aus deiner Abfrage, öffnest das entsprechende Content Element und passt die CSS Klasse an. Speichern und mit der nächsten ID genauso verfahren.

    Eine URL könnte wie folgt aus sehen und an der stelle nach ...id=123&table=tl_content... tauscht du die 123 gegen die ID aus deiner Abfrage aus.

    Code:
    https://www.domain.tld/contao?do=article&id=123&table=tl_content&act=edit&rt=HIP9jVkEIO65orcABV4bhOaXnZAehigJwo_EmmqtwGI&ref=T03qLFiN

  7. #7
    Contao-Nutzer
    Registriert seit
    23.11.2023.
    Beiträge
    25

    Lächelndes Gesicht

    Ah, super, das geht auch recht schnell, einfach die Artikel-ID in der URL austauschen und die gewünschte Seite öffnet sich direkt im Edit-Mode. CSS-Klasse ändern, speichern fertig. Vielen Dank für die schnelle Hilfe.

    Noch eine Frage:
    Kann ich die kaputt-editierten Einträge in der Datenbank reparieren, indem ich im Backend-Fontend den Eintrag "a:2:{i:0;s:0:"";i:1;s:17:"list link";}" im CSS-ID-Eingabefeld lösche, die beiden Custom CSS-Klassen "list" und "link" in das CSS-CLASS-Eingabefeld einfüge und dann das Ganze speichere? Ist danach in der Datenbank alles wieder korrekt serialisiert?
    Geändert von gbecker (04.01.2024 um 21:07 Uhr)

  8. #8
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.753
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja das sollte so funktionieren, wenn der Artikel nicht noch eine ID hatte. Die müsstest Du dann auch manuell wieder herstellen.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •