[TYPO3-UG Denmark] Extende en enkelt metode i en extension
Sune
nospam_sune at talefod.dk
Wed Jun 28 09:57:43 CEST 2006
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?
/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