Typo3 Extensions entwickeln: Unterschied zwischen den Versionen
F (Diskussion | Beiträge) (→ext_localconf.php) |
F (Diskussion | Beiträge) (→ext_localconf.php) |
||
Zeile 55: | Zeile 55: | ||
== ext_localconf.php == | == ext_localconf.php == | ||
Sagen welche Klasse und welche Funktion aufgerufen werden soll!!!! | Sagen welche Klasse und welche Funktion aufgerufen werden soll!!!! | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''ext_localconf.php''' | '''ext_localconf.php''' | ||
Zeile 80: | Zeile 70: | ||
?> | ?> | ||
</source> | </source> | ||
+ | |||
+ | '''Achtung:''' | ||
+ | * Schlüssel: '''HelloWorldClass''' führt zur folgenden Namensgebung | ||
+ | ** Datei in der die Klasse zu finden sein muß: ''Classes/Controller/'''HelloWorldClass'''Controller.php'' | ||
+ | ** die Klasse muss folgenden Namen besitzen: ''Tx_Nctestitflow_Controller_'''HelloWorldClass'''Controller'' | ||
+ | * Wert: '''helloWorldFnc''' führt zur folgenden Namensgebung | ||
+ | ** die Klasse muss folgende Funktion besitzen: ''public function '''helloWorldFnc'''Action()'' | ||
+ | * Schlüssel und Wert führt zur folgenden Namensgebung | ||
+ | ** Templatedatei muss folgenden Namen besitzen: ''Resources/Private/Templates/'''HelloWorldClass'''/'''HelloWorldFnc'''.html'' | ||
== Classes/Controller/HelloWorldClassController.php == | == Classes/Controller/HelloWorldClassController.php == |
Version vom 26. Februar 2013, 18:09 Uhr
typo3 alte Seite: Typo3 Extensions entwickeln @deprecated
Inhaltsverzeichnis
Hello world Extensions mit extbase und fluid
- Grundlagen: Typo3 Flow
- Vorraussetzung: Installation der Extension: extbase und fluid
ext_emconf.php
Die grundsätzlichen Informationen für die Extension --- wichtig wären hier die Abhängigkeiten zu den extension extbase und fluid!!
ext_emconf.php
<?php
$EM_CONF[$_EXTKEY] = array(
'title' => 'nc testit flow',
'description' => 'nc test it flow description',
'category' => 'fe',
'author' => 'frederick',
'author_email' => 'frederik [at] netz [dot] coop',
'shy' => '',
'dependencies' => '',
'conflicts' => '',
'priority' => '',
'module' => '',
'state' => 'alpha',
'internal' => '',
'uploadfolder' => 0,
'createDirs' => '',
'modify_tables' => '',
'clearCacheOnLoad' => 1,
'lockType' => '',
'author_company' => '',
'version' => '0.0.0',
'constraints' => array(
'depends' => array(
/**
* wichtig da die extbase und fluid extension unbedingt vorhanden sein müssen!
*/
'php' => '5.2.0-0.0.0',
'typo3' => '4.3.dev-0.0.0',
'extbase'=> '1.0.1-0.0.0',
'fluid' => '1.0.1-0.0.0'
),
'conflicts' => array(
),
'suggests' => array(
),
),
);
?>
ext_localconf.php
Sagen welche Klasse und welche Funktion aufgerufen werden soll!!!!
ext_localconf.php
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
Tx_Extbase_Utility_Extension::configurePlugin(
$_EXTKEY,
'Pi1',
array(
'HelloWorldClass' => 'helloWorldFnc',
)
);
?>
Achtung:
- Schlüssel: HelloWorldClass führt zur folgenden Namensgebung
- Datei in der die Klasse zu finden sein muß: Classes/Controller/HelloWorldClassController.php
- die Klasse muss folgenden Namen besitzen: Tx_Nctestitflow_Controller_HelloWorldClassController
- Wert: helloWorldFnc führt zur folgenden Namensgebung
- die Klasse muss folgende Funktion besitzen: public function helloWorldFncAction()
- Schlüssel und Wert führt zur folgenden Namensgebung
- Templatedatei muss folgenden Namen besitzen: Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html
Classes/Controller/HelloWorldClassController.php
Achtung: Ordner-, Datei-, Klassen- und Funktionsnamen sind durch #ext_localconf.php vorgeschrieben!!!
Classes/Controller/HelloWorldClassController.php
<?php
class Tx_Nctestitflow_Controller_HelloWorldClassController extends Tx_Extbase_MVC_Controller_ActionController {
public function helloWorldFncAction() {
$this->view->assign('name', 'Vorname Nachname');
}
}
?>
Resources/Private/Language/locallang.xml
Resources/Private/Language/locallang.xml
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
<meta type="array">
<type>module</type>
<description>Language labels for Hello World</description>
</meta>
<data type="array">
<!-- ENGLISH LANGUAGE DATA -->
<languageKey index="default" type="array">
<label index="helloworld">hello world!!!</label>
</languageKey>
<!-- GERMAN LANGUAGE DATA -->
<languageKey index="de" type="array">
<label index="helloworld">Hallo Welt!!!</label>
</languageKey>
</data>
</T3locallang>
Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html
Achtung: Ordner- und Dateinamen sind durch #ext_localconf.php vorgeschrieben!!!
Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html
<p>
<f:translate key="helloworld" /></br>
{name}
</p>
ext_tables.php
hier mit wird die Extension im Backend zur Auswahl eingebunden .... das Plugin registriert!
<?php
Tx_Extbase_Utility_Extension::registerPlugin(
$_EXTKEY,
'Pi1',
'meine hello world fluid extbase extension'
);
?>
Probleme
Could not analyse class:Tx_ _Controller_ Controller maybe not loaded or no autoloader? (More information)
peinlichst genau darauf achten das die Namen (Klassen-, Dateinamen) richtig sind