web-dev-qa-db-ja.com

表示順の調整方法

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 ----!>の部分を置きたいです。

どうすればよいですか?

2
enjoylife

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 ----!>
2
Alex Weber