web-dev-qa-db-fra.com

Affichage du contenu - Formulaire de vote dans le remplacement du modèle com_content

Je souhaite afficher le formulaire Vote de contenu dans une position spécifique de mon article joomla. Par conséquent, je ne peux pas utiliser le plug-in standard Content - Vote car il est configuré pour être affiché avant le corps de l'article (j'ai besoin de quelque chose de plus flexible).

J'ai donc décidé de prendre le code de formulaire du plug-in Content - vote et de le placer dans mon modèle com_content/article override.

Voici le code:

<?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>

Le code ci-dessus fonctionne bien, mais ma question est-elle une bonne pratique pour intégrer ce formulaire directement à com_content override? Ou avez-vous une autre solution pour une position flexible de la fonction Contenu - Vote pour mon article? Merci

1
webchun

Je pense qu'il serait préférable de simplement créer un autre plugin basé sur Content - Vote. Celui-ci remplacera simplement string dans article pour un formulaire utilisant des pseudo variables telles que {VOTEFORM}. Ensuite, vous ajoutez simplement ceci {VOTEFORM} dans un endroit de l’article où vous le souhaitez. Ceci sera sûr pour la mise à jour car aucun remplacement de modèle n'est requis et le plug-in de vote par défaut sera intact. Bien sûr, vous devriez désactiver le plugin par défaut (Contenu - Vote) lorsque vous utilisez celui-ci.

1
Artur Stępień