Ergebnis 1 bis 13 von 13

Thema: bestimmtes Wort bei Auffinden im Main-Div durch eigenen HTML Code ersetzen

  1. #1
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard bestimmtes Wort bei Auffinden im Main-Div durch eigenen HTML Code ersetzen

    Hallo,

    Gibt es ein Modul, dass mir bei Auffinden eines bestimmten Wortes im Text (Auch im Tag Überschrift) diesen String durch einen von mir verfassten HTML-Code automatisch ersetzt?

    Im Prinzip soll unser Firmenname per css anders dargestellt und das Copyright angehängt werden.

    Vielen Dank für Eure Mühe

  2. #2
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Das könnte man mit dem outputFrontendTemplate - Hook machen.
    Anbei mal ein Beispiel. Ist ungetestet, könnte aber klappen.
    In der Ersetzen.php den FIRMENNAME natürlich noch ersetzen. Ebenso die Klasse.

    Dies hilft dabei:
    http://simplehtmldom.sourceforge.net/manual_api.htm
    Aber Vorsicht, die von mir angehängte simplehtmldom - Version wurde von Andreas Schempp ein wenig verbessert, sonst klappt es nicht.

    Den Ordner einfach in system/modules kopieren.

    Dort gibt es dann die Ersetzen.php

    PHP-Code:
    <?php
    include_once('simple_html_dom.php');
    class 
    Ersetzen {
      public function 
    outputFrontendTemplate($strContent$strTemplate) {
      
    $html str_get_html($strContent);
      
    $names $html->find('FIRMENNAME');
      if  (
    count($nodes) >0) {
        foreach (
    $names as $name) {
            
    $name->plaintext = <span class="firmenname"> . $name . </span>;
         }

        }
        
    $strContent $html->save();
        return 
    $strContent;
      }
    }
    ?>
    Unter config die config.php

    PHP-Code:
    <?php
    $GLOBALS
    ['TL_HOOKS']['outputFrontendTemplate'][] = array('Ersetzen''outputFrontendTemplate');
    ?>

  3. #3
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard

    Hallo,

    danke für deine Hilfe.

    Entweder bin ich blind oder du hast vergessen die modifizierte Datei "simple_html_dom.php" bzw. den ganzen Ordner mit anzuhängen.

  4. #4
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Ups. Vergessen.
    Angehängte Dateien Angehängte Dateien

  5. #5
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard

    Hallo,

    der Code prodziert eine absolut leere Seite. Im Quelltext steht gar nichts.

    Fehlercode:
    Code:
    Parse error: syntax error, unexpected '<' in ... /system/modules/Ersetzen/Ersetzen.php on line 9
    Geändert von nghgn (07.02.2011 um 18:56 Uhr)

  6. #6
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Mein Fehler. Simplehtmldom findet natürlich kein Text. Nur Tags.

    Dies hier klappt aber (gerade getestet):


    PHP-Code:
    <?php
    class Ersetzen {
      public function 
    outputFrontendTemplate($strContent$strTemplate) {
           
    $strContent str_replace('FIRMA''<span class="firma">FIRMA</span>'$strContent);    
         return 
    $strContent;
      }
    }
    ?>

  7. #7
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard

    Danke.

    Läuft.

  8. #8
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.337
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ergänzend sei vermerkt, dass auch die Extension 'autolink' so etwas prima und auch unter Contao 2.9x umsetzt.

    Carolina

  9. #9
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard

    Hallo,

    das mit der Erweiterung "autolink" funktioniert leider nicht so wie ich das möchte.

    Der Codeschnipsel funktioniert. Nur scheint es Probleme meim Übermitteln des Zeichensatzes zu geben, da dieser erst erkannt wird, wenn der Browser den Zeichensatz im HTML-Quelltext interpretiert hat.

    Ich habe dazu auch eine Fehlermeldung:
    Code:
    Warning: Cannot modify header information - headers already sent by
    (output started at /htdocs/system/modules/Ersetzen/Ersetzen.php:9)
    in /htdocs/system/libraries/Template.php on line 186

  10. #10
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Guck mal ob du in den PHP-Dateien noch irgendwo ein Leerzeichen am Ende stehen hast. Nach ?> am Ende darf nichts mehr stehen.

  11. #11
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard

    bingo!
    Da hat sich hinter ?> noch ein Leerzeichen versteckt.

    Danke

  12. #12
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard

    Hallo,

    so langsam möchte ich doch auf Contao 3 umsteigen. Vor geraumer Zeit hatte ich das schon mal getestet und es gab mit zu vielen Modulen Probleme, auch mit diesem.

    Wie sähe denn eine solche Lösung mit Contao 3 aus?

    Es erscheint nach dem Aktivieren der Erweiterung folgene Fehlermeldung:

    Code:
    Fatal error: Class 'Ersetzen' not found in /.../contao/system/modules/core/library/Contao/System.php on line 110
    Dank an die Experten.

    NgHgN
    Geändert von nghgn (12.04.2014 um 11:53 Uhr)

  13. #13
    Contao-Nutzer
    Registriert seit
    06.02.2011.
    Beiträge
    15

    Standard

    Habe herausgefunden, woran es liegt.

    In Contao 3 müssen alle Klassen registriert werden.

    Der Autoloader-Creator in den Entwicklungs-Tools erledigt das.

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Eigenen HTML-Code automatisch neuen Mitgliedergruppen zuweisen
    Von Raynaldo im Forum Geschützte Bereiche/Mitglieder
    Antworten: 5
    Letzter Beitrag: 26.11.2010, 09:06
  2. Antworten: 2
    Letzter Beitrag: 05.11.2010, 08:52
  3. Einbinden von "IMG" über eigenen HTML-Code
    Von the_dot im Forum Layout / Templates / Holy Grail
    Antworten: 7
    Letzter Beitrag: 12.08.2010, 12:59
  4. Registration - Textfeld durch Dropdown ersetzen?
    Von about:blank im Forum Formulare
    Antworten: 2
    Letzter Beitrag: 13.06.2010, 13:53
  5. PHP im eigenen HTML-Code Modul
    Von cGn-Web im Forum Allgemeine Inhaltselemente
    Antworten: 2
    Letzter Beitrag: 20.04.2010, 12:24

Lesezeichen

Lesezeichen

Berechtigungen

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