Zum Inhalt springen

<div>-Bereiche einer Seite mit TypoScript differenzieren

Erstellt am 15. Oktober 2014 · 4 Antworten · letzte Antwort am 16. Oktober 2014

Tags: Templates & Layouts, Bootstrap, TYPO3 6.x, Frage

JackBauer ·

TYPO3-Version: 6.2.5

Hallo zusammen,

ich habe gerade angefangen, mich in dem Bereich Webentwicklung mit TYPO3, TypoScript und Bootstrap reinzuarbeiten und bin schon auf mein erstes Problem gestoßen:

Momentan verwende ich für meine ersten Gehversuche das Grayscale Layout von Bootstrap (http://startbootstrap.com/templates/grayscale/). Grundsätzlich habe ich es mir für den Aufbau so vorgestellt, dass oben links, wo momentan "Start Bootstrap" steht, ein Drop-Down-Menü erscheinen wird, wo ein HMENU mit entryLevel = 0 ausgefahren wird. Das sollte auch erstmal kein Problem darstellen.

Nun sollen allerdings die Texte und Überschriften der verschiedenen <div>-Bereiche einer Seite separat mit TypoScript abgefragt werden. Bisher mache ich es mit

styles.content.get

Wenn ich also nun in einer Seite mehrere <div>-Bereiche angelegt habe, werden alle diese in diesem Bereich dargestellt, und nicht weiter unten (z.B. bei About, Download und Contact).

Gibt es eine Möglichkeit, einzeln auf diese Bereiche mit TypoScript zuzugreifen?

Viele Grüße

JackBauer ·

Danke für deinen Beitrag, allerdings haben wir uns hier wohl missverstanden. Wie man auf die Spalten zugreifen kann ist mir bewusst, mir geht es um die Zeilen.

Zum besseren Verständnis habe ich einen Screenshot mit angehangen.

Typo3-Content-TS.png

Chrissli ·

Dann mit RECORDS und der Container-ID oder analog mit CONTENT.
Möglich wäre evtl auch eine if-Condition in das renderObj einzubauen.
Dann solltest du mit

data = {cObj : parentRecordNumber}

auf den Eintragsindex des jeweiligen Objects zugreifen können

JackBauer ·

Soo, ich bin nun einen Schritt weiter, aber noch nicht am Ziel angekommen.

Ich lese nun per CONTENT und select die Werte aus tt_content, und kann sie auch mit renderObj darstellen. Aber was genau meinst du mit if-Condition und parentRecordNumber?

So sieht ein Teil meines TypoScriptes aus:

content = CONTENT
			content.table = tt_content
			content.select {
				orderBy = sorting
				where = colPos = 0
			}
			content.renderObj = COA
			content.renderObj {
				10 = TEXT
				10.stdWrap.field = header
				10.stdWrap.wrap = <h1>|</h1>

				20 = TEXT
				20.stdWrap.field = bodytext
				20.stdWrap.wrap = <p>|</p>
			}

Hier ein Teil im aufgerufenem Template:

    <!-- Intro Header -->
    <header class="intro">
        <div class="intro-body">
            <div class="container">
                <div class="row">
                    <div class="col-md-8 col-md-offset-2">
                       <f:format.raw>{content}</f:format.raw>
                        <a href="#about" class="btn btn-circle page-scroll">
                            <i class="fa fa-angle-double-down animated"></i>
                        </a>
                    </div>
                </div>
            </div>
        </div>
    </header>

    <!-- About Section -->
    <section id="about" class="container content-section text-center">
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2">
                <h2>About Grayscale</h2>
                <p>Grayscale is a free Bootstrap 3 theme created by Start Bootstrap. It can be yours right now, simply download the template on <a href="http://startbootstrap.com/template-overviews/grayscale/">the preview page</a>. The theme is open source, and you can use it for any purpose, personal or commercial.</p>
                <p>This theme features stock photos by <a href="http://gratisography.com/">Gratisography</a> along with a custom Google Maps skin courtesy of <a href="http://snazzymaps.com/">Snazzy Maps</a>.</p>
                <p>Grayscale includes full HTML, CSS, and custom JavaScript files along with LESS files for easy customization.</p>
                <f:format.raw>{content}</f:format.raw>
            </div>
        </div>
    </section>

Es werden allerdings alle Inhalte in beiden Sektionen dargestellt.

Wie kann man das ordnen?

Ich kann natürlich per WHERE colPos = 0 AND uid = 1 usw. das ganze in der Datenbank abfragen, aber das ist ja äußerst unpraktikabel. Wenn ich dort nun eine Seite lösche oder die Ordnung ändere, müsste ich ja jedes mal auch das TypoScript ändern.