Typo3 Extensions entwickeln: Unterschied zwischen den Versionen
F (Diskussion | Beiträge) (→Quellen) |
F (Diskussion | Beiträge) (→Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html) |
||
Zeile 96: | Zeile 96: | ||
?> | ?> | ||
</source> | </source> | ||
+ | |||
+ | == Resources/Private/Language/locallang.xml == | ||
+ | |||
+ | '''Resources/Private/Language/locallang.xml''' | ||
+ | <source lang="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> | ||
+ | </source> | ||
+ | |||
== Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html == | == Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html == | ||
Zeile 103: | Zeile 128: | ||
'''Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html''' | '''Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html''' | ||
<source lang="html4strict"> | <source lang="html4strict"> | ||
− | <p> | + | <p> |
+ | <f:translate key="helloworld" /></br> | ||
+ | {name} | ||
+ | </p> | ||
</source> | </source> | ||
Version vom 26. Februar 2013, 17:40 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!!!!
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
ext_localconf.php
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
Tx_Extbase_Utility_Extension::configurePlugin(
$_EXTKEY,
'Pi1',
array(
'HelloWorldClass' => 'helloWorldFnc',
)
);
?>
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