Ergebnis 1 bis 7 von 7

Thema: tags mit Sonderzeichen + (Plus) funktionieren nicht

  1. #1
    Contao-Nutzer
    Registriert seit
    17.03.2011.
    Beiträge
    49

    Standard tags mit Sonderzeichen + (Plus) funktionieren nicht

    Hallo,
    folgendes Problem: contao 2.9.2, Tags Erweiterung und Tags-News installiert. Nun vergebe ich einer News folgenden Tag: "m+a report".
    Dieser wird in der Tag-Cloud angezeigt, allerdings zeigt das Auswählen nichts an, die Beiträge mit dem tag werden nicht ausgegeben. Liegt wohl am "+"...
    Folgendes steht in der Adressleiste: .../tag/m+a+report.html

    Das "+" Zeichen im Tag funktioniert nicht - gibt es da eine Lösung? Konnte im Forum nichts finden, das muß doch schon oft passiert sein?

    Wäre ein Ansatz in der dcaconfig.php? Im Stile:
    $GLOBALS['TL_DCA']['tl_news']['fields']['tags']['eval']['allowHtml'] = true;

    nur dass das "+" Zeichen keinen Html-Namen hat... oder kann man es anders maskieren... stehe auf dem Schlauch und wäre um jede Hilfe dankbar.

    Servus,
    Martin

  2. #2
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    URL-encode mal dein Plus und schau ob es dann klappt.

    Wenn ich euch helfen konnte könnt ihr euch gerne mal
    meine Amazon Wunschliste anschauen. Dankeschön.

  3. #3
    Contao-Nutzer
    Registriert seit
    17.03.2011.
    Beiträge
    49

    Standard

    uppala, da zerhauts mir das Auszeichnungsfeld im BE, folgendes steht da jetzt:
    Code:
    Warning: sprintf(): Too few arguments in /var/www/web328/html/system/modules/tags/TagField.php on line 158
    
    #0 [internal function]: __error(2, 'sprintf(): Too ...', '/var/www/web328...', 158, Array)
    #1 /var/www/web328/html/system/modules/tags/TagField.php(158): sprintf('
    Bitte geben Sie eine oder mehrere Auszeichnungen durch Komma getrennt an, um eine Kategorisierung vorzunehmen.
    im FE ist die Tagcloud noch da:

    "m%2Ba report"

    und in der Adressleiste:
    Code:
    ...tag/m%2Ba+report.html
    ...es wird keine News angezeigt und das Feld ist im BE futsch...
    Geändert von martin1012 (02.07.2012 um 18:34 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    17.03.2011.
    Beiträge
    49

    Standard

    ... so über phpMyAdmin den Eintrag aus tl_tags gelöscht, jetzt funktionieren die Auszeichnungen wieder im BE...

    der andere Ansatz in der dcaconfig.php:
    Code:
    $GLOBALS['TL_DCA']['tl_news']['fields']['tags']['eval']['allowHtml'] = true;
    und dem Eintrag:
    Code:
    m+a report
    führt auch zu nichts...
    in der Tag-cloud steht: "m+a report", in der Adressleiste "...tag/m+a+report.html"

    hast du noch eine Idee psren? danke
    Geändert von martin1012 (02.07.2012 um 18:41 Uhr)

  5. #5
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    Ich hatte das Problem auch schon einmal, aber habe den schnellen Weg gewählt indem ich einfach im Backend ein einderes Zeichen z.B. einen Bodenstrich verwendet habe und im FE-Template dann per str_replace('_','+', $str); das Zeichen durch ein Plus ersetzt habe.

    Wenn ich euch helfen konnte könnt ihr euch gerne mal
    meine Amazon Wunschliste anschauen. Dankeschön.

  6. #6
    Contao-Nutzer
    Registriert seit
    17.03.2011.
    Beiträge
    49

    Standard

    danke für die schnellen Antworten psren!

    habe versucht
    Code:
    <?php str_replace('_','+', $tag['tag_name']); ?>
    am Anfang des Templates "mod_tagcloud" einzufügen, aber irgendwas mache ich falsch. Hier der relevante Schnipsel aus dem Template:
    Code:
    <?php foreach ($this->tags as $tag): ?>
    	<li class="<?php echo $tag['tag_class']; ?>"><?php if (strlen($this->jumpTo)): ?><a href="<?php echo $tag['tag_url']; ?>" title="<?php echo $tag['tag_name'] . ' (' . $tag['tag_count'] . ')'; ?>"><?php endif; ?><?php echo $tag['tag_name']; ?><?php if (strlen($this->jumpTo)): ?></a><?php endif; ?></li>
    <?php endforeach; ?>
    Hat jemand einen Tip was ich falsch mache? Es wird weiterhin "m_a report" angezeigt...

  7. #7
    Contao-Nutzer
    Registriert seit
    17.03.2011.
    Beiträge
    49

    Standard für mich gelöst

    danke für die Denkanstöße, habe das nun so gelöst:

    in dem relevanten Template Code von oben das echo des "tag_name" in der Cloud um die str_replace Funktion ergänzen:
    Code:
    <?php $tag['tag_name'] = str_replace('_','+', $tag['tag_name']); echo $tag['tag_name']; ?>
    Geändert von martin1012 (02.07.2012 um 20:19 Uhr)

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
  •