这是我的NgFieldGroup.ss
(FieldGroup.ss
加上$AttributesHTML
<div $AttributesHTML class="<% if $extraClass %>$extraClass<% else %>fieldgroup<% end_if %><% if $Zebra %> fieldgroup-zebra<% end_if %>" <% if $ID %>id="$ID"<% end_if %>>
<test-bad-html>
<% loop $FieldList %>
<div class="fieldgroup-field $FirstLast $EvenOdd">
$SmallFieldHolder
</div>
<% end_loop %>
</test-bad-html>
</div>
模板由表单
中的以下内容分配FieldGroup::create(null,[ /*...*/ ])->setAttribute("ng-show","action")->setTemplate("NgFieldGroup")
正如您在此图片中看到的那样,调试器显示$this->getTemplate()
明确分配了NgFieldGroup
,但在基本renderWith
方法中,它无处可见。
这里发生了什么?
答案 0 :(得分:0)
您的NgFieldGroup.ss
似乎是字段持有者的模板 - 而不是字段?您可以使用$field->setFieldHolderTemplate("NgFieldGroup");
答案 1 :(得分:0)
作为最后的手段,您始终可以在那里指定模板,然后......使用fromString
...
FieldGroup::create(null,[ /*...*/ ])
->setAttribute("ng-show","action")
->setTemplate(SSViewer::fromString('
<div $AttributesHTML class="<% if $extraClass %>$extraClass<% else %>fieldgroup<% end_if %><% if $Zebra %> fieldgroup-zebra<% end_if %>" <% if $ID %>id="$ID"<% end_if %>>
<test-bad-html>
<% loop $FieldList %>
<div class="fieldgroup-field $FirstLast $EvenOdd">
$SmallFieldHolder
</div>
<% end_loop %>
</test-bad-html>
</div>
'));
不漂亮,但消除了模板来自何处的所有混淆。