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

Stefan Kreisberg stefan at linkfactory.dk
Wed Jun 28 09:33:45 CEST 2006


Hej igen,

Template --> TSOB = TypoScript Object Browseren er fantastisk til at finde 
stavefejl i det man peger hen på. Et stærkt men noget overset værktøj for 
TypoScriptere - det er ikke kønt, men det virker.

Tjek i TSOB om dit setup slår igennem ... den viser sat TS for hver side du 
vælger.

vh Stefan

Onsdag den 28. juni 2006 09:17 skrev Sune:
> 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