Я создал выпадающее меню выбора списка, как то, что описано в документе 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