Am 15.11.10 16:49, schrieb Stefan Frömken:
Am 15.11.2010 16:40, schrieb Wolfgang Kleinbach:
Am 15.11.10 15:26, schrieb Stefan Frömken:
Am 15.11.2010 15:08, schrieb Wolfgang Kleinbach:
Kann ich von einer eigenen Extension auf Flexform-Einstellungen einer
anderen Extension zugreifen?
Wenn ja, wie?

Hintergrund:

Ich verwende hier jfmulticontent.
Als erster darzustellender content ist eine eigene xajax basierte
Extension eingefügt. Die weiteren content elemente sind HTML
<div>-container, die meine Extension z.B. nach Klick auf einen Link
dynamisch aktualisiert.

Jetzt würde ich gerne in meiner Extension abfragen, welcher Style in
jfmulticontent für die Darstellung ausgewählt ist (also z.B. Tabs,
Accordion etc.), damit ich die Ausgabe meiner Extension entsprechend
anpassen kann.

Danke schon mal,

Wolle


Mit entsprechendem Aufwand geht das schon. SQL ala: Hole mir alle
tt_content-Datensätze, die auf der aktuellen Seite eingebunden sind,
wo colPos = Spaltennummer ist und die Datensätze nach der Spalte
"sorting" sortiert worden sind.
Dann muss Du herausfinden, in welchem der Datensätze, die kleiner
(oder war es größer) sind als das Sorting Deines aktuellen Datensatzes
sind, sich das jfmulticontent-Plugin befindet.
Dort musst Du nun die Spalte pi_flexform auslesen. Da der Inhalt XML
basiert ist hilft hier evtl. ein xml2array (siehe Methode in t3lib_div).
Mit entsprechenden PHP-Array-Funktionen sollte es Dir nun möglich
sein, den Inhalt auszulesen.

Danke Stefan! Das bringt mich schon weiter, auch wenn ich mir alles
einfacher vorgestellt hatte.
So ganz wie Du das beschrieben hast, haut das wohl nicht hin, da
jfmulticontent die Inhalte nicht von der aktuellen Seite holt, sondern
aus dem "General Record Storage" oder von beliebigen Seiten.
Ich muss also wohl eher meiner Extension die uid des
jfmulticontent-Plugins als konfigurierbaren Parameter mitgeben.

Gruss,

Wolle

Das mit der uid wäre wohl am einfachsten.
Das ist keine große Sache:

        function getJfmulticolumnConfigXML() {
                $this->jfmulticolumnUid = '487';
$queryWhere = sprintf("uid ='%s'", $this->jfmulticolumnUid);
                // get the search result
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery( 'pi_flexform' , 'tt_content', $queryWhere);
                $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
                // free result
                $GLOBALS['TYPO3_DB']->sql_free_result($res);
$this->jfmulticolumnArray = t3lib_div::xml2array($row['pi_flexform']);
                echo t3lib_div::view_array($this->jfmulticolumnArray);
        }


Noch ein bissl eigene Meinung:
Gerne!
Du arbeitest mit Xajax, obwohl jfmulticontent mit seinem jQuery schon eine Library mit Ajax-Unterstützung anbietet. Das ist doppelt. Und du willst auf FlexForm-Einstellungen von einem anderen Plugin zugreifen.

Ich hab mal eine Extension sfjquery programmiert. Da kann man zwar nicht so schön einfach den Content reinbauen, aber alles was du brauchst hast in einer Extension bzw. einem Plugin. Vielleicht schaust Dir die mal an.
Ich bin eher noch am Anfang mit der Extension-Programmierung und nur Amateur mit begrenzten Kenntnissen. Mit Xajax hab ich schon ein wenig Erfahrung, mit jquery im Hinblick auf AJAX keine. Mit meiner Extension sollen recht umfangreiche Inhalte einer Datenbank angezeigt und bearbeitet werden können. Bei Xajax ist die Unterstützung von Form-Variablen recht gut. Wie ist das bei jquery?

Das ich noch recht am Anfang bin mit meiner Extension, macht es vielleicht Sinn, das Ganze mit jquery zu realisieren, da diese lib ja wohl auch die größte Verbreitung hat. Die Realisierung mit sfjquery wäre dann, wenn ich das vom Manual her richtig verstehe, die Alternative zur eigenen Extension?

Gruss,

Wolle

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an