【发布时间】: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 将根据他们为所有后端遵循的标准显示它-结束部分。这只是为了方便开发者减少负担。