[TYPO3-german] TYPO3 | Fluid, Viewhelper und Seiten-Verbindungen
bernd wilke
t3ng at bernd-wilke.net
Mon Nov 17 08:51:05 CET 2014
Am 14.11.14 17:22, schrieb Oliver W.:
> Hallo,
>
> aktuell baue ich an einem ViewHelper der unter anderem eine Aufgabe erfüllen soll.
> Ich brauche zur Umsetzung einer Funktion, die IDs der rootline - allerdings nicht von der aktuellen Seite, sondern von einer beliebigen.
>
> Die Rootline kann ich über das Page Repository abrufen - erhalte allerdings nur die Rootline in Form eines Stringt, der natürlicher den gesamten Pfad beinhaltet.
>
> Dies geschieht aktuell so:
> $pageRepository = $this->objectManager->get('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
> $rootLine = $pageRepository->getPathFromRootline($pageRepository->getRootLine($this->arguments['pageId']));
>
> Die Ausgabe sieht in etwa so aus: /root/page1/country1/page22
> Ich bräuchte aber hier die jeweilge IDs.
>
>
> Hintergrund ist folgender:
>
> Es handelt sich um eine mehrsprachige Webseite mit mehreren Unterseiten, die wiederum mehrere Länderseiten haben.
> Das ganze könnt ihr auch so vorstellen:
>
> root
> |- dachmarke
> |- untermarke
> |- country1
> |- page1[ID: 200]
> |- page2
> |- country2
> |- page1[ID: 300]
> |- page2
> |- country3
> |- untermarke
> |- country 1
> |- ...
>
> Innerhalb der Untermarken, sollte bei einem Countrywechsel die jeweilige Seite bzw. das jeweiligen Seitenthema erneut geladen werden.
> Sprich: Country1 - Seite "About". Bei einem Wechsel in Country2 soll desen Seite "About" geladen werden - genau genommen wie beim Sprachwechsel.
> Dies realisiere ich mit Relation, die man in den Seiteneigenschaften vergeben kann.
>
> Mit den gegebenen Informationen will ich mir ein Country-Select-Menü bauen, welches direkt passend verlinkt ist.
> Bin ich also gerade in Country1 auf der Seite page1, soll in dem Country-Select-Menü der Link von Country2 direkt auf die in Verbindung stehende Seite verweisen.
das klingt für mich sehr kompliziert weil du zu allen möglichen Nachbarn
auf allen Ebenen Relationen pflegen musst. Also zu den Nachbarn bzgl.
der Sprache und zu Nachbarn der Untermarke.
> Vielleicht kennt jemand auch einen anderen Lösungsansatz - ich bin in dem Fall für jede Hilfe dankbar :)
wenn du schon den gesamten Pfad ausgeschrieben bekommst, warum nutzt du
das nicht um dann selektiv nur den Pfadabschnitt auszutauschen der
gerade zur Auswahl steht?
du schriebst oben: /root/page1/country1/page22
nach deinem Baum vermute ich mal:
http://domain/untermarke1/country1/page1/
dabei könnte dann country1 entsprechend einem Drop-down select
ausgetauscht werden:
^
country1
country2
http://domain/untermarke1/country3/page1/
country4
v
und man würde auf der Nachbarseite landen ohne dass man deren Id wissen
müsste.
Analog kann man das dann auch für die Untermarken machen.
Einzige Voraussetzung wäre dass die Seiten der untersten Ebene immer die
gleiche Pfadbezeichnung haben (was mit alias bzw. realurlpath machbar
wäre).
bernd
--
http://www.pi-phi.de/cheatsheet.html
More information about the TYPO3-german
mailing list