Contao-Camp 2024
Ergebnis 1 bis 16 von 16

Thema: FAQ - Meta-Description für FAQ-Beiträge

  1. #1
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard FAQ - Meta-Description für FAQ-Beiträge

    Hallo zusammen,

    ich nutze die FAQ. Wenn ich nun einen FAQ-Beitrag teile, dann erscheint die FAQ-Frage mit einem Link zur entsprechenden Seite und da keine Meta-Description vorgesehen ist, darunter noch einmal die selbe Frage. Das sieht natürlich nicht so schön aus. Wie kann eine Description hinzufügen? Viele Möglichkeiten gibt es ja nicht. Bei den News kann ich es ja noch über den Teaser-Text steuern bzw. es gibt auch eine Erweiterung.

    Habt ihr eine Idee?

  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich würde wahrscheinlich eine Mini-Erweiterung machen, die ein zusätzliches Feld für die Description hinzufügt. Für die News habe ich sowas ähnliches schon gemacht, da ging es problemlos. FAQ habe ich noch nie benutzt, sollte aber eigentlich ähnlich einfach funktionieren.

  3. #3
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard

    Wenn ich eine Erweiterung schreiben könnte, wäre das sicher die Lösung. Aber dazu reichen meine Kenntnisse nicht aus.

    Ich habe in der ModuleFaqReader.php folgende Zeilen gefunden. Könnte hier das "Problem" liegen? Wenn ja, wie kann ich es lösen?
    PHP-Code:
        // Overwrite the page title and description (see #2853 and #4955)
            
    if ($objFaq->question != '')
            {
                
    $objPage->pageTitle strip_tags(strip_insert_tags($objFaq->question));
                
    $objPage->description $this->prepareMetaDescription($objFaq->question);
            }

            
    $this->Template->question $objFaq->question

  4. #4
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das halte ich für sehr wahrscheinlich. Hier wird der Seitentitel und die Seitenbeschreibung im Wesentlichen mit der Frage überschrieben. Wie du bereits geschrieben hast ist das Problem, dass man eben keine Description eingeben kann. Wenn es dir bei den News reicht, die Description aus dem Teaser zu generieren, reicht dir bei der FAQ vielleicht der Anfang des Texts?

  5. #5
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Das halte ich für sehr wahrscheinlich. Hier wird der Seitentitel und die Seitenbeschreibung im Wesentlichen mit der Frage überschrieben. Wie du bereits geschrieben hast ist das Problem, dass man eben keine Description eingeben kann. Wenn es dir bei den News reicht, die Description aus dem Teaser zu generieren, reicht dir bei der FAQ vielleicht der Anfang des Texts?
    Ja, das würde mir vollkommen ausreichen. Damit könnte ich die doppelte unschöne Ausgabe umgehen, die auch für die SEO nicht gut ist. Wie müsste ich den Code verändern?

  6. #6
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Man kann das updatesicher im eigenen FAQ-Reader-Template machen (ungetestet).
    PHP-Code:
    <?php
    // Alle Variablen
    $this->showTemplateVars();

    global 
    $objPage;
    $objPage->description $myVar;
    ?>
    Geändert von Andreas (12.06.2017 um 20:22 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  7. #7
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die entsprechende Variable dürfte sein
    PHP-Code:
     <?php
    global $objPage;
    $objPage->description $this->answer;
    ?>
    Falls die Antwort zu lang ist für eine Seitenbeschreibung oder HTML-Tags oder sonstiges Zeugs enthält, was in eine Seitenbeschreibung nicht rein darf:
    PHP-Code:
     <?php
    global $objPage;
    $myDescription $this->replaceInsertTags($this->answerfalse);
    $myDescription strip_tags($myDescription);
    $myDescription str_replace("\n"' '$myDescription);
    $myDescription = \StringUtil::substr($myDescription180);
    $objPage->description trim($myDescription);
    ?>
    Alles völlig ungetestet, dazu müsste ich erst mal eine FAQ-Liste in eine meiner Testinstallationen einbauen, habe ich noch nie benutzt. Die Schritte habe ich der Klasse Frontend entnommen (prepareMetaDescription).

  8. #8
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Man kann das updatesicher im eigenen FAQ-Reader-Template machen (ungetestet).
    PHP-Code:
    <?php
    // Alle Variablen
    $this->showTemplateVars();

    global 
    $objPage;
    $objPage->description $myVar;
    ?>
    Ich teste das mal im eigenen Template und gebe dir Bescheid. Vielen Dank schon mal.

  9. #9
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Die entsprechende Variable dürfte sein
    PHP-Code:
     <?php
    global $objPage;
    $objPage->description $this->answer;
    ?>
    Falls die Antwort zu lang ist für eine Seitenbeschreibung oder HTML-Tags oder sonstiges Zeugs enthält, was in eine Seitenbeschreibung nicht rein darf:
    PHP-Code:
     <?php
    global $objPage;
    $myDescription $this->replaceInsertTags($this->answerfalse);
    $myDescription strip_tags($myDescription);
    $myDescription str_replace("\n"' '$myDescription);
    $myDescription = \StringUtil::substr($myDescription180);
    $objPage->description trim($myDescription);
    ?>
    Alles völlig ungetestet, dazu müsste ich erst mal eine FAQ-Liste in eine meiner Testinstallationen einbauen, habe ich noch nie benutzt. Die Schritte habe ich der Klasse Frontend entnommen (prepareMetaDescription).
    Kein Problem - auch diese Variante werde ich bei mir testen. Danke auch dir für deine Mühe.

  10. #10
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ups, es muss natürlich "$this->answer" heißen.

  11. #11
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Ups, es muss natürlich "$this->answer" heißen.
    yepp - sehe ich auch gerade ;-) Ich werde es morgen testen, heute ist die Zeit zu knapp - dankeschön

  12. #12
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard kein Erfolg

    Nun komme ich erst nach so langer Zeit dazu, an meinem Problem weiterzuarbeiten. Ich habe ein eigenes FAQ-Reader-Template angelegt und den Code entsprechend eingefügt. Das Ergebnis war eine weiße Seite im Browser mit dem Code des Templates.

    Ich bin ziemlich sicher, dass ich deinen Code an der falschen Stelle eingebaut habe. Wo müsste der Codeschnipsel hin? Am Anfang?

  13. #13
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Den Code solltest du natürlich nicht sehen. Evtl. liegt es an dem Leerzeichen vor dem " <?php" mach die mal weg. Ansonsten zeige bitte mal dein komplettes Template.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  14. #14
    Contao-Fan
    Registriert seit
    04.02.2010.
    Ort
    Berlin
    Beiträge
    264

    Standard

    So, jetzt habe ich deinen Code noch einmal eingebaut. Es scheint zu funktionieren. Denn ich bekomme die FAQ ohne Fehler angezeigt. Aber ich kann nicht überprüfen, ob die Beiträge jetzt richtig geteilt werden. Ich habe schon den Facebook Sharing Debugger bemüht. Aber es ändert sich nichts. Da ich gestern direkt am Template (nicht updatesicher) Änderungen vorgenommen habe, die ich nun rückgängig gemacht habe, müsste eine andere Anzeige erfolgen. Habe jetzt auch keine Idee, wie ich eine aktuelle Anzeige noch erzwingen kann Da heißt es wohl abwarten.

    Hier der Code des mod_faqreader.html5
    Dein Code steht gleich ab der 2. Zeile. Ist diese Stelle überhaupt richtig?

    PHP-Code:
    <?php $this->extend('block_searchable'); ?>

    <?php
    global $objPage;
    $objPage->description $this->answer;
    ?>

    <?php $this->block('content'); ?>

      <?php if ($this->error): ?>
        <?= $this->error ?>
      <?php else: ?>
        <h1><?= $this->question ?></h1>
        <div class="ce_text block">

          <?php if (!$this->addBefore): ?>
            <?= $this->answer ?>
          <?php endif; ?>

          <?php if ($this->addImage): ?>
            <figure class="image_container<?= $this->floatClass ?>"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>

              <?php if ($this->href): ?>
                <a href="<?= $this->href ?>"<?= $this->attributes ?> title="<?= $this->alt ?>">
              <?php endif; ?>

              <?php $this->insert('picture_default'$this->picture); ?>

              <?php if ($this->href): ?>
                </a>
              <?php endif; ?>

              <?php if ($this->caption): ?>
                <figcaption class="caption"><?= $this->caption ?></figcaption>
              <?php endif; ?>

            </figure>
          <?php endif; ?>

          <?php if ($this->addBefore): ?>
            <?= $this->answer ?>
          <?php endif; ?>

        </div>

        <?php if ($this->enclosure): ?>
          <div class="enclosure">
            <?php foreach ($this->enclosure as $enclosure): ?>
              <p><?= Image::getHtml($enclosure['icon'], '''class="mime_icon"'?> <a href="<?= $enclosure['href'?>" title="<?= $enclosure['title'?>"><?= $enclosure['link'?> <span class="size">(<?= $enclosure['filesize'?>)</span></a></p>
            <?php endforeach; ?>
          </div>
        <?php endif; ?>

        <p class="info"><?= $this->info ?></p>

        <!-- indexer::stop -->
        <p class="back"><a href="<?= $this->referer ?>" title="<?= $this->back ?>"><?= $this->back ?></a></p>
        <!-- indexer::continue -->
      <?php endif; ?>

      <?php if ($this->allowComments): ?>
        <div class="ce_comments block">
          <<?= $this->hlc ?>><?= $this->addComment ?></<?= $this->hlc ?>>
          <?= implode(''$this->comments?>
          <?= $this->pagination ?>
          <?php include $this->getTemplate('mod_comment_form''html5'); ?>
        </div>
      <?php endif; ?>

    <?php $this->endblock(); ?>

  15. #15
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein, der ist wahrscheinlich nicht richtig. Du musst erst schauen, welche Variablen du dort zur Verfügung hast.
    PHP-Code:
    <?php
    $this
    ->showTemplateVars();
    ?>
    Edit: Ach, $this->answer ist wahrscheinlich doch richtig, kam ja von @tab und nicht von mir geraten.
    Geändert von Andreas (20.10.2017 um 17:23 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  16. #16
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich kenne Facebook nicht. Erkläre doch nochmal genau, was dir an deinem HTML-Code im FE nicht gefällt, bzw. falsch ist oder fehlt. Zeige am besten einen Link auf die Seite und zeige bzw. erkläre dann, wo etwas nicht so ist, wie du es haben möchtest.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

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
  •