Joomla記事の特定の位置にコンテンツ投票フォームを表示したいので、記事の本文の前に表示されるように設定されているため、コンテンツ-投票標準プラグインを使用できません(もっと柔軟なものが必要です)。
そこで、Content-voteプラグインからフォームコードを取得して、テンプレートcom_content/article overrideに配置することにしました。
ここにコードがあります:
<?php $uri = JUri::getInstance();
$uri->setQuery($uri->getQuery() . '&hitcount=0');?>
<form method="post" action="<?php echo htmlspecialchars($uri->toString()); ?>" class="form-inline">
<select name="user_rating">
<option value="1">Vote 1</option>
<option value="2">Vote 2</option>
<option value="3">Vote 3</option>
<option value="4">Vote 4</option>
<option value="5" selected="selected">Vote 5</option>
</select>
<input class="btn btn-primary" type="submit" name="submit_vote" value="Vote Now" />
<input type="hidden" name="task" value="article.vote" />
<input type="hidden" name="hitcount" value="0" />
<input type="hidden" name="url" value="<?php echo htmlspecialchars($uri->toString()); ?>" />
<?php echo JHtml::_('form.token') ?>
</form>
上記のコードはうまく機能していますが、私の質問ですが、そのフォームをcom_contentオーバーライドに直接埋め込むことは良い習慣ですか?または、私の記事に対する柔軟なコンテンツ-投票機能の位置に関する他の解決策はありますか?ありがとう
コンテンツ-投票に基づいて別のプラグインを作成する方が良いと思います。これは、{VOTEFORM}
のようないくつかの疑似変数を使用して、フォームの記事の文字列を置き換えるだけです。次に、この{VOTEFORM}
を記事内の必要な場所に追加するだけです。これは、更新に対して安全であるため、テンプレートのオーバーライドは必要なく、デフォルトの投票プラグインはそのまま残ります。もちろん、このプラグインを使用するときは、デフォルトのプラグイン(コンテンツ-投票)を無効にする必要があります。