如何将自定义标记添加到 joomla 模块中的表单字段 xml

How could add custom markup to form field in joomla module xml

我想在 joomla xml 中向表单字段添加自定义标记。我想在此单选按钮中添加 <i class="fa fa-facebook"></i>

此代码无效,因此 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>

我想要什么的示例想法。

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

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

这里是截图 -

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

layouts/joomla/form/field/radio.php

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

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

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

中的选项中添加不同的 类 来处理

<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 稍作修改。