Zum Inhalt springen

INNER/OUTER - Verständnisproblem

Erstellt am 23. November 2006 · 3 Antworten · letzte Antwort am 6. Dezember 2006

Tags: Frage

csm2611 ·

Hallo!

Ich nutze seit kurzem TemplaVoila und bin voll begeistert. Hab nur ein kleines Verständnisproblem beim MAPPEN... Ich komm mir nicht drauf, was INNER OUTER oder RANGE verschiedenes machen. Hab schon auf zahlreichen Webpages geschaut, bin aber nicht schlauer geworden. Kann mir jemand diese Methoden erklären. Bitte, Bitte!!!

Danke im Voraus...

ehontheim ·

Hallole!

Gesetzt den Fall, du hast eine HTML-Struktur wie folgt:

...
<div class="page">
	<div id="hauptmenu" >hier kommt das Hauptmenü hin
		<ul>
			<li><a href="...">Thema 1</a></li>
			<li><a href="...">Thema 2</a></li>
			<li><a href="...">Thema 3</a></li>
			<li><a href="...">Thema 4</a></li>	
			<li><a href="...">Thema 5</a></li>
			<li><a href="...">Thema 6</a></li>	
		</ul>
	</div>
	<div id="hauptinhalt">und hier kommt der Hauptinhalt hin
		<div id="inhalt1"></div>
		<div id="inhalt2"></div>
	</div>
</div>
...

:inner gemapped auf <div id="hauptinhalt">: Das div bleibt erhalten, aber der Inhalt ist weg. D.h., bei :inner bleibt das gemappte HTML-Element erhalten, aber der Inhalt geht verloren und kann auch nicht mehr für etwas anderes gemapped werden. Ergebnis:

...
<div id="hauptinhalt">
</div>
...

:outer gemapped auf das <ul>-Element: Jetzt geht nicht nur der Inhalt verloren, sondern auch das UL-Element wird ersetzt. Das wäre hier in diesem Falle dann auch gewollt. Denn <ul> und <li> werden im Bedarf bei der Menüerstellung über Typoscript eingefügt. Ergebnis:

...
<div class="page">

	<div id="hauptmenu"></div>

	<div id="hauptinhalt">
	</div>
</div>
...

Statt des :outer auf das <ul>-Element wird mit :range auf das erste <li>-Element bis zum 5. <li>-Element (Thema 5)gemapped . Das 6. <li>-Element (Thema 6) bleibt erhalten und kann für ein weiteres Mapping verwendet werden. Auf diese Art und Weise ließe sich zum Beispiel ein 2-geteiltes Menü erstellen. Im ersten Range (Thema1 bis Thema5) das Hauptmenü. Und mit dem Mapping auf das letzte <li>-Element ein Sondermenü.
Kann man so machen, muss man aber nicht. Mir fällt nur kein besseres Beispiel dazu ein.

...
<div id="hauptmenu">hier kommt das Hauptmenü hin
	<ul>
		
		<li><a href="fileadmin/templates/html/...">Thema 6</a></li>	
	</ul>
</div>
...

Zusammenfassung: outer dann verwenden, wenn das gemappte HTML-Element als solches nicht benötigt wird/nicht gewollt ist.

Uff, hoffe, das war verständlich.

Grüße

Erwin

demeter ·

hi riven und ehontheim

einen kleinen Zusatz möchte ich noch machen:
Wenn ich einen SC inner mappe, kann ich innerhalb CO outer mappen:
Beispiel:

<div class="page">
        <div id="hauptmenu" >hier kommt das Hauptmenü hin
                <ul>
                        <li><a href="...">Thema 1</a></li>
                </ul>
        </div>
</div>

auf ul einen SC mit inner
auf das li einen CO outer. auf den link kann ich jetzt wieder set inner mappen.

Im FCE wird mir jetzt eine Dropdown Box angeboten in der ich das li immer wieder auswählen kann, und so eine listenformatierung gestalten kann.

Im Zusammenhang mit dem SC macht das inner/outer dann einen Sinn. Ich kann dadurch FCE zusammenfassen und später immer wieder ein neues html Element dazumappen, ohne gleich alles mappen zu müssen.

Grüsse demeter