以下は http://drupal.org/node/1965 の日本語訳です。
テーマの作者は、プログラマがあらゆるプロジェクトでするように、きれいで、よく構造化されたコードを書くように注意しなければなりません。そうすることで、コードがより読みやすく、理解しやすく、メンテナンスしやすいものになります。異なる組織には異なる規約があるでしょうが、普通はDrupalの標準に従うことがベストです。共同作業したり援助を求める際の助けにもなります。
... <?php if ($header): ?> <div id="header"> <?php print $header; ?> </div> <?php endif; ?> ...こうする:
... <?php if ($header): ?> <div id="header"> <?php print $header; ?> </div> <?php endif; ?> ...このように異なるインデントで定義することで、対応する開始タグと終了タグを見つけやすくなります。
<?php if (!$page) { print "<h2><a href=\"$node_url\">$title</a></h2>"; } if ($submitted) { print "<span class=\"submitted\">$submitted</span>"; } ?>こうする:
<?php if (!$page): ?> <h2><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2> <?php endif; ?> <?php if ($submitted): ?> <span class="submitted"><?php print $submitted; ?></span> <?php endif; ?>結局のところ、PHPはHTML埋め込み型のスクリプト言語であり、あべこべにすべきではありません。
Price: <?php print $price; ?> Tax: <?php print $price * 0.075; ?>計算部分はデータのプレゼンテーションを始める前にコードに移動させてください。スクリプトのビジネスロジック部分は次のようになります:
<?php $tax = $price * 0.075; ?>そしてプレゼンテーション部分は:
Price: <?php print $price; ?> Tax: <?php print $tax; ?>
<?php print $tax; ?> -- YES <?php print $tax ?> -- NOPHPコードの部分に関する詳細はDrupalコーディング標準に従ってください。
ログインユーザと匿名ユーザでCSSファイルを切り替えたい場合、phptemplate_preprocess_page()に以下のように書くことでCSSを出し分けることができます。ユーザのログイン状態は$logged_inで判別します。
function phptemplate_preprocess_page(&$vars) { if ($vars['logged_in']) { drupal_add_css(path_to_theme() . '/login-user.css', 'theme'); } else { drupal_add_css(path_to_theme() . '/anonymouse.css', 'theme'); } $vars['styles'] = drupal_get_css(); }
ページタイトルを変更するには$head_titleを上書きします。コンテンツタイプごとに変更したり、もっと細かい調整をしたい場合はPage Titleモジュールがおすすめです。
function phptemplate_preprocess_page(&$vars) { $vars['head_title'] = str_replace(' | ', ' - ', $vars['head_title']); }