COOLCAT creations


Design • Marketing  Suchmaschinenoptimierung  Webdesign  Programmierung

owlimg.php

Die Hauptdatei des Plugins ruft das Feld auf. Hier reicht im ersten Schritt folgende Angabe aus, um das Feld darzustellen:

<?php
/**
* @package Joomla.Plugin
* @subpackage Fields.Owl
*
* @copyright Copyright (C) 2017 NAME. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

defined('_JEXEC') or die;

JLoader::import('components.com_fields.libraries.fieldslistplugin', JPATH_ADMINISTRATOR);

class PlgFieldsOwlimg extends FieldsListPlugin
{

}

Nach PlgFields folgt der Name unseres Plugins, beginnend mit einem Großbuchstaben, also: PlgFieldsOwlimg Mit extends sagen wir, dass wir eine existierende Klasse erweitern wollen. In diesem Fall FieldsListPlugin. Ist es kein Dropdown nehmen wir FieldsPlugin.

Die Dateien zu diesen Klassen sind im Ordner administrator/components/com_fields/libraries zu finden.

Nun wollen wir das Feld nicht einfach so anzeigen sondern festlegen, dass die Ordnerliste zum Beispiel aus dem images Ordner abgerufen werden soll, dazu verändern wir den soeben gezeigten Code folgendermaßen:

<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Fields.Owlimg
 *
 * @copyright   Copyright (C) 2017 NAME. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::import('components.com_fields.libraries.fieldslistplugin', JPATH_ADMINISTRATOR);

class PlgFieldsOwlimg extends FieldsListPlugin
{

	public function onCustomFieldsPrepareDom($field, DOMElement $parent, JForm $form)
	{
		$fieldNode = parent::onCustomFieldsPrepareDom($field, $parent, $form);
		if (!$fieldNode)
		{
			return $fieldNode;
		}

		$fieldNode->setAttribute('directory', 'images/');
		$fieldNode->setAttribute('hide_default', true);
		$fieldNode->setAttribute('hide_none', true);

		return $fieldNode;
	}

}

Wir fügen also nun in unsere Klasse PlgFieldsOwlimg die Methode onCustomFieldsPrepareDom ein und setzen ein paar Attribute, wie zum Beispiel das Startverzeichnis "images" in dem unsere Bilder und Bildordner liegen.

Telefon

Mobil +49 170 3171072
Festnetz +49 911 13092264
beide Rufnummern leiten auf das gleiche Telefon

Anschrift

Schanzenstraße 21
90478 Nürnberg

von ungefragten Werbemails,
Post und Bewerbungen bitte ich abzusehen