2013-01-07 35 views
8

Im useing joomla 2.5, và tôi muốn tạo ra một loại lĩnh vực hình thức tùy chỉnh that stored in the same module.Cách tạo loại trường biểu mẫu tùy chỉnh trong mô-đun?

Trong XML:

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

Trong tập tin /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>'; 
    } 
} 

cho bây giờ nó chỉ cho tôi lỗi , khi nào tôi xóa <fieldset name="basic" addfieldpath="/modules/mod_royalslider/fields"></fields>

lỗi mới nhất e và trường disply như một trường văn bản.

Trả lời

12

Bạn quên định mô hình trong addfieldpath

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

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

    </fieldset> 
</fields> 

Chỉ cần đặt các lĩnh vực thư mục bên trong thư mục các mô hình và đặt con đường như trên.

+0

Không hoạt động. Tuy nhiên, đó là một con đường ở cuối tôi chuyển tập tin php vào cùng một đường dẫn. Mọi cơ thể đều có tệp nguồn mở! – alnassre

+0

@alnassre Tôi đã cập nhật mã này. – Toretto

+1

Đã làm việc = D Hoooray – alnassre

1

Bạn chỉ cần làm điều đó bằng cách sử dụng mã bạn đưa ra, dễ dàng:

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

Tôi đã sử dụng nó, nhưng nó hiển thị erroe – alnassre

1

Sử dụng addfieldpath trong các lĩnh vực như như ::

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

     <fieldset name="basic"> 

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

     </fieldset> 
</fields> 
-1

bạn có thể thử sử dụng mã này. công việc này trong tôi

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

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

</fieldset> 
Các vấn đề liên quan