2013-01-07 14 views
8

Im useing joomla 2.5 i chcę, aby utworzyć niestandardowy typ pola formularza that stored in the same module.Jak utworzyć niestandardowy typ pola formularza w module?

w pliku XML:

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

W pliku /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>'; 
    } 
} 

teraz to pokaż mi błąd , gdy kiedykolwiek usuwam błąd gon <fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields"></fields>e i pole wyświetlają się jako pole tekstowe.

Odpowiedz

12

Zapomniałeś określić modele w addfieldpath

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

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

    </fieldset> 
</fields> 

Wystarczy umieścić pola folderu w folderze modeli i umieść ścieżkę jak wyżej.

+0

Nie działa. Jednak jest to ścieżka na końcu Przeniosłem plik php do tej samej ścieżki. Czy ciało ma pliki open source! – alnassre

+0

@alnassre Mam aktualizację kodu spróbuj tego. – Toretto

+1

Praca = D Hoooray – alnassre

1

Po prostu zrób to za pomocą kodu dałeś, łatwe:

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

Już używam tego, ale to pokazuje erroe – alnassre

1

Zastosowanie addfieldpath ciągu dziedzinach tak jak ::

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

     <fieldset name="basic"> 

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

     </fieldset> 
</fields> 
-1

można spróbować użyć tego kodu. ta praca w kopalni

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

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

</fieldset> 
Powiązane problemy