0

全部,

有没有办法阻止 HTML5Builder 将组件包装在 div 标签中?

每个获取输出的组件都有额外的 div 标签,如下所示:

<div id="label1_outer" style="display: inline;"><div id="label1"    >Label</div></div>

当我取消选中组件上的“divwrap”时,该组件的输出变为:

<div id="label1_outer" style="display: inline;">Label</div>

所以几乎是我要找的。

[请注意,这是使用 Smarty 模板输出标签组件值后的结果代码。]

我正在尝试找到一种方法来停止显示这些额外的 div 标签,因为它正在抛弃我的 CSS,并且重新编码我的 CSS 来处理这个问题会很痛苦。

在用户先前关于编辑 graphics.ini.php 文件的回复之后,我在此处发布了相同的问题:

https://forums.embarcadero.com/thread.jspa?threadID=80038&tstart=0

然而,到目前为止,还没有得到回应。

任何有关如何阻止 HTML5Builder 强制输出这些标签的信息都会很棒,谢谢!

4

1 回答 1

0

万一其他人需要答案,我确实找到了答案。

在H5B安装目录的RPCL文件夹中,有一个名为'smartytemplate.inc.php'的文件。该文件在每个引用的组件周围添加了额外的 div 包装器。

要停止它,请在文件中搜索“_outer”,您将在其中创建额外 div 的 2 个部分进行罚款:

if ($v->inheritsFrom('Control'))
{
if ($v->DivWrap) $code="<div id=\"".$v->Name."_outer\" style=\"display:inline;$style\">".$code."</div>";
}
else $code="<div id=\"".$v->Name."_outer\" style=\"display:inline;$style\">".$code."</div>";

您只需注释掉这部分代码,烦人的包装器就会消失。

希望这会有所帮助!

于 2013-04-01T15:17:12.497 回答