2013-01-07 11 views
8

Im useing joomla 2.5, und ich möchte Feld eine benutzerdefinierte Formulartyp that stored in the same module.Wie erstellt man einen benutzerdefinierten Formularfeldtyp in einem Modul?

Im XML erstellen: Jetzt

<fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields"></fields> 
     <fieldset name="basic"> 
      <field name="title" type="City" label="anythging" description="" /> 
     </fieldset> 
</fields> 

In der Datei für Fehler es mir zeigen /modules/mod_royalslider/fields/city.php

<?php 
// Check to ensure this file is included in Joomla! 
defined('_JEXEC') or die('Restricted access'); 

jimport('joomla.form.formfield'); 

class JFormFieldCity extends JFormField { 

    protected $type = 'City'; 

    // getLabel() left out 

    public function getInput() { 
      return '<select id="'.$this->id.'" name="'.$this->name.'">'. 
        '<option value="1" >New York</option>'. 
        '<option value="2" >Chicago</option>'. 
        '<option value="3" >San Francisco</option>'. 
        '</select>'; 
    } 
} 

, wann immer ich entferne <fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields"></fields>

der Fehler gon e und das Feld wird als Textfeld angezeigt.

Antwort

12

Sie haben vergessen Modelle im addfieldpath

<fields name="params"> 
    <fieldset name="basic" addfieldpath="/modules/mod_royalslider/models/fields"> 

     <field name="title" type="City" label="anythging" description="" /> 

    </fieldset> 
</fields> 

Setzen Sie einfach die Felder in den Modellen Ordner Ordner angeben und Lege den Pfad wie oben an.

+0

Nicht funktioniert. Es ist jedoch ein Pfad am Ende Ich habe die PHP-Datei auf den gleichen Pfad verschoben. Haben alle Körper eine Open-Source-Dateien! – alnassre

+0

@alnassre Ich habe den Code aktualisieren versuchen Sie dies. – Toretto

+1

Gearbeitet = D Hoooray – alnassre

1

Sie den Code einfach nicht mit dir gegeben habe, einfach:

<fields> 
     <fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields"> 
      <field name="title" type="City" label="anythging" description="" /> 
     </fieldset> 
</fields> 
+0

Ich benutze es bereits, aber es zeigt erroe – alnassre

1

Verwenden addfieldpath in Feldern wie wie ::

<fields name="params" addfieldpath="/modules/mod_royalslider/models/fields" > 

     <fieldset name="basic"> 

     <field name="title" type="City" label="anything" description="" /> 

     </fieldset> 
</fields> 
-1

können Sie versuchen, diesen Code verwenden. Diese Arbeit in meinem

<fieldset addfieldpath="/modules/mod_royalslider/models/fields" name="basic"> 

    <field name="title" type="City" label="anything" description="" /> 

</fieldset>