[TYPO3-german] Zwei Extensions verknüpfen

Julian Lamberty julian.lamberty at mytum.de
Fri Nov 2 12:40:58 CET 2007


Ich weiß nicht, ob wir nicht aneinander vorbeireden ;) Vielleicht hab 
ichs etwas umständlich geschildert, daher noch ein Versuch :)

OK, also mein Grund, die Plugins zu verschachteln ist:

Sixpack bietet eine hervorragende Publikationsverwaltung, BZD Staff 
Directory selbiges für Mitarbeiter.

Ich lege also eine "Detail Page" an auf der ein Mitarbeiter dargestellt 
wird (durch das platzieren des BZD Plugins). Das Problem ist, dass das 
BZD Plugin eben nicht jedem Mitarbeiter eine eigenene Seite zuordnet, 
sondern alle auf EINER festen Typo3 Page darstellt. Wenn ich das Sixpack 
Plugin auf der selben Seite platziere und den "AuthorView" auswähle, 
muss ich da einen festen Autor wählen (ob das nun ein Name oder eien UID 
ist, ist erstmal egal).

Deswegen war meine Idee, die Ausgabe des Sixpack Plugins aus dem BZD 
Plugin aufzurufen und dabei dynamisch den Autor zu übergeben und dann 
nur das BZD Plugin auf der "Detail Page" zu platzieren.

Schwierig zu schildern, aber das Problem besteht also darin, die 
Funktion zum generieren des Sixpack Authorviews in das BZD Plugin zu 
integrieren. Das müsste doch möglich sein, oder?

Gruß
Julian

christian oettinger schrieb:
> Wenn auf einer Seite ein plugin liegt, kannst Du diesem wie unten 
> beschrieben gezielt eine Variable übergeben. Wenn ein anderes Plugin da 
> auch liegt, dann gilt für dieses das selbe. Daraus ergeben sich ganz 
> viele Möglichkeiten. Du könntest etwa beide plugins auf der Seite liegen 
> haben und das eine gibt nichts aus, AUSSER es bekommt eine spezielle 
> Variable übergeben. Könnte das die Lösung für Dich sein? Wahrscheinlich 
> wäre das auch nur ein Umweg.
>
> Wenn Du innerhalb des einen plugins etwas ausgeben möchtest, ist es für 
> mich verwirrend das mit einem anderen Plugin zu machen. Aber Du hast 
> vermutlich einen Grund.
>
> Das folgende ist selbst nur gefunden, ich hoffe es funktioniert. Es ruft 
> ein anderes Plugin auf:
>
> require_once 
> (t3lib_extMgm::extPath("EXTKEY")."pi1/class.tx_EXTKEY_pi1.php");
> $tx_EXTKEY_pi1 =& new tx_EXTKEY_pi1 ();
> $tx_EXTKEY_pi1->main (&$this->content, &configuration_stuff);
>
>
> viele Grüße!
>
> oe
>
>
>   
>> Das hilft schonmal etwas weiter, danke! Aber ich möchte keinen Link auf 
>> die Publikationen setzen sondern den AuthorView direkt auf der Seite 
>> ausgeben. Kann ich dir Funktion aus dem Sixpack Plugin, die für die 
>> Ausgabe verantwortlich ist, aus dem anderen Plugin aufrufen? Wenn ja, wie?
>>
>> Danke!
>> Julian
>>
>> christian oettinger schrieb:
>>
>>     
>>> Hallo Julian,
>>>
>>> ich weiß nicht, ob ich ganz verstanden habe, ich versuch's mal:
>>> Die Author view von sixpack wird über den Namen des Autors aufgerufen? 
>>> Das wäre ungewöhnlich, normalerweise geht man über die uid, das ist 
>>> sicher. So oder so machst Du in sixpack eine DB-Abfrage auf der Basis 
>>> eines Werts, der übergeben wird. Und das kannst Du auch von Deiner 
>>> anderen Extension aus machen.
>>>
>>> Normalerweise wird so ein Wert übergeben als GET-Variable, Bsp:
>>> index.php?id=36&tx_sixpack_pi1[pubOfAuthor]=18
>>>
>>> im plugin ist $this->piVars['showUid'] in dem Fall "18" und das wird 
>>> benutzt um die Datenbankabfrage zu machen und nur die gewünschten 
>>> Resultate anzuzeigen
>>>
>>>
>>> So einen Link wie oben kannst Du auch aus dem anderen Plugin mit den 
>>> typo3-funktionen generieren, kein Problem.
>>>
>>> // HIER werden nur die zusätzlichen GET-Parameter festgelegt
>>> $additional_url = array();
>>> $additional_url[ 'tx_sixpack_pi1[showUid]' ] = GEWÜNSCHTE UID;
>>>
>>> // NUN wird der eigentliche Link generiert
>>> $oe_book2magazine_ausgabe .= $this->pi_linkToPage( TEXT DES LINKS , 
>>> PID DER SEITE , '' , $additional_url );
>>>
>>> Ebenso kannst Du auch den Namen statt der uid übergeben, unüblich 
>>> (wegen nicht automatisch unique, länger und eventuell nicht 
>>> URL-tauglich) aber möglich.
>>>
>>> hilft das irgendwie?
>>> ich hoffe!
>>>
>>> oe
>>>
>>>
>>>  
>>>
>>>       
>>>> Hi!
>>>>
>>>> Ich nutze zwei Extensions um ein Verzeichnis von Mitarbeitern 
>>>> auszugeben: "bzd_staff_directory" für die persönlichen Seiten jedes 
>>>> Mitarbeiters und "sixpack" um Publikationen der Mitarbeiter zu 
>>>> verwalten/anzuzeigen.
>>>>
>>>> Jetzt würde ich gern auf jeder Seite eines Mitarbeiters dessen 
>>>> Publikationen ausgeben (nennt sich "Author View" bei Sixpack). Das 
>>>> Problem ist, dass es nicht für jeden Mitarbeiter eine eigene Seite 
>>>> gibt, sondern nur eine einzige "Detailseite", auf der der ausgewählte 
>>>> Mitarbeiter dargestellt wird. Wenn ich auf dieser Detailseite jetzt 
>>>> aber den Author View auswähle, muss ich einen festen Namen eingeben 
>>>> (in der Sixpack-Konfiguration) und somit würden auf jeder Seite nur 
>>>> die Publikationen eines bestimmten Mitarbeiters dargestellt.
>>>>
>>>> Ich brauche also irgendwie eine Möglichkeit, den Namen des Autors 
>>>> dynamisch an das Sixpack Plugin zu übergeben. Hat jemand eine Idee, 
>>>> wie man das angehen könnte? Evtl. die Sixpack-Funktionen aus dem 
>>>> Plugin für die persönlichen Seiten aufrufen mit entsprechenden 
>>>> Parametern?
>>>>
>>>> Oder hat vielleicht jemand ne ganz andere Lösung?
>>>>
>>>> Danke für eure Hilfe! 
>>>>
>>>> Gruß
>>>> Julian
>>>>
>>>>
>>>>     
>>>>         
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.netfielders.de
>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>>   
>>>       
>>
>>     
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>   



More information about the TYPO3-german mailing list