Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 09. Januar 2014 13:59
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
[GELÖST] tbtools: alle vorhandenen Seiten ausgeben
Ich wollte gerade versuchen, den page_alias aller vorhanden Seiten in einer Liste aufzuschlüsseln.
Versucht habe ich es mit "getPageContent" aber das setzt einen page_alias vorraus bzw. arbeitet es ab der aktuellen Seite. Also gibt mir nicht alle Seiten aus, sondern immer nur beginnend von dem entsprechenden page_alias. Gibt es auch ne Möglichkeit einfach alle Seiten auszugeben, unabhängig vom gerade aktuellen page_alias?
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#2 09. Januar 2014 14:29
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] tbtools: alle vorhandenen Seiten ausgeben
Kannst Du das nicht auch mit dem Menumanager machen oder wäre der dafür zu fett?
Soweit ich das sehe, gibt es da in ToolBox nichts fertiges.
Was genau hast Du denn mit den Aliases vor?
Alle Seiten bzw. deren Alias auszulesen, ist meiner Meinung nach einfacher, wenn man sich dazu einen UDT oder ein Plugin schreibt.
Der offizielle Weg wäre z.B. der:
$content_ops =& cmsms()->GetContentOperations();
$all_content = $content_ops->GetAllContent();
$all_aliases = array();
foreach($all_content as $content_obj)
{
$all_aliases[] = $content_obj->Alias();
}
cmsms()->GetSmarty()->assign('all_aliases', $all_aliases);
Dann hast Du im Template ein array namens {$all_aliases} mit allen Seiten-Aliases - egal ob aktiv oder sichtbar. Wenn Du es differenzierter willst, musst Du in der foreach-Schleife mit Hilfe von if-Bedingungen aussortieren.
Z.B.:
$content_ops =& cmsms()->GetContentOperations();
$all_content = $content_ops->GetAllContent();
$all_aliases = array();
foreach($all_content as $content_obj)
{
if(!$content_obj->Active())
continue;
$all_aliases[] = $content_obj->Alias();
}
cmsms()->GetSmarty()->assign('all_aliases', $all_aliases);
Jenachdem was Du am Ende damit vor hast bzw. wie viele Seiten es sind, könnte man evtl. auch eine eigene DB-Abfrage in Betracht ziehen. Das könnte vielleicht performanter sein.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 09. Januar 2014 15:05
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: [GELÖST] tbtools: alle vorhandenen Seiten ausgeben
naja. will dem anwender eine multiple_select liste anbieten, bei der er die seiten auswählt, die dann auf der startseite mit vorschaubild und titel ausgegeben werden sollen. ich nehme jetzt erstmal content_dump. da geht die abfrage mit einer zeile: {content_dump assign="dump"} ;-).
aber was mir gerade viel mehr sorgen macht: template inheritance. da sind solche spielereien anscheinend nicht möglich
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#4 09. Januar 2014 17:46
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] tbtools: alle vorhandenen Seiten ausgeben
aber was mir gerade viel mehr sorgen macht: template inheritance. da sind solche spielereien anscheinend nicht möglich
Wie sieht denn Dein Szenario aus?
Inhaltsblöcke kann man schon auf einzelne Templates aufteilen.
Ich kann das aber nicht so einfach nachstellen.
Dazu fehlt mir gerade die Fantasie.
Kannst Du das mal beispielhaft skizzieren?
(Welches Template wird in welches eingebunden, welche Variablen werden wo gebraucht etc.)
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#5 09. Januar 2014 17:53
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: [GELÖST] tbtools: alle vorhandenen Seiten ausgeben
ja, das ist eben das problem. das hier abzubilden. ich habe ein mastertemplate. dort steht alles wesentliche drin. dann habe ich ein weiteres template in das ich zB einen block mit multiple_select ausgeben will. aber das gibt mir ständig internal error 500 zurück. mangels zeit, unterlasse ich derartige spielereien erstmal. eventuell veröffentliche ich mal ne anleitung. ist eigentlich ne feine sache diese methode.
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
Seiten: 1