Übrigens, habe TYPO3 6.2.9, in der Dropdown kann man nur bis 6.2.6 auswählen.
Hallo,
Erstmal das Ziel davon, was ich mache:
Ich habe einen Projekt mit einer sehr großen Datenbank. Dieser Projekt ist eine Selbstentwicklung auf PHP. Daher gibt es fertige Klassen, die sich um die Datenorganisation kümmernund die Darstellung als HTMl-Code generieren.
Dazu soll ich einen kleineren Projekt erstellen, unter TYPO3 gesteuert. TYPO3 soll also die selbstgeschriebene Klasse benutzen, um auf Daten in eine externe Datenbank zuzugreife, die Daten darzustellen und auf bestimmte Seiten des TYPO3 angezeigt werden.
Dafür habe ich mich entschieden, eine Extension zu schreiben.
Ich habe mich schon mit Extbase und Fluid auseinandergesetzt, viele Tutorials gelesen, auch in diesen Forum rumgewummelt, aber ich kriege das nicht zum Laufen.
Ich möchte z.b. bloß einen Hello World schreiben.
Ich habe eine Extension namens "helloworld" erstellt.
Mein typoconf/etx/helloworld sieht so aus:
Classes/Controller/TestController.php
Resources/Private/Templates/Test.html
ext_emconf.php
ext_localconf.php
ext_tables.php
ext_emconf.php:
<?php
$EM_CONF[$_EXTKEY] = array (
'title' => 'Hello World Extension',
'description' => 'einfach eine Test Extension',
'category' => 'be',
'version' => '0.1',
'state' => 'beta',
'uploadfolder' => 0,
'createDirs' => '',
'clearcacheonload' => 0,
'author' => '---',
'author_email' => '---',
'author_company' => '',
'constraints' =>
array (
/* Welche komponente werden benötigt? */
'depends' =>
array (
),
'conflicts' =>
array (
),
'suggests' =>
array (
),
),
);
?>
ext_localconf.php:
<?php
if(!defined('TYPO3_MODE')) die ('Access denied.');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
"Jurisafe".$_EXTKEY,
'testplugin',
array('Test' => 'show'), // showAction des Conntrollers TestController wird aufgerufen
array()
);
?>
ext_tables.php:
<?php
if(!defined('TYPO3_MODE')) die ('Access denied.');
Tx_Extbase_Utility_Extension::registerPlugin($_EXTKEY, 'testplugin', 'Testing');
?>
TestController.php:
<?php
namespace Appname\Helloworld\Controller;
class TestController extends Tx_Extbase_MVC_Controller_ActionController {
public function showAction() {
return "Hello world!";
}
}
?>
Und schliesslich mein TypoScript:
backend_layout = CASE
backend_layout {
key.field = backend_layout
key.ifEmpty.data = levelfield:-2,backend_layout_next_level,slide
13 = COA
}
newsContent < backend_layout
newsContent {
13 {
10 < styles.content.get
10.select.where = colPos = 2
}
}
blogContent < backend_layout
blogContent {
13 {
10 < styles.content.get
10.select.where = colPos = 3
}
}
footer1Content < backend_layout
footer1Content {
13 {
10 < styles.content.get
10.select.where = colPos = 4
}
}
footer2Content < backend_layout
footer2Content {
13 {
10 < styles.content.get
10.select.where = colPos = 5
}
}
footer3Content < backend_layout
footer3Content {
13 {
10 < styles.content.get
10.select.where = colPos = 6
}
}
gb = USER
gb {
userFunc = tx_extbase_core_bootstrap->run
extensionName = Helloworld
pluginName = testplugin
vendorName = Appname
controller = Test
action = show
controllerConfiguration.Test=show
}
page = PAGE
page {
10 = FLUIDTEMPLATE
10 {
file = {$layoutpath}/index.html
variables {
news < gb
blog < blogContent
footer1 < footer1Content
footer2 < footer2Content
footer3 < footer3Content
}
}
# ----------------------------
# CSS-Dateien werden angehängt
# ----------------------------
includeCSS {
file1 = {$csspath}/style.css
}
includeJS {
file7 = {$jspath}/jquery-1.6.4.min.js
}
}
TCEMAIN.clearCacheCmd = all
<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/configurations/tsconfig_page.ts">
das Objekt "gb" will ich an der Seite sehen, in meinem Vorstellung soll der "Hello World!" enthalten.
Doch wenn ich die seite mit so einem TS aufrufe, kommt die Fehlermeldung:
The default controller for extension "Helloworld" and plugin "testplugin" can not be determined. Please check for TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin() in your ext_localconf.php.
Ich hab schon vieles ausprobiert, aber kriege die nicht weg.
Wer kann mir sagen,wie ich das weg kriege, habe ich vielleicht etwas vergessen, nicht beachtet?
Für jede Hilfe wäre ich dankbar.
Danke im Vorraus!