Typo3 Extensions entwickeln: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html)
(Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html)
Zeile 104: Zeile 104:
 
<source lang="html4strict">
 
<source lang="html4strict">
 
<p>Hallo Welt, dein  {name}?</p>
 
<p>Hallo Welt, dein  {name}?</p>
 +
</source>
 +
 +
== ext_tables.php ==
 +
 +
hier mit wird die Extension im Backend zur Auswahl eingebunden .... das Plugin registriert!
 +
 +
<source lang="php">
 +
<?php
 +
 +
Tx_Extbase_Utility_Extension::registerPlugin(
 +
    $_EXTKEY,
 +
    'Pi1',
 +
    'meine hello world fluid extbase extension'
 +
);
 +
 +
?>
 
</source>
 
</source>
  

Version vom 26. Februar 2013, 17:00 Uhr

typo3 alte Seite: Typo3 Extensions entwickeln @deprecated

Hello world Extensions mit 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/Templates/HelloWorldClass/HelloWorldFnc.html

Achtung: Ordner- und Dateinamen sind durch #ext_localconf.php vorgeschrieben!!!

Resources/Private/Templates/HelloWorldClass/HelloWorldFnc.html

<p>Hallo Welt, dein  {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

Quellen