Ergebnis 1 bis 17 von 17

Thema: Anzahl der Seiten im Backend anzeigen lassen

  1. #1
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard Anzahl der Seiten im Backend anzeigen lassen

    Hallo Leute,

    gibt es eine Möglichkeit, die Gesamtzahl der Seiten eines Projekts im Backend anzeigen zu lassen? Ich sehe da momentan nur die Möglichkeit, die Anzahl in der Sitemap für Google zu sichten.

    Grüße

  2. #2
    Contao-Fan
    Registriert seit
    03.01.2012.
    Beiträge
    813

    Standard

    Weiß nicht ob es die beste Lösung ist, aber vielleicht so?

    Code:
    <?php
    	  $this->import('Database');
    	  $result = $this->Database->prepare("SELECT * FROM tl_page")->execute();
    	  echo $result->numRows;
    ?>
    Hab mich dabei an diese Anleitung orientiert

    https://de.contaowiki.org/Datenbank_Klasse_verwenden

  3. #3
    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

    Das würde man in Contao 3 dann so machen
    PHP-Code:
    $pageCount = \PageModel::findAll()->count();
    echo 
    $pageCount
    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

  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Das wäre performancetechnisch ziemlich schlecht. Dadurch werden alle Models geladen, was völlig unnötig ist für das reine Zählen von Datensätzen :-)

    PHP-Code:
    $pageCount = \PageModel::countAll(); 
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    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

    Ah, super, danke, kannte ich noch nicht.
    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

  6. #6
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Hallo Leute,
    erstmal danke an euch alle! Könntet ihr mir noch sagen, wie ich den Code am besten einbauen kann, damit mir die Anzahl auch irgendwo im Backend angezeigt wird? Vielleicht in der dcaconfig.php? Bin nicht so bewandert mit php :-)

  7. #7
    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

    Z.B. direkt ins Template be_welcome
    PHP-Code:
    <?php if (!empty($this->messages)): ?>
      <div id="tl_messages">
        <h2><?= $this->systemMessages ?></h2>
        <?= $this->messages ?>
        <!-- die nächste Zeile ist neu -->
        <?= '<p class="tl_info">'.\PageModel::countAll().' Seiten in tl_page</p>' ?>
      </div>
    <?php endif; ?>
    Oder über die system/config/initconfig.php eine neue Message ins System bringen
    PHP-Code:
    <?php
    if(TL_MODE == 'BE')
    {
      \
    Message::addInfo(\PageModel::countAll().' Seiten in tl_page');
    }
    Oder über den HOOK getSystemMessages eine Message auf die BE-Startseite bringen. (Evtl. zu schwierig für dich)
    Geändert von Andreas (08.08.2016 um 19: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

  8. #8
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Super, danke dir mal wieder! :-) Ich habe es über die system/config/initconfig.php gemacht, da mir über die Template-Anpassung nichts angezeigt wurde. Einziger Nachteil: es wird jetzt auch auf dem Backend-Login angezeigt, aber damit kann ich leben :-).

  9. #9
    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

    Zitat Zitat von berha Beitrag anzeigen
    da mir über die Template-Anpassung nichts angezeigt wurde.
    Dann hast du da was falsch gemacht. Neues Template erstellen, be_welcome, und dort den Code oben rein. Du siehst es dann nur auf der BE-Startseite.
    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

  10. #10
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Vorsicht: initconfig.php wird auch im Frontend geladen und somit ein DB Query mehr für jede einzelne Seite, obwohl er gar nicht nötig ist :-)
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  11. #11
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Aaahh, ok, habe es jetzt noch einmal mit dem Template versucht und siehe da: es funktioniert! Vorher hatte ich es mal leicht umbenannt, deshalb ging es nicht.

    Mit der initconfig.php-Variante wird die Anzahl dann auch in der Seitenübersicht angezeigt, was verhindert, dass man die Seiten auf eine engere Wahl einstellen kann (damit meine ich, bei Klick auf eine Seite erscheinen nur alle dazugehörigen).

    @Toflar: Die Template-Variante erspart mir jetzt aber den DB-Query oder? :-)

  12. #12
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Im Frontend ja
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  13. #13
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Und ansonsten aber nur, wenn ich die BE-Startseite aufrufe oder? :-) Das Template wird ja sonst nicht mehr gebraucht.

  14. #14
    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

    Zitat Zitat von Toflar Beitrag anzeigen
    Vorsicht: initconfig.php wird auch im Frontend geladen und somit ein DB Query mehr für jede einzelne Seite, obwohl er gar nicht nötig ist :-)
    Ja, ich denke sowieso, dass dies nur ne Spielerei ist, die demnächst wieder verworfen wird. Macht ja keinen Sinn das anzuzeigen. Aber ich habe das über die init oben korrigiert, sodass es nur im BE aufgerufen wird. Hatte ich auf die Schnelle nicht daran gedacht, reduziere ich bei mir auch immer aufs BE, solche Sachen.

    Stimmt, das ist nur das Templae für die Startseite im BE.
    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

  15. #15
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Ja, ich denke sowieso, dass dies nur ne Spielerei ist, die demnächst wieder verworfen wird. Macht ja keinen Sinn das anzuzeigen.
    Gut, ist sicherlich nicht die lebenswichtigste Info, aber ich finde die Anzeige sehr nützlich, da meine Seite ständig wächst und ich da seitenanzahltechnisch auf dem Laufenden bleiben will :-).

    Hätte da aber noch einen Punkt, vielleicht könnt ihr mir da nochmal helfen. Ich würde noch gerne Elemente (bspw. Artikel oder Inhaltselemente) auf ein bestimmtes WORT durchsuchen und dessen Anzahl, also wie oft es vorkommt, ausgeben - quasi wie countAll(), aber nur für dieses bestimmte Wort. Habe bereits laut Cookbook mit den Models und find() herumprobiert, aber leider ohne Erfolg :-(.

  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

    Wenn du deine DB analysieren möchtest, dann kannst du das z.B. auch mit phpMyAdmin, oder HeidiSQL machen.

    Du kannst dir auch ne Admin-Seite im FE anlegen auf die du ein Script includest mit {{file::file-my_monitor.php}} in nem CE-Typ-HTML. Darin kannst du dann alle möglichen DB-Abfragen machen und sie irgendwie präsentieren.
    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

  17. #17
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Ah klar, an phpMyAdmin hab ich jetzt gar nicht mehr gedacht, guter Tipp, dann werd ich's wohl so machen. HeidiSQL schau ich mir auch noch an und das mit dem Template versuch ich später mal.

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
  •