1
我已經創建了一個下拉選擇列表自定義字段,就像在joomla文檔中所教導的那樣,但我不知道在組件模板中調用此字段的想法。如何在joomla組件視圖模板中使用自定義字段
代碼的文件中建議是這樣的,
//Get custom field
JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
$cities = JFormHelper::loadFieldType('City', false);
$cityOptions=$cities->getOptions(); // works only if you set your field getOptions on public!!
,但怎樣才能讓像一個選擇的形式?像
<select>
<option></option>
<option></option>
<option></option>
</select>
字段定義代碼是這樣的:
<?php
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');
jimport('joomla.form.formfield');
// The class name must always be the same as the filename (in camel case)
class JFormFieldRank extends JFormField {
//The field class must know its own type through the variable $type.
protected $type = 'Rank';
public function getLabel() {
// code that returns HTML that will be shown as the label
}
public function getInput() {
// code that returns HTML that will be shown as the form field
return '<select id="'.$this->id.'" name="'.$this->name.'">'.
'<option value="0" >00 President</option>'.
'<option value="1" >01 Vice President</option>'.
'<option value="10" >10 General Secretary</option>'.
'<option value="20" >20 Financial Chair</option>'.
'<option value="21" >21 Financial Deputy Chair</option>'.
'<option value="30" >30 Academics Chair</option>'.
'<option value="31" >31 Academics Deputy Chair</option>'.
'<option value="40" >40 Public Relation Chair</option>'.
'<option value="41" >41 Public Relation Deputy Chair</option>'.
'<option value="50" >50 Publicity Chair</option>'.
'<option value="51" >51 Publicity Deputy Chair</option>'.
'<option value="60" >60 Social and Sports Chair</option>'.
'<option value="61" >61 Social and Sports Deputy Chair</option>'.
'<option value="70" >70 Logistics and Welfare Chair</option>'.
'<option value="71" >71 Logistics and Welfare Deputy Chair</option>'.
'<option value="80" >80 IPSSSCB Advisor</option>'.
'</select>';
}
}
其次,在表單文件夾中的XML文件,應該是什麼名字?與自定義字段名稱相同?這是rank.xml?
並在xml文件中,如下所示:我可以更改名稱,標籤,描述標籤嗎?
<field name="title" type="Rank" label="JGLOBAL_TITLE"
description="JFIELD_TITLE_DESC"
required="true" />
<fieldset addfieldpath="/administrator/components/com_committee/models/fields">
謝謝!
但是,我想在網站模板中使用該字段,我該如何在xml中調用該字段? – Soya
「在網站模板中」是什麼意思?這不是一個模板參數,它是關於像「背景顏色」這樣的模板的東西,它看起來是某些個人的東西。你不希望你的網站的每一個頁面上的這個領域呢? 如果您製作了自己的組件,您是否擁有表單視圖的MVC三元組? – Elin
對不起,我構建了一個組件,並在一個視圖default.php中,有一個表單,我想要一個名爲'rank'的輸入框使用自定義字段。 – Soya