【问题标题】:Joomla Plugin Back-end OptionsJoomla 插件后端选项
【发布时间】:2014-01-12 01:47:08
【问题描述】:

我是 Joomla 编程新手。我已经建立了一个插件,它运行良好。我只有一个小烦恼,一整天都让我发疯。当您进入后端配置插件时,选项会偏​​移 180 像素的左边距。我发现这是因为选项被包装在一个 div 中,其中 style="control-group" 应用了这个边距。

为了更好地理解问题,以下是输出的压缩版本:

<div class="control-group">

<div class="control-label">
    <label id="jform_params_group_template_mapping-lbl" for="jform_params_group_template_mapping" class="hasTooltip" title="" data-original-title=""></label>
</div>

<div class="controls">
    //This is where my generated code is
    <div class="control-group">
        <div class="control-label">
            <label>Uncategorised</label>
        </div>
        <div class="controls" style="float:right;margin-right:20%;">
        </div>
    </div>

    <div class="control-group">
        <div class="control-label">
            <label>Blog</label>
        </div>
        <div class="controls" style="float:right;margin-right:20%;">
        </div>
    </div>

    <div class="control-group">
        <div class="control-label">
            <label>TestingTemplate</label>
        </div>
        <div class="controls" style="float:right;margin-right:20%;">
        </div>
    </div>
</div>

</div>

如您所见,我的控件都在一个控件中。我似乎无法找到带有类控制组的父 Div 来自哪里。我希望我生成的内容有自己的控件,而不是子 div。

请让我知道您需要查看代码的哪一部分来帮助我确定此问题。我觉得它是清单 XML 的一部分,但对 Joomla 不熟悉。

清单文件的配置部分是:

<config>
    <fields name="params">
        <fieldset name="basic">
            <field type="fta.mapping" name="group_template_mapping" addfieldpath="/plugins/system/assigntemplatebycategory/fields" description="PLG_SYSTEM_TEMPLATE_ASSIGNER_GROUP_TEMPLATE_MAPPING_DESC" label="PLG_SYSTEM_TEMPLATE_ASSIGNER_GROUP_TEMPLATE_MAPPING_LABEL" default=""/>
        </fieldset>
    </fields>
</config>

【问题讨论】:

  • 看起来ostraining.com/blog/how-tos/development/… 我以某种方式创建了一个字段组,该字段组的字段包含另一个字段组,其中包含我的所有字段。不知道这是否解释得更好或更糟。
  • 能否请您发布 xml 清单?字段内的字段组不是一个好主意
  • 我是根据其他开发人员的工作开始的。经过大量阅读后,似乎在扩展 jformfields 时使用了两种方法,getInput 和 getLabel。之前的开发者只是扩展了getInput,把子字段和子标签的HTML作为getInput的返回。根据我阅读的内容,我可能应该将其重新编码为两个函数,一个用于 GetLabels 下的标签,一个用于 getInput 下的选项。如果我理解正确,请告诉我。
  • Joomla 基本上是这样工作的:你不必设计后端的界面,你只需给 Joomla 一个 xml 文件,Joomla 将根据他们为所有后端遵循的标准显示它-结束部分。这只是为了方便开发者减少负担。

标签: html css joomla


【解决方案1】:

配置文件结构正确。但很不寻常,因为 addfieldpath 通常是在字段级别定义的,而不是单个字段,即

<config>
    <fields addfieldpath="/administrator/components/com_littlehelper/elements/" name="params">

我不确定这是否会成为问题。

问题很可能出在自定义字段上。要进行测试,只需将字段类型更改为text 并查看是否出现了不需要的缩进。如果是这样,/plugins/system/assigntemplatebycategory/fields/fta.mapping.php 中定义的自定义字段输出应该包含一个额外的包装器。

同时尝试将addfieldpath 属性移动到fields(并将其从field 中删除)。

【讨论】:

  • 感谢您让我知道这些字段位于错误的位置。我移动了它,它没有帮助。我发现以前的开发人员设置它的方式是 fta.mapping 是一种自定义字段类型,它遍历一堆信息并构建子控件。目标是为每个类别提供一个选项。我认为这对于我拥有的小插件来说已经足够了。
猜你喜欢
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2015-05-30
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 2012-11-10
  • 1970-01-01
相关资源
最近更新 更多