2016-08-10 4 views
0

Das ist mein NgFieldGroup.ss (gerade Kopie FieldGroup.ss Plus $AttributesHTMLBenutzerdefinierte Vorlage nicht Rendering

<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> 

Die Vorlage durch die folgenden in einem Formular

FieldGroup::create(null,[ /*...*/ ])->setAttribute("ng-show","action")->setTemplate("NgFieldGroup") 

zugeordnet ist, wie Sie in diesem Bild sehen können, der Debugger zeigt, dass $this->getTemplate() eindeutig NgFieldGroup zugeordnet ist, aber in der Basis renderWith Methode ist es nirgendwo zu sehen.

Debugger Info


Was ist hier los?

+0

Haben Sie vorher 'dev/build? Flush = 1' gemacht? – bummzack

+0

@bummzack ja, mehrere Male – Isaac

+0

Ich finde sogar mich löschen den silverstripe-Cache-Ordner vollständig manchmal, um sicherzustellen, dass dies neu erstellt wird – Barry

Antwort

0

Sieht aus wie Ihre NgFieldGroup.ss ist eine Vorlage für ein Feld Inhaber - nicht für ein Feld? Sie können eine FieldHolder mit $field->setFieldHolderTemplate("NgFieldGroup");

0

Als letztes legen Sie immer eine Vorlage gibt und dann ... mit fromString angeben ...

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> 
    ')); 

Nicht hübsch, aber entfernt alle Verwirrung darüber, wo die Vorlage kommt von.

Verwandte Themen