Joomla! Programmierung/Programmierung/XML Manifeste/1.5/Komponenten

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

[Bearbeiten] Aufbau der XML Manifestdatei

Inhaltsverzeichnis

[Bearbeiten] XML Informationen

<?xml version="1.0" encoding="UTF-8" ?>

Der verwendete XML Dokumententyp und das Encoding format.

<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD component 1.0//EN" "http://joomla.org/xml/dtd/1.5/component-install.dtd">

Die verwendete Joomla! Definition des Dokumententyps[1]. Wird zur validierung der XML Datei genutzt.

[Bearbeiten] Informationen zur Komponente

<install type="component" version="1.5.0" [method="upgrade"]>
  • type Joomla! Extension Typ (z.B. component, module, plugin...)
  • version Die Joomla! Version welche die Komponente unterstützt (z.B. 1.5, 1.6...)
  • [method] Optionale Angabe. Wird hier upgrade angegeben, muss eine Komponente nicht erst deinstalliert werden, um sie noch einmal zu installieren, zum Beispiel für ein Upgrade auf eine neuere Version.

Hinweis.png Es werden bei einem upgrade lediglich die alten Dateien mit den neuen überschrieben. Im neuen Paket nicht mehr vorhandene Dateien bleiben dabei jedoch auf dem Server zurück.
24px-Tip.png In der zu erwartenden Version Joomla! 1.6 wird sich der Upgradeprozess von Extensions jedoch stark ändern. So wird es voraussichtlich möglich sein SQL Dateien zu bestimmen, welche beim upgrade ausgeführt werden, eigene Updateserver und selbst ein Eintrag für <dependencies> findet sich in einer kürzlich veröffentlichten xml Datei welche zum testen des Installers verwendet wird.

[Bearbeiten] Allgemeine Informationen

	<name>KOMPONENTENNAME</name>
	<author>Klaus Mustermann</author>
	<authorEmail>klaus.mustermann@example.org</authorEmail>
	<authorUrl>http://www.example.org</authorUrl>
	<copyright>(C) 3009 Copyright Info</copyright>
	<license>License Info</license>
	<version>1.2</version>
	<creationDate>March 3009</creationDate>
	<description>Extension Description</description>

Generelle Informationen über die Komponente. Diese werden später im Backend in der Liste der installierten Komponenten angezeigt. Der Text innerhalb des Tags <description wird am Ende der Installation der Komponente angezeigt.

[Bearbeiten] Install / Deinstall

	<installfile>file.install.php</installfile>
	<uninstallfile>file.uninstall.php</uninstallfile>

Der Inhalt dieser Dateien wird am Ende der Installation bzw. Deinstallation ausgeführt. Hier können eigene Routinen definiert werden.

	<install>
		<sql>
			<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
			<file driver="mysql">sql/install.mysql.nonutf8.sql</file>
		</sql>
	</install>
	<uninstall>
		<sql>
			<file driver="mysql" charset="utf8" folder="sql">sql/uninstall.mysql.utf8.sql</file>
			<file driver="mysql" folder="sql">sql/uninstall.mysql.nonutf8.sql</file>
		</sql>
	</uninstall>

Diese Dateien beinhalten SQL Queries dei bei der Installation und Deinstallation ausgeführt werden.

[Bearbeiten] Frontend

	<files folder="site">
		<folder>ORDNERNAME</folder>
		...
		<filename>DATEINAME</filename>
		...
	</files>

Die Liste der Dateien und Ordner, welche in den Frontendbereich der Website kopiert werden. Ordner werden hier rekursiv, also inklusive aller Dateien und Unterordner kopiert.

	<languages folder="site">
		<language tag="en-GB">language/en-GB/en-GB.com_KOMPONENTENNAME.ini</language>
		...
	</languages>

Liste der Sprachdateien für das Frontend.

	<media destination="com_KOMPONENTENNAME">
		<filename>DATEINAME.jpg</filename>
		...
	</media>

Liste der Media Dateien für das Frontend.

[Bearbeiten] Backend

	<administration>
		<menu img="PFAD/DATEINAME.png">KOMPONENTENNAME</menu>
		<submenu>
			<menu link="option=com_KOMPONENTENNAME&task=task1">Task 1</menu>
			<menu link="option=com_KOMPONENTENNAME&task=task2">Task 2</menu>
			...
		</submenu>

Diese Einträge werden später im Hauptmenü im Backendbereich angezeigt.

		<files folder="admin">
			<folder>ORDNERNAME</folder>
			...
			<filename>DATEINAME</filename>
			...
		</files>

Die Liste der Dateien und Ordner, welche in den Backendbereich der Website kopiert werden. Ordner werden hier rekursiv, also inklusive aller Dateien und Unterordner kopiert. Der Backendbereich enthält keinen <media> Tag.

 		<languages folder="admin/language">
			<language tag="en-GB">language/en-GB.com_KOMPONENTENNAME.ini</language>
			...
		</languages>

Die Sprachdateien für das Backend.

	</administration>

[Bearbeiten] Parameter

	<params>
		<param name="example" type="text" default="" label="Example Param" description="EXAMPLEPARAMDESC" />
		...
	</params>

Definition der Parameter der Komponente.

</install>

Abschliessender <install> Tag - nicht vergessen ;)

[Bearbeiten] Siehe auch

  1. Offizielle DTD für Komponenten
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge