typo3: Zugriff auf Seiten - content
johannes293
- software
1 suit0 Joachim0 johannes2930 johannes2930 suit0 johannes2930 suit0 johannes2930 suit0 johannes2930 suit
0 suit
Abend,
Ich experimentiere mit typo3 und habe meinen halben Nachmittag mit dem Versuch verpulvert, folgende frage zu loesen; daher frage ich jetzt einmal hier nach:
Ich habe bei Typo3 im Backend einige Seiten hinzugefuegt. Wie sage ich typo3 in typoscript, einfach den gesamten Textinhalt (via backend hinzugefuegt) auszugeben? Wie greife ich auf diesen Text zu?
Und wie greife ich auf das Menue zu?
Und zwar ohne irgendwelche Extensions wie Tempvoila oder sonstwas. einfach nur text ausgeben.
g johannes
Ich habe bei Typo3 im Backend einige Seiten hinzugefuegt. Wie sage ich typo3 in typoscript, einfach den gesamten Textinhalt (via backend hinzugefuegt) auszugeben? Wie greife ich auf diesen Text zu?
anname dein html-template liegt im verzeichnis fileadmin/meintempate/index.html und sieht etwas so aus
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>titel</title>
<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen, projection" />
</head>
<body>
<!-- ###BODY### -->
<div id="content">
<!-- ###CONTENT### -->
<p>lorem ipsum</p>
<!-- ###CONTENT### -->
</div>
<!-- ###BODY### -->
</body>
</html>
dann kannst du so darauf zugreifen:
page = PAGE
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/{$const.templatedir}/index.html
workOnSubpart = BODY
subparts {
CONTENT = TEXT
CONTENT.value = <p>weee!</p>
}
}
das gibt dir mal ein primitives "weee!" statt dem blindtext aus
mit css-styled-content kannst du dir bequem die inhaltselemente holen - dafür bei "include static" das css styled content nicht vergessen ;)
styles.content.get für die normale spalte, styles.content.getRight für die rechte spalte usw
CONTENT = TEXT < styles.content.get
alternativ kannst du die inhalte auch selbst mit dem CONTENT-obekt abfragen und nicht die methode von css_styled_content verwenden - wie das geht, dannst du dir bei css_styled_content abschauen - das static-template der extension muss aber vorhanden sein (und die extension natürlich aktiv)
/typo3/sysext/css_styled_content/static/setup.txt
styles.content.get = CONTENT
styles.content.get {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
}
für anfänger ist es empfehlenswert, diese extension zu verwenden (wird mitgeliefert) mit entsprechendem know-how kannst du sie modifzieren oder gar ersetzen (sind aber über 1500 zeilen :))
auf dauer lohnt das aber, da css_styled_content von irren geschrieben wurde, die html-ausgabe ist teilweise ein frechheit
Und wie greife ich auf das Menue zu?
beschäftige dich mit dem menü-objekt, konret mit TMENU/HMENU (die weise entscheidung, wenn du vernüntiges menü willst - halte dich nach möglichtkeit fern von GMENU)
Und zwar ohne irgendwelche Extensions wie Tempvoila oder sonstwas. einfach nur text ausgeben.
ohne extension kannst du unmöglich text ausgeben, typo3 kann das nicht (wirklich) - css_styled_content gehört zur grundausstattung und reicht vollig aus - von templatevoila solltest du um deines codes willen die finger lassen :)
Hi,
ohne extension kannst du unmöglich text ausgeben, typo3 kann das nicht (wirklich) - css_styled_content gehört zur grundausstattung und reicht vollig aus
dem kann ich nach meinen ersten 2 Typo-Wochen zustimmen, es sei denn, Du willst alle contents mit sql-Abfragen holen, dann gehts auch ohne css_styled_content ;-)
he, wie kriegt man die blöden Anker-Tags in css_styled_content weg ;-)
Gruesse, Joachim
he, wie kriegt man die blöden Anker-Tags in css_styled_content weg ;-)
wie schon gsagt: setup.txt von css_styled_content ansehen - da steht all dieser schwachsinn drin - nur suchen wer den schwachsinn macht und dann im typoscript wieder überschreiben bzw löschen:
lib.stdheader.stdWrap.dataWrap >
tt_content.stdWrap.dataWrap >
Hi Suit,
wie schon gsagt: setup.txt von css_styled_content ansehen - da steht all dieser schwachsinn drin
hehe, und:
#dataWrap = <a id="c{field:uid}"></a> |
hinfort isses...
Danke und Gruesse, Joachim
#dataWrap = <a id="c{field:uid}"></a> |
hinfort isses...
im übrigen: das sinnlose a-element hast du jetzt los, allerdings kannst du so nicht mehr zu den content-elementen springen (per inhaltsverzeichnis) - sinnvoll ist die sache schon, nur äusserst unglücklich umgesetzt
wenn du dieses feature brauchts, bedenke dass du den nötigen anker entfernt hast und behalts im hinterkopf
ich hab c{field:uid} als id in die überschrift des jeweiligen content-elements gerendert - dafür brauchst du ein paar zeilen typoscript - viel spass beim rätseln
Erstmal Dankte fuer die ausfuehrliche Antwort, bin wieder etwas motiviert!
das gibt dir mal ein primitives "weee!" statt dem blindtext aus
Das funktioniert auch.
mit css-styled-content kannst du dir bequem die inhaltselemente holen - dafür bei "include static" das css styled content nicht vergessen ;)
Nicht vergessen,
CONTENT = TEXT < styles.content.get
funktioniert trotzdem nicht... :(
cache geloescht, css-styled-content bei Include static (from extensions) beim Template gesetzt...
Ich habe deinen Code benutzt, bis eben darauf, dass ich folgendes geschrieben habe:
subparts {
CONTENT = TEXT < styles.content.get
}
woran koennte das denn liegen?
g johannes
funktioniert trotzdem nicht... :(
Sorry, war zu unspezifisch:
Die Seite wird anscheinend geparst, jedoch der Kontext nicht eingefuegt.
Die Ausgabe lautet:
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!--
This website is powered by TYPO3 [...]
-->
<link rel="stylesheet" type="text/css" href="typo3temp/stylesheet_8192c2092f.css" />
<title>the title: root</title>
<meta name="generator" content="TYPO3 4.2 CMS" />
[...]
</head>
<body>
<div id="content">
</div>
</body>
</html>
Die Ausgabe lautet:
[code lang=html]<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
config.doctype solltest du noch entsprechend umstellen xhtml_strict oder xhtml_trans
da du offenbar config.xhtml_cleaning aktiv hast
da du offenbar config.xhtml_cleaning aktiv hast
Hm...
Nachdem ich dazu nichts gefunden habe, wie ist typo denn dbz. aufgebaut?
Ich wuerde mir gerne genauer anschauen wer was wann eibaut, der besser: verpfuscht und abschalten.
g johannes
da du offenbar config.xhtml_cleaning aktiv hast
Hm...
Nachdem ich dazu nichts gefunden habe, wie ist typo denn dbz. aufgebaut?
die systematik ist etwa so
Ich wuerde mir gerne genauer anschauen wer was wann eibaut, der besser: verpfuscht und abschalten.
sieh dir einfach einen code mal an, den typo3 für dich produziert - da ist redundanter müll ende nie drin
in jedem p-element ist eine klasse "bodytext" in jeder tabelle eine klasse "contenttable" usw
vor und nach jedem content-element, plugin oder sonstwas findest du ein paar html kommentare die total unsinnig sind und nur den quelltext aufblähen usw
all diesen sinnlosen schmafu kann man unterdrücken bzw entfernen oder entsprechend der eigenen vernunft anpassen
all diesen sinnlosen schmafu kann man unterdrücken bzw entfernen oder entsprechend der eigenen vernunft anpassen
Ja. Und -korregiere mich bitte, falls das nicht stimmt - ich werde wohl nicht umhinkommen, mir
* /typo3/sysext/css_styled_content/static/setup.txt
* index.php und
* das TypoScript-Handbuch
genauer anzusehen...
Ist wohl nicht so gedacht, dass man das ganz einfach zurechtbiegen kann...
g johannes
Ja. Und -korregiere mich bitte, falls das nicht stimmt - ich werde wohl nicht umhinkommen, mir
* /typo3/sysext/css_styled_content/static/setup.txt
unbedingt mal ansehen
* index.php und
nicht wirklich interessant
* das TypoScript-Handbuch
auch nicht, da steht nur müll drin :D
kauf dir lieber das "Das TYPO3 Profihandbuch" von Addison-Wesley - da ist zwar auch einiges an unbrauchbarem müll drin, aber etwa 2/3 sind sehr hilfreich
Ist wohl nicht so gedacht, dass man das ganz einfach zurechtbiegen kann...
doch sicher - wenns konkrete fragen zum zurechtbiegen gibt, einfach fragen :D
kauf dir lieber das "Das TYPO3 Profihandbuch" von Addison-Wesley - da ist zwar auch einiges an unbrauchbarem müll drin, aber etwa 2/3 sind sehr hilfreich
hmm... danke fuer den TIpp, wenn ich mal bei Kasse bin schau ich mir das an...
Oder, was noch besser waere, sowas auf Englisch - Kennst du zufaellig etwas empfahlenswertes?
Bis dahin - und das kann dauern - kennst du empfehlenswerte Online-Sachen?
g johannes
Oder, was noch besser waere, sowas auf Englisch - Kennst du zufaellig etwas empfahlenswertes?
es ist in der tat so, dass deutschsprachige dokus zu typo3 zahlreicher am markt sind als englischsprachige ;)
Bis dahin - und das kann dauern - kennst du empfehlenswerte Online-Sachen?
nein ;) die online-dokus sind zu 95% gefährlich - 20 zeilen typoscript wobei eine die lösung für das beschriebene problem ist - die anderne 19 zeilen sind entweder nutzlos oder machen ganz was anderes
subparts {
CONTENT = TEXT < styles.content.get
}
woran koennte das denn liegen?
daran dass ich mist gebaut habe :D
CONTENT < styles.content.get
CONTENT < styles.content.get
ES funktioniert - danke!
für anfänger ist es empfehlenswert, diese extension zu verwenden (wird mitgeliefert) mit entsprechendem know-how kannst du sie modifzieren oder gar ersetzen (sind aber über 1500 zeilen :))
auf dauer lohnt das aber, da css_styled_content von irren geschrieben wurde, die html-ausgabe ist teilweise ein frechheit
Gibt es solche Projekte?
Oder kann man das zb. mit Smarty ersetzen?
Geht das auch bei anderen CMS?
So koennte ich gleich mehrere CMS auf einen schlag lernen...
g johannes
Gibt es solche Projekte?
css_styled_content ist so ein projekt - du möchtest nicht wissen, wie das früher war :D
da aber jeder seine eigenen vorstellungen hat, wie ordentlicher code auszusehen hat, ist es schwierig sich da zu einigen - 95% der typo3-entwickler haben übrigens keine ahnung von html oder css - wenn dir also etwas gegen den strich geht: ändere es selbst, wie gesagt mit typoscript kannst du nahezu beliebig an der ausgabe herumdrehen
Oder kann man das zb. mit Smarty ersetzen?
zahlt sich nicht aus, die template-engine die typo3 mitliefert ist gut genug, alternative engines haben zwar vorteile, solange du aber das wesen von t3 nicht verstanden hast, nutze sie nicht - es macht die sache nur unnötig kompliziert (sprich: du kommst schneller zu einem ergebnis, der code ist aber noch wilder als vorher :D)
Geht das auch bei anderen CMS?
geht was?
So koennte ich gleich mehrere CMS auf einen schlag lernen...
übertreibs nicht - bleib bei einem cms und beschränke dich darauf, das ist genug arbeit
für meinen teil, ich muss mich mit einer anzahl an cms' abmühen, die ich an meinen händen nicht abzählen kann - darunter sind welche mit kleinen nachteilen, schlechte und extrem schlechte ;) typo3 ist das "geringste übel" ;)