ですから、私は「Web標準を使った設計」をたくさん読んで、本当に楽しんでいます。私はCakePhpの大ユーザーであり、CakeがFormHelperを使用して作成するさまざまなフォーム要素のソースを見ると、あらゆる種類の無関係なものがあります。
この本では、彼はセマンティックHTMLを推進し、マークアップを可能な限り単純/一般的に記述しています。
だから私の質問は、私はこれらの状況で自分のHTMLを書く方が良いですか?私は本当にXHTMLとCSSの標準に準拠して作業したいと思っています。自分で作成できるのであれば、Cakes HTMLのクリーンアップに同じくらいの時間を費やすようです(それ以上ではないにしても)。
考え?
psこれは、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>
上記では、インラインCSS "display:none"を持つもののように、不要と思われるいくつかのdivがあります。すべてのフィールドのクラスとIDを変更できることに気付きましたが、それぞれに対して変更を行う場合は、自分でHTMLを作成したほうがよいでしょう...