Joomla! Programmierung/Programmierung/XML Parameter Elemente/Eigene Parameter/Nafuspacer

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

[Bearbeiten] Nafuspacer - Ein Spacer mit Style

Inhaltsverzeichnis

<param type="nafuspacer" default="Joomla-Nafu.de" />

229px-custom-parameter-spacer.png

Der Standard Parametertyp spacer kann verwendet werden, um die Parameterelemente sinnvoll zu unterteilen. Der Standard Parametertyp gibt lediglich den ihm übergebenen Text aus.

Wir wollen den Standard Parametertyp nun etwas erweitern um ihn an das Design (die Corporate Identity) unserer Erweiterung anzupassen.

Da unsere Lieblingsfarbe J!-1.6-Blau ist, haben wir diese auch für unseren Nafuspacer gewählt.


[Bearbeiten] Speicherort der Datei

Folder green.png JOOMLA! ROOT

Folder blue.png administrator
Folder blue.png components
Folder blue.png com_KOMPONENTE
Folder blue.png assets
Folder blue.png elements
File php.png nafuspacer.php
Abb. 1.1.1 Speicherort der Datei

An welchem Ort sie die Datei Ihres Parameterelements speichern bleibt weitestgehend Ihnen überlassen. Voraussetzung ist natürlich, dass das Joomla! Framework auf die Datei zugreifen kann.

Wir nehmen an, dass wir unser Parameterelement für eine Komponente benötigen. Möglich sind natürlich auch alle anderen Typen von Joomla! Erweiterungen wie Module, Plugins und Templates.

Um etwas Zeit zu sparen kopieren Sie den bestehenden Elementtyp spacer in ein Unterverzeichnis Ihrer bereits bestehenden Komponente und ändern den Namen in File php.png nafuspacer.php wie in Abb. 1.1.1 zu sehen.


[Bearbeiten] Änderungen an der XML Datei

Fügen Sie dem Tag <params> ein addPath Attribut hinzu und geben Sie dort den Pfad zu Ihrem Parameterelement an.

Sie können jetzt das neue Parameterelement benutzen, um Ihre Parameter in Gruppen zu unterteilen.

...
   <params addPath="/administrator/components/com_KOMPONENTE/assets/elements">
 
		<param ... />
        <param type="nafuspacer" default="Abschnitt 1" />
		<param ... />
		<param ... />
		...
 
        <param type="nafuspacer" default="Abschnitt 2" />
		<param ... />
		...
 
   </params>
...

[Bearbeiten] PHP Code

Ändern Sie nun den PHP Code wie unten zu sehen ab, um die Textausgabe mit einem <div> Tag zu stylen.

<?php
/**
 * Renders a special spacer element
 *
 * @package 	Joomla-Nafu.de
 * @subpackage	Demos
 */
class JElementNafuspacer extends JElement
{
    /**
     * Element name
     *
     * @access	protected
     * @var	string
     */
    var	$_name = 'Nafuspacer';
 
    function fetchTooltip($label, $description, &$node, $control_name, $name)
    {
/* Einen Tooltip benötigen wir nicht.
 * Er wird daher durch ein Leerzeichen ausgeblendet. */
        return '&nbsp;';
    }//function
 
    function fetchElement($name, $value, &$node, $control_name)
    {
        if ($value)
        {
/* Wurde ein String übergeben, wird dieser an die Übersetzungsengine übergeben
   und in ein <div> Element geschrieben. */
            return '<div style="font-size: 1.3em; background-color: #99ccff; padding: 0.2em;">'.JText::_($value).'</div>';
        }
        else
        {
/* Wurde kein String übergeben, geben wir lediglich ein <hr /> Element zurück. */
            return '<hr />';
        }
    }//function
 
}//class

[Bearbeiten] Anwendungsbeispiele

In diesem Beispiel wird eine Parameterliste mit Hilfe des nafuspacer Elements optisch in Abschnitte aufgeteilt.

Abb. 1.4.1 Beispiel Nafuspacer
<?xml version="1.0" encoding="utf-8" ?>
<config>
	<params addPath="/administrator/components/com_KOMPONENTE/assets/elements">
 
		<param name="title" type="text" default="Nafu Demo Komponente" size="30" label="Title"
			description="The title to display for the component" />
		<param name="num_items" type="text" default="5"
			label="Number of items to display" description="" size="10" />
        <param type="nafuspacer" default="Abschnitt 1" />
		<param name="tmb_width_site" type="text" default="100" label="Site width"
			description="" size="10" />
		<param name="tmb_height_site" type="text" default="100" label="Site height"
			description="" size="10" />
        <param type="nafuspacer" default="Abschnitt 2" />
		<param name="tmb_width_feed" type="text" default="300" label="Feed width"
			description="" size="10" />
		<param name="tmb_height_feed" type="text" default="300" label="Feed height"
			description="" size="10" />
	</params>
 
</config>
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge