HTML構造は次のとおりです。
<div id="contentp">
<p>.........</p>
<p>.........</p>
<div id="rate-node-18-1-1" class="rate-widget rate-widget-1 clear-block rate-processed">...</div>
</div><!--contentp end ----!>
<div id="contentp">
と</div> <!--contentp end ----!>
の間の部分は、次のスニペットによってnode.tpl.phpに生成されます。
<div id="contentp">
<?php print $content; ?>
</div>
<div id="rate-node-18-1-1">
の部分は、rateモジュールによって生成されます。
<div id="rate-node-18-1-1">...</div>
の外に</div> <!--contentp end ----!>
の部分を置きたいです。
どうすればよいですか?
Fivestarは実際には(例えばリンクを使用する代わりに)ノードのコンテンツの下部にマークアップを追加するため、少しトリッキーです。
理想的には、コンテンツタイプごとに別のノードテンプレートを作成します。つまり、node-story.tpl.php
またはそのようなもの(テーマによって異なります)。
安全に編集できるノードテンプレートを取得したら、上部で次の操作を行います。
<?php
$my_node_content = $node->content['body']['#value'];
$my_fivestar_widget = $node->content['fivestar_widget']['#value'];
?>
次に、<?php print $content; ?>
の代わりに、次のようにします:<?php print $my_node_content; ?>
このようにして、ノードの実際の本文コンテンツのみが印刷されます。
次に、必要な場所に、ファイブスターウィジェットのコードを印刷します。
マークアップを使用すると、次のようになります。
<div id="contentp">
<?php print $my_node_content; ?>
</div><!--contentp end ----!>
<div id="my_fivestar_container">
<?php print $my_fivestar_widget; ?>
</div><!--my_fivestar_container end ----!>