所有
有没有办法阻止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强制输出这些标记的任何信息都会很棒,谢谢!
答案 0 :(得分:0)
如果其他人需要答案,我确实已经触底了。
在H5B安装目录的RPCL文件夹中,有一个名为“smartytemplate.inc.php”的文件。这个文件是在每个引用的组件周围添加额外的div包装器。
要停止它,请在文件中搜索“_outer”,然后您将完成2个创建额外div的部分:
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>";
你可以只注释掉这段代码,烦人的包装就会消失。
希望这有用!