[TYPO3-UG Denmark] Extende en enkelt metode i en extension

Sune nospam_sune at talefod.dk
Wed Jun 28 09:17:51 CEST 2006


Hej Stefan,

Det giver meget godt mening :)

Men jeg kan bare ikke helt få det til at virke. Jeg har prøvet følgende:

plugin.tx_pbsurvey_pi1.userFunc = tx_fbextendedsurvey_pi1->main
og
plugin.tx_pbsurvey_pi1.userFunc = EXT:tx_fbextendedsurvey_pi1->main

Ingen af delene virker. Går ud fra det er fordi jeg peger på den anden måde,
for jeg kan sagtens se logikken i at det burde virke på den måde du
forklarer. Så det må vel være fordi jeg peger forkert!

/Sune



"Stefan Kreisberg" <stefan at linkfactory.dk> skrev i en meddelelse
news:mailman.5242.1151415513.30412.typo3-ug-denmark at lists.netfielders.de...
Hej Sune,

Tirsdag den 27. juni 2006 15:22 skrev Sune:
> Hej liste,
>
> Jeg vil gerne ændre i metoden "setUserName()" i klasse "tx_pbsurvey_pi1".
> Det er jo ligetil, da jeg bare kan ændre direkte i plugin'ets kode. Men nu
> er mit spørgsmål så om jeg ikke kan extende denne metode istedet for at
> ændre i det oprindelige plugin. På den måde kan jeg jo opdatere "pbsurvey"
> uden hver gang at skulle redigerer i filerne.
>
> Jeg er helt sikker på jeg har set en guide til dette på et tidspunkt, men
> kan ikke finde den mere. Er der nogen der kan hjælpe her.
>
> Jeg har forsøgt blot at oprette en ny extension og gjort følgende:
>
> class tx_fbextendedsurvey_pi1 extends tx_pbsurvey_pi1 {
>  var $prefixId = 'tx_fbextendedsurvey_pi1';  // Same as class name
>  var $scriptRelPath = 'pi1/class.tx_fbextendedsurvey_pi1.php'; // Path to
> this script relative to the extension dir.
>  var $extKey = 'fb_extendedsurvey'; // The extension key.
>
>  /**
>   * The main method of the PlugIn
>   *
>   * @param string  $content: The PlugIn content
>   * @param array  $conf: The PlugIn configuration
>   * @return The content that is displayed on the website
>   */
>  function main($content,$conf) {
>   parent::main();
>   echo "extended";
>  }
> }
>
> Dette er på sin vis fint nok, problemet er bare at jeg skal installere
> "min" extension på siden før det virker, og ikke have pbsurvey på siden.
> Dermed mister jeg mulighederne for at konfigurere i BE.

Du er helt på rette vej og det eneste jeg kan se du mangler er blot at
definere den funktion du vil udvide og så via TS pege dit plugin hen på din
nye klassefil. På den måde bevarer du BE konfiguration fra dit gamle plugin
som jeg ser det.

altså noget i retning af

plugin.pgsurvey_pi1 {
 userfunc = peg på din ext i stedet for pbsurvey
}

Håber _det_ giver mening, og håber det kan lade sig gi' sig  :-)

> Håber det giver mening....
>
> /Sune

-- 
Venlig hilsen
Stefan Kreisberg
LinkFactory | + 45 70 22 23 22
stefan at linkfactory.dk
TYPO3 Open Source CMS - Enterprise CMS uden licensomkostninger, læs mere
på www.linkfactory.dk





More information about the TYPO3-UG-denmark mailing list