私は主に Wordpress の男で、Drupal 7 のコツを学ぼうとしています。私の質問は、テンプレートのベスト プラクティスとセキュリティの問題に関連しています。私は非常に複雑なデザインを扱っているので (そう、デザイナーですよね!?)、マークアップはクリーンで適切なものである必要があり、Drupal ではテンプレート ファイルと関数の階層が大きいため、これが非常に困難であることがわかりました。基本的に、私が見つけたワークフローは、ノード レベルで本当に特殊なマークアップが必要な特定のコンテンツ タイプの出力をオーバーライドすることです。
例えば: node--custom-content-type.tpl.php
私が言ったように、私はワードプレスの男であり、データベースクエリを実行し、必要な正確なフィールド値を取得して、好きなように使用できることに慣れています。私は kpr または $variables 配列を出力し、その内容を調べ、次のように値を直接取得しました。
$link = $variables['field_link'][0]['url'];
$link_title = $variables['field_link'][0]['title'];
$target = $variables['field_link'][0]['attributes']['target'];
$text = $variables['field_main_text'][0]['safe_value'];
そして、思い通りにマークアップ内の変数をエコーアウトして使用します。
<article class="getstarted-wrapper">
<a id="tocollege" target="<?php print_r($target); ?>" title="<?php print_r($link_title); ?>" href="<?php print_r($link); ?>"><img src="/sites/all/themes/amped/images/visiticon.png" /></a>
<a id="mapcollege" target="_blank" title="View Location In Google Maps" href="<?php echo $maplink; ?>"><img src="/sites/all/themes/amped/images/mapicon.png" /></a>
<div class="getstarted-top" style="background:<?php print_r($bg); ?>;">
<figure>
<img title="<?php print_r($auth_title); ?>" alt="<?php print_r($auth_alt); ?>" src="<?php print_r($auth_img); ?>" />
</figure>
</div><!--getstarted-top-->
<div class="getstarted-bottom">
<p><?php print_r($text); ?></p>
<a target="<?php print_r($target); ?>" title="<?php print_r($link_title); ?>" href="<?php print_r($link); ?>">Get Started</a>
<span>This will take you to <?php print_r($college_name); ?></span>
</div><!--getstarted-bottom-->
</article><!--getstarted-wrapper-->
このプロセスがベスト プラクティスとどのように一致するのか、何が間違っているのか、何が正しく行われているのか、そしてさらに重要なことに、セキュリティ リスクとは何か、それらを回避するにはどうすればよいのか疑問に思っています。