dazu gibts eine Methode in der pibase:
PHP-Code:$rec = $this->pi_getRecord($table,$uid,$checkPage=0);
Hallo TPler,
ich habe die UID eines Datensatzes aus der tt_content.
Jetzt würde ich ganz gerne meiner Extension sagen,
dass er anhand dieser UID einfach den Datensatz
nach vorne bringen soll. Also:
$content = $this->DatenAusTTContentMitID(1234);
Weiß jemand von euch da weiter?
dazu gibts eine Methode in der pibase:
PHP-Code:$rec = $this->pi_getRecord($table,$uid,$checkPage=0);
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Hmm, ok steffen, jetzt hab ich ein Array.
Aber ich möchte ja eigentlich das das Ding 1zu1 durchgereicht wird.
Weisst du dafür eine Lösung?
achso, das ganze steht bereits als FE-Plugin im Frontend drin.
Ich brauche also eine Lösung, wie der $content meines Plugins genau das rausgibt.
oder aber eine function, die mir in einen eigenen Marker den Inhalt schreibt.
Gibt's da überhaupt sowas?
Ohne Query wirste d wohl nicht weiterkommen.
Check this:
In's FE kommt's dann per return:PHP-Code:...
$sqlRes = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
"*",
"tt_content",
'uid = '.$deineUid.' AND hidden != 1 AND deleted != 1');
while ($sqlRow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($sqlRes)){
...
$content = $sqlRow;
...
}
PHP-Code:...
return($content);
Aber als Rückgabewert erhalte ich dann doch auch wieder nur ein Array..
Ich brauche aber ein:
'<a href="#" title="mein Link"><img src="xyz.jpg" alt="" /></a>'
das musst Du schon selber machen, dafür gibts keine Methode.
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Ja klar, zusammenbauen musste's dir halt noch was du brauchst.
Was soll es denn werden? Nur ein Link zum entsprechenden Contentelement oder wie?
rendern kann man immer mit $this->cObj->cObjGetSingle() - dazu muss aber ein entsprechendes conf-Array angelegt werden.
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Es sollen drei Bilder mit jeweils einem umgebenden Link werden.
ich dachte, dass das so einfach geht...
Hmpf.
Ich frage auf der tt_content immer einen Datensatz des Plugins "jp_pageteaser" ab. Gibt es irgendeine Möglichkeit das Plugin in meiner Extension aufzurufen?
Oder muss ich mich hier durch die Flexformdaten buddeln?
Die sehen so aus:
Also müsste ich mir hier aus der "pages" wieder die Datensätze holen, bzw. aus der Extensiontabelle der "jp_pageteaser" die Datensätze mit den "pages"-Datensätzen als pid. Hm, oder habt ihr eine bessere Idee?Code:<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <T3FlexForms> <data> <sheet index="sDEF"> <language index="lDEF"> <field index="templateFile"> <value index="vDEF">home_triple_images.htm</value> </field> <field index="mode"> <value index="vDEF">static</value> </field> <field index="pages"> <value index="vDEF">1165,5,1166</value> </field> <field index="recursive"> <value index="vDEF"></value> </field> <field index="sorting"> <value index="vDEF">inserted</value> </field> </language> </sheet> <sheet index="sAdditional"> <language index="lDEF"> <field index="startItem"> <value index="vDEF"></value> </field> <field index="maxItems"> <value index="vDEF">3</value> </field> <field index="hidePageBrowser"> <value index="vDEF">0</value> </field> <field index="maxPages"> <value index="vDEF"></value> </field> <field index="maxImgWidth"> <value index="vDEF">229</value> </field> <field index="customLinkText"> <value index="vDEF"></value> </field> </language> </sheet> </data> </T3FlexForms>
Ganz grob, wenn ich den Dateinamen des Bildes habe, woher kennt typo3 denn dann den Pfad? Also habt ihr da irgendwo ein Beispiel, wie ich das ganze Rendern muss? Und wie so eine $conf aussieht?
Hmm, dadd in der Flexform sind ja an sich TS-Übergabewerte (glaub ich).
An sich kannste dir deinen benötigten Datensatz aus der pageteaser-Tabelle holen.
Den Pfad musste irgendwie rausbekommen. Im Normalfall gibt's dafür aber übliche Verdächtige wie z.B. uploads/pics/
Von wegen $conf: Das sind TS-Werte in einen assoziativen Array.
Z.B. für einen Typolink:
PHP-Code:$typolinkConf['parameter'] = 123
...
- ok, also ich ziehe mir jetzt aus dem XML die Daten per XML-Parser.
- Dann habe ich die 3 UID's zu den drei pages
- Wie baue ich aus einer UID einen Link? Hast du dazu ein komplettes PHP-Beispiel?
Was für eine XML ist denn das?
Typolink:
PHP-Code:...
$tLConf = array(
'parameter' => $actPid, // index.php?id=123
'additionalParams' => '&tx_myext[uid]='.$uid,
'ATagParams' => 'title="This rocks"'); // CSS-Klasse, ...
...
$typolink = $this->cObj->typolink($meinLinkName, $tLConf ); // Bäm!
...
$content = $andererShice.$typolink.$andereShice1;
...
return $content;
...
Yeah yeah yeah! Das funktioniert schon mal supergut!
Next step ist die behandlung von pi_getFFvalue
die Docu sagt:
http://www.typo3-unleashed.net/t341a...49df69afd149bd
Blöde Frage, ich habe aber gar kein FlexForm-Array, sondern eben das XML. Wie wandle ich das FF-XML in ein Mehrdimensionales Array?Code:tslib_pibase.pi_getFFvalue ( $ T3FlexForm_array, $ fieldName, $ sheet = 'sDEF', $ lang = 'lDEF', $ value = 'vDEF' ) Parameters: array FlexForm data string Field name to extract. Can be given like "test/el/2/test/el/field_templateObject" where each part will dig a level deeper in the FlexForm data. string Sheet pointer, eg. "sDEF" string Language pointer, eg. "lDEF" string Value pointer, eg. "vDEF"
Oder aber: Wie bekomme ich den Wert, den ich im weiter oben geposteten XML unter
finde? Also die drei UID's?Code:<field index="pages">
jag es mal durch t3lib_div::xml2array($xml)
und dann ein debug des arrays
t3lib_div::debug($array);
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)