Ich bin ein TYPO3 anfänger, versuche aber dennoch eine erweiterung zu erstellen - bin aber eine alte software-entwicklungshase $:-). Um mein leben ein klein bisschen einfach zu halten, werde ich meine frage auf Englisch stellen. Ich habe überhaupt kein problem mit antworte auf Deutsch.
Running TYPO3 Version 4.5.3 on PHP 5.2.17 on a Windows7 (64bit PC) using the introduction package as a starting point.
I've built a first-cut extension using the kickstarter. The extension is selectable when defining a new page element, so I've defined a new page consisting of a text page element and my plugin (for my plugin I've defined a short dummy header text as part of the page element).
When I request this page as part of the web site, I see my text page element, the dummy header text of my plugin's page element, but no trace of the plugin output itself. Given that the kickstarter-generated main function of the plugin appears to generate some dummy output, I would expect this dummy output to appear right after my dummy header text, but it doesn't. No trace, not even a <div>.
After concluding that no output was generated, I've truncated the kickstarter-generated main function to the bare minimum, but this makes no difference (PMV are my initials; I always use them whenever I need something recognisable):
function main($content, $conf) {
$this->conf = $conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->pi_USER_INT_obj = 1;
$content='<strong>This is a few paragraphs by PMV:</strong><br />';
return $this->pi_wrapInBaseClass($content);
}
No my question is, am I doing something wrong (e.g. is there an enable flag hidden somewhere) and/or do I need to do more to have the plugin generate some output, or could this be a sign of some sort of installation problem (as I have had lots of those already) ?
All help is welcome (in English, German or Dutch) 😃
Peter
Of course, I do not know if it has anything to do with the silent extension problem, buf if I go to the Extension Manager, select my plugin, then select "Edit Files" and then choose any file (like e.g. README.txt) from the list, I get an exception trace:
Uncaught TYPO3 Exception
#1270853980: TYPO3 Fatal Error: Error while trying to download the extension file...
and the log file says: Error:Sys!; Action:[5_0]
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1270853980: TYPO3 Fatal Error: Error while trying to download the extension file... | RuntimeException thrown in file C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\typo3\typo3\sysext\em\classes\index.php in line 1670
BTW, this line 1670 reads: $EM_CONF = $this->fixEMCONF($fetchData[0]['EM_CONF']);
Hat Jemand irgendwelche idee was ich jetzt noch machen kann ????
Hast du das Static TS deiner Extension in deinem Root-TS-Template der Web-Site auch eingebunden?
Gibt's irgendwo eine beschreibung (1) was das bedeutet und (2) wie und was ich machen muss ?? :o
(gemacht habe ich das nicht, wird es nicht vom kickstarter gemacht ? bedeutet das, was der kickstarter produziert, ist nicht ohne weiteres funktionsfähig ???)
Ich habe noch ein klein bisschen weitergesehen und gefunden wo die exception (weiblich ??) generiert wird (in \typo3\typo3\sysext\em\classes\index.php zeile 1670):
$dlFile = $this->CMD['downloadFile'];
if (t3lib_div::isAllowedAbsPath($dlFile) &&
t3lib_div::isFirstPartOfStr($dlFile, PATH_site) &&
t3lib_div::isFirstPartOfStr($dlFile, $absPath) &&
@is_file($dlFile)) {
$mimeType = 'application/octet-stream';
Header('Content-Type: ' . $mimeType);
Header('Content-Disposition: attachment; filename=' . basename($dlFile));
echo t3lib_div::getUrl($dlFile);
exit;
} else {
throw new RuntimeException('TYPO3 Fatal Error: ' .
$GLOBALS['LANG']->getLL('ext_details_error_downloading'), 1270853980);
}
Und das ist genau die exception die ich sehe. Dann habe ich die drei wichtige variabelen in eine datei ausgegeben. Dann sehe ich (meine extension trägt die name gg_web_tools1):
- dlFile: C%3A%2FProgram%20Files%20%28x86%29%2FApache%20Software%20Foundation%2FApache2.2%2Fhtdocs%2Ftypo3%2Ftypo3conf%2Fext%2Fgg_web_tools1%2FREADME.txt
- PATH_site: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/typo3/
- absPath: C:/Program Files (x86)/Apache Software
Foundation/Apache2.2/htdocs/typo3/typo3conf/ext/gg_web_tools1/
In t3lib_div::isFirstPartOfStr() wird eine strpos() gemacht und das bedeutet das die erste drei konditionen alle falsch sind (auch der vierte kondition ist falsch) und es wird deswegen eine exception generiert. Das problem hat also mit pfad-kodierung (escapes) zu tun, aber diese kodierung ist von TYPO3 selbst generiert worden.
Ich kann mich ziemlich gut vorstellen, das wenn meine extension schon nicht gelesen werden kann fürs editieren, das lesen fürs erstellen der entgültigen web-ausgabe auch ein wenig mühsam sein wird.
Jetzt ist natürlich noch immer die grosse frage: was ist hier los ?? Bin ich der erste mit diesem problem ??
Functioniert der kickstarter überhaupt in zusammenhang mit Windows ????
Root-Typoscript-Datensatz deiner Web-Site editieren, und bei "Statische Templates einschließen (aus Erweiterungen): " das TS deiner Extension wählen und dann speichern.
Es ist mir nicht völlig klar, was "das TS der Extension" bedeutet und/oder was das alles beinhaltet (wie schon gesagt bin, ich ein TYPO3 anfänger). :o
Das angehängte bild zeigt das TS das der kickstarter für mich gekocht hat. Brauche ich noch zusätzliche TS ??

Ich bleibe dran dinge zu versuchen #paralyzed#
Wenn ich eine datei von einer standarderweiterung von TYPO3 versuche zu öffnen (wie oben beschrieben), dann bekomme ich genau dieselbe fehlermeldung (auch wie oben beschrieben). Das heisst das diese fehler warscheinlich also sehr wenig mit meiner erweiterung zu tun hat.
Das problem war schon bekannt, es gibt einen offiziellen eintrag in der TYPO3 bug liste (mit der nummer 27098 ) und die lösung ist auch schon bekannt.
Siehe: http://forge.typo3.org/issues/27098
Ich habe die angegebe änderung gemacht und jetzt kann ich (1) eine extensionsdatei fürs editieren öffnen und auch (2) output meiner extension sehen.
Problem also gelöst.