所以我读了很多“使用 Web 标准进行设计”并且非常喜欢它。我是 CakePhp 的大用户,当我查看 Cake 使用 FormHelper 创建的各种表单元素的源代码时,我看到了各种无关的内容
在书中,他提倡使用语义 HTML,并尽可能简单/通用地编写标记。
所以我的问题是,在这些情况下我是否可以更好地编写自己的 HTML?我真的很想按照 XHTML 和 CSS 标准进行工作,而且当我可以编写自己的 HTML 时,我似乎会花同样多的时间(如果不是更多的话)清理 Cakes HTML
想法?
附:下面是 CakePhp 使用 FormHelper 生成的开箱即用表单示例
<form id="CompanyAddForm" method="post" action="/omni_cake/companies/add" accept-charset="utf-8"><div style="display:none;"><input type="hidden" name="_method" value="POST" /></div> <div class="input text required"><label for="CompanyName">Name</label><input name="data[Company][name]" type="text" maxlength="50" id="CompanyName" /></div> <div class="input text required"><label for="CompanyWebsite">Website</label><input name="data[Company][website]" type="text" maxlength="50" id="CompanyWebsite" /></div> <div class="input textarea"><label for="CompanyNotes">Notes</label><textarea name="data[Company][notes]" cols="30" rows="6" id="CompanyNotes" ></textarea></div> <div class="submit"><input type="submit" value="Submit" /></div></form>
编辑: 缩进形式(缩进不会影响标准合规性问题,但上述单行样式几乎无法阅读):
<form id="CompanyAddForm" method="post" action="/omni_cake/companies/add" accept-charset="utf-8">
<div style="display:none;">
<input type="hidden" name="_method" value="POST" />
</div>
<div class="input text required">
<label for="CompanyName">Name</label>
<input name="data[Company][name]" type="text" maxlength="50" id="CompanyName" />
</div>
<div class="input text required">
<label for="CompanyWebsite">Website</label>
<input name="data[Company][website]" type="text" maxlength="50" id="CompanyWebsite" />
</div>
<div class="input textarea">
<label for="CompanyNotes">Notes</label>
<textarea name="data[Company][notes]" cols="30" rows="6" id="CompanyNotes" ></textarea>
</div>
<div class="submit">
<input type="submit" value="Submit" />
</div>
</form>
在上面,有几个似乎没有必要的 div,比如具有内联 CSS“display:none”的 div。我意识到我可以更改所有字段的类和 ID,但如果我对每个字段都这样做,我还不如自己编写 HTML...
最佳答案
对于你的两个问题我的回答如下:
Is CakePhp 'standards compliant' when generating HTML, Forms, etc?
是的。
In [Designing with Web Standards], he promotes semantic HTML, and writing your markup as simple / generic as possible. So my question is, am I better writing my own HTML in these situations?
有时你的情况会更好,有时则不然。如果您的目标是使用最少的语义标记,那么大多数时候您最好编写自己的 HTML。但是,如果您的目标是快速生成符合标准的 HTML,那么让 Cake 发挥其应有的作用(快速开发框架)是一个好主意。
也就是说,当您发现不必要时,您可以告诉 Cake 不要打印其某些标记。例如,您可以通过使用 false
值和此选项来抑制包装表单输入的 div
元素:http://book.cakephp.org/view/1397/options-div
关于html - 生成 HTML、表单等时 CakePhp 是否为 'standards compliant'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4610404/