0

我正面临 Yii 关于 DOM 的一些奇怪行为:我有以下代码

<div class="large-3 columns">
   <?php $this->renderPartial("/categories/_small");  echo "some test text"; ?>
</div>
<footer>
   This is a footer     
</footer>

生成的 html 与我期望的不同:

<div class="large-3 columns">
   ... text from render partial goes here ... 
  <div style="clear:both;"> some test text </div>
  <footer> This is a footer </footer>
</div>

为什么所有文本都在第一个div内?为什么一些测试文本会出现在我没有输入的一些 div 中?我认为它与renderPartial 有关,因为当它不存在时,一切都按预期进行。

PS 根据要求,我添加了我想要的 html 作为输出:

<div class="large-3 columns">
   text from render partial goes here 
   some test text <--- NO ADDITIONAL DIV TAG IS APPENDED
</div>
<footer> This is a footer </footer>
4

1 回答 1

0

我找到了这种行为的根源。它与renderPartial 无关。问题出在文件 _small 中,该文件引用了包含未封闭标签 DIV 的文件扩展名/CDropDownMenu.php。这就是错误标签嵌套的起源。

由于yiiframework 论坛上的讨论,我设法解决了问题。

于 2013-06-16T22:32:10.857 回答