我们在所有地方都有重复的代码,我们希望能够在一个地方更改所有代码(我们正在测试从接缝到playframework的端口)。我想为此创建一个标记文件(我已经创建了一些标记,但这个标记更难)。下面是代码,现在重复....如何在playframework模板中制作更复杂的标签#{field}?
<div>
<div class="entry">
<div class="spacer"></div>
#{field 'company.alias'}
<span class="label ${field.errorClass}">Company Alias:</span>
<span class="input ${field.errorClass}">
<input type="text" class="boxtpl" name="${field.name}" value="${company?.alias}">
<a id="newinfo" class="help" title="&{'help.companyAlias'}">Help</a>
<span class="error">${field.error}</span>
</span>
#{/field}
</div>
</div>
<div>
<div class="entry">
<div class="spacer"></div>
#{field 'company.name'}
<span class="label ">Company Name:</span>
<span class="input ">
<input type="text" class="boxtpl" name="${field.name}" value="${company?.name}">
<a id="newinfo" class="help" title="&{'help.companyName'}">Help</a>
<span class="error">${field.error}</span>
</span>
#{/field}
</div>
</div>
新标签的使用会像这样(或者是这样的,如果我们能以某种方式对其进行管理)......
#{mynewtag label:'Company Name', name:'company.name', help:&{'help.companyName'}}
#{mynewtag label:'Company Alias', name:'company.alias', help:&{'help.companyAlias'}}
所以请注意,字段'company.name',因此我希望将其填入代码中,并注意值=“$ {company?.name}”,以便将该部分引入,然后最终生成& { 'help.companyName'}(基本上3个位置,因为我知道如何做第四个标签)。然后,当我们改变这个布局时,它会改变我们的页面。有没有办法在比赛中完成这个或没有?
这将是非常好的,如果有一个#{} field.value像#{} field.name所以我只会有三种paramters传递的4
而且,当它来代替来到可访问性,我想我可以在以后使用此标记模板的所有字段轻松添加for属性,而无需在不同页面上编辑100个字段。
感谢, 院长
您试图重构您的“字段”标签还是要创建新标签?我们称之为“条目“,用周围的'div'和嵌套的”field“标签打印出”entry“'div'? – Carsten 2012-02-04 17:27:58
我只是想将上面的代码更改为一个标记文件并像这样使用它#{mynewtag label:'Company Name',name:'company.name',help:&{'help.companyName'}} AND#{ mynewtag label:'Company Alias',name:'company.alias',help:&{'help.companyAlias'}} – 2012-02-06 01:41:02