我主要是一个 Wordpress 人,正在尝试学习 Drupal 7 的技巧。我的问题与模板最佳实践和安全问题有关。我正在处理极其复杂的设计(是的,设计师对!?)所以我的标记需要干净且恰到好处,我发现 Drupal 使得模板文件和函数的大层次结构非常困难。基本上,我发现一直为我工作的工作流程是覆盖我需要在节点级别真正专门标记的特定内容类型的输出。
例如:node--custom-content-type.tpl.php
就像我说的那样,我是一个 wordpress 人,并且习惯于能够运行数据库查询,获取我想要的确切字段值并按照我的意愿使用它们。我一直在 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-->
我想知道这个过程如何与最佳实践相匹配,我做错了什么,我做对了什么,更重要的是我的安全风险是什么,我该如何避免它们?