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
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
Weiß nicht ob es die beste Lösung ist, aber vielleicht so?
Hab mich dabei an diese Anleitung orientiertCode:<?php $this->import('Database'); $result = $this->Database->prepare("SELECT * FROM tl_page")->execute(); echo $result->numRows; ?>
https://de.contaowiki.org/Datenbank_Klasse_verwenden
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
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?
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
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 :-)
Z.B. direkt ins Template be_welcome
Oder über die system/config/initconfig.php eine neue Message ins System bringenPHP-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 den HOOK getSystemMessages eine Message auf die BE-Startseite bringen. (Evtl. zu schwierig für dich)PHP-Code:
<?php
if(TL_MODE == 'BE')
{
\Message::addInfo(\PageModel::countAll().' Seiten in tl_page');
}
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
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 :-).
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
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?
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? :-)
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?
Und ansonsten aber nur, wenn ich die BE-Startseite aufrufe oder? :-) Das Template wird ja sonst nicht mehr gebraucht.
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
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 :-).Ja, ich denke sowieso, dass dies nur ne Spielerei ist, die demnächst wieder verworfen wird. Macht ja keinen Sinn das anzuzeigen.
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 :-(.
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
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 in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen