RSS
 

Archive for the ‘typo3’ Category

Typo3: Backend-Felder an die richtige Stelle positionieren

06 Apr

Um im Typo3 Backend selbst erstellte Felder an die richtige Stelle zu positionieren, gibt es nachfolgende Möglichkeit.

Beispiel:

  • Aus welcher Tabelle: ”tt_content”
  • Das (Datenbank-)Feld das eingebunden werden soll ‘tx_lpiphonedisplay_color’
  • In welchen CType soll das neue Feld eingefügt werden: ”lp_iphone_pi1” (hier könnte auch so was stehen, wie ”textpic” oder ”text”).
  • Vor oder nach welchem Feld es eingefügt werden soll: ”before:tx_lpiphone_lp_aditional_items” (fügt das neue Feld vor dem Feld ”tx_lpiphone_lp_aditional_items” ein). Entsprechend ”after:” für nach dem Feld.

In der Datei ”ext_tables.php” werden folgende Zeilen hinzugefügt:


// in $tempColumns wird das Feld erzeugt (sieht bei Euch bestimmt ganz anders aus
// hier werden drei Radobuttons für die Werte 1,2,3 erzeugt
$tempColumns = Array (
	"tx_lpiphonedisplay_color" => Array (
		"exclude" => 1,
		"label" => "LLL:EXT:lp_iphone_display/locallang_db.xml:tt_content.tx_lpiphonedisplay_color",
		"config" => Array (
			"type" => "radio",
			"items" => Array (
				Array("LLL:EXT:lp_iphone_display/locallang_db.xml:tt_content.tx_lpiphonedisplay_color.I.1", "1"),
				Array("LLL:EXT:lp_iphone_display/locallang_db.xml:tt_content.tx_lpiphonedisplay_color.I.2", "2"),
				Array("LLL:EXT:lp_iphone_display/locallang_db.xml:tt_content.tx_lpiphonedisplay_color.I.3", "3"),
			),
		)
	),
);

t3lib_div::loadTCA("tt_content");
t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns,1);

// ### diese Zeile fügt nun Euer neues Feld an die richtige Stelle ein: ###
t3lib_extMgm::addToAllTCAtypes('tt_content','tx_lpiphonedisplay_color','lp_iphone_pi1','before:tx_lpiphone_lp_aditional_items');
 
 

XML mit typo3 ausgeben

28 Mrz

“Lass’ uns doch eine App machen” – so fing das ganze einmal an. Gesagt getan. Es wurde drauf los programmiert. Wir wussten, wie die App aussehen sollte und auch was sie können sollte: Sie sollte in etwa so aussehen, wie die vom größten Konkurrenten – nur besser. Die Daten sollten aus einem vorhandene Datenpool kommen, der in einer MySQL Datenbank vor lag.

Die App war nach einer “gewissen” Entwicklungszeit dann auch so gut wie fertig, es fehlten nur noch die Daten. Diese waren noch nicht eingefügt worden, da der Entwickler – wie das ja oft der Fall ist, entweder mitten in einem Projekt war, oder einfach keine freie Kapazität hatte, sich um eine Schnittstelle zu kümmern.

Es musste also eine andere Lösung her. Als ich mein Problem einem Freund erzählte bekam ich nur ein kurzes “typo3″ kann doch auch XML ausspucken – ich hab das mal bei einem Flash Projekt gemacht” zu hören. Gesagt, getan – und so fing das ganze Projekt an, das sich in den letzten zwei Jahren zu einem beachtlichen Framework entwickelt hat.

Das schöne daran ist, dass keine einzige Zeile Code in php geschrieben werden muss, sondern dass die ganze Ausgabe über typoscript gesteuert werden kann. XML eignet sich hervorragend dazu, weil es in Prinzip aus lauter Wraps besteht.

Das Grundgerüst sieht in etwa so aus:

page = PAGE
   page {
   typeNum = 111
   config.disableAllHeaderCode = 1
   config.additionalHeaders = Content-type:text/xml
   config.xhtml_cleaning = 0

   10 = TEXT
   10.value = <?xml version="1.0" encoding="utf-8" standalone="yes"?>
   20 = COA
   20 {
      stdWrap.dataWrap = <root>|</root>
      10 < temp.your_wrapped_items
   }

Damit kann man dann wunderbaren XML-Code ausgeben um diesen wiederum in iPhone Anwendungen lesen zu können.

Worauf ihr unbedingt achten müsst: UTF-8 ist zwingend erforderlich, sonst machen die Parser auf dem iPhone nur Zicken.

 
No Comments

Posted in iphone, typo3