大家好

因為本身是專門開發joomla3外掛的人
那所以也會需要開發新的欄位格式
這東西是用在哪裡呢?
例如在一些設定黨的xml之中
有些
<field name="username" type="mytext" default="" label="使用者名稱" />
可以讓使用者方便配置設定所需要的欄位
用在設定功能之中
包含:元件設定,外掛設定,模板設定...之類的
甚至你也可以自行呼叫from表單來呼叫這些欄位
那在開發時有幾點要注意
1.type名稱最好是英文小寫
例如不要有空白,底線之類
2.類別名稱
使用 JFormFieldEmoImgInput 與 JElementEmoImgInput
然後分別要下
var $type = 'emoimginput'; var $_name = 'emoimginput';
函數進去
3.檔案名稱必須跟type一樣
例如在這範例中,檔案名稱必須為 mytext.php
4.在設定檔案需要額外指定element位置
<fieldset name="fields" label="JCONFIG_FIELDS_LABEL" description="JCONFIG_FIELDS_DESC" addfieldpath="/administrator/components/com_mycom/elements" >
可以參考以下範例
<?php defined('_JEXEC') or die ; class ZoearthElementInsertTestBtn extends JFormField { function fetchElement($name, $value, &$node, $control_name) { //$name 陣列的key值,因為同類型欄位可能被重複呼叫,所以實際呈現應該類似 jform[params][username] //$value 輸入的值 $html = '';//要輸出的html $html .= '<input type="text" name="'.$name.'" value="'.$value.'">'; return $html; } function getInput() { return $this->fetchElement($this->name, $this->value, $this->element, $this->options['control']); } } class JFormFieldEmoImgInput extends ZoearthElementInsertTestBtn { var $type = 'emoimginput'; } class JElementEmoImgInput extends ZoearthElementInsertTestBtn { var $_name = 'emoimginput'; } ?>
有問題都可以發問喔
感恩

留言板
歡迎留下建議與分享!希望一起交流!感恩!