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

Stefan Kreisberg stefan at linkfactory.dk
Wed Jun 28 10:16:45 CEST 2006


Hej Sune,

Onsdag den 28. juni 2006 09:57 skrev Sune:
> Hej S,
>
> Jeg kan ikke se stavefejl (bruger faktisk selv TSOB hvis jeg kan slippe
> afsted med det), men kan det være fordi jeg ikke includer den nye klasse
> nogle steder, men alligevel peger userFunc til den?
>
> Problemet er bare at jeg kun kan include et script pr extension så vidt jeg
> kan se. Men så skal jeg måske bare lave en require_once i min phpklasse?

Men du kan jo godt inkludere din nye som jo er en class xxx extend original og 
derved selv henter den?

> /Sune
>
>
> "Stefan Kreisberg" <stefan at linkfactory.dk> skrev i en meddelelse
> news:mailman.5906.1151480026.30412.typo3-ug-denmark at lists.netfielders.de...
> 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