如何在joomla模块xml中为表单字段添加自定义标记

时间:2016-08-10 05:06:56

标签: php xml joomla module joomla3.0

我想在joomla xml中的表单字段中添加自定义标记。我想在此单选按钮中添加bool succeeded = false; if(first_expression) { if(second_expression) { succeeded = true; // .... } } if(!succeeded) { // .... }

此代码不起作用,因此<i class="fa fa-facebook"></i>图标不会显示。

fa
  • 我已经导入了fontawesome库。

我想要的样本想法。 sample idea

当我尝试使用你的(@jonasfh)回答时,FA图标将会出现。但它是一个原始的,一个单选按钮

<field name="face_book_icon" type="radio" default="" label="Face Book Icon" description="Face Book Icon" >
        <option value="facebook-official"><i class="fa fa-facebook"></i> icon 1</option>
        <option value="facebook">icon 2</option>
        <option value="facebook-square">icon 3</option>
</field>

屏幕截图 - enter image description here

1 个答案:

答案 0 :(得分:1)

要修改字段的标记,您需要覆盖单选按钮字段的当前输出。这可以通过复制文件

来实现

layouts/joomla/form/field/radio.php

到您的模板,在文件夹中:

/templates/yourtemplate/html/layouts/joomla/form/field/radio.php

yourtemplate是当前模板所在的文件夹。现在你可以修改radio.php文件,添加<i> - 标签。您可以尝试在标签标签内添加标签(在第83行),但它的显示方式取决于模板如何呈现单选按钮。或者尝试在第81行添加标记。您还需要处理不同选项的不同图标。这可以通过直接在xml文件中向选项添加不同的类来处理吗?

<label for="<?php echo $oid; ?>"> <i <?php echo $optionClass; ?>></i><?php echo $option->text; ?> </label>

可以找到有关输出覆盖的更多内容here

还有一件事:只需在xml中的选项中添加正确的类,就可以实现你想要的东西:

<field name="face_book_icon" type="radio" default="" label="Face Book Icon" description="Face Book Icon" > <option value="facebook-official" class="fa fa-facebook">icon 1</option> <option value="facebook">icon 2</option> <option value="facebook-square">icon 3</option> </field>

根据css的设置方式,它可以直接开箱即用,也可以对css进行少量修改。