Image
Note 1

Epingler des commentaires

DarkLane Dimanche 7 Janvier 2024 7:31:24 127 0
  • Grâce à ce module pour Dle 15.1-17.0, vous pouvez faire une sélection des meilleurs commentaires, les plaçant ainsi en tête de liste parmi tous les autres, ce qui permettra de mettre en évidence des informations importantes ou, par exemple, de les utiliser pour des modèles comme Q/A (Question et Répondre).

    Capacités des modules

    • Possibilité d'épingler un commentaire au-dessus des autres
    • Possibilité de désépingler un commentaire épinglé
    • L'administrateur et l'auteur de la publication peuvent épingler un commentaire
    • Il fonctionne sur un script JS et en appelant les fenêtres DLE Alert, sans ajustements du moteur - tout se passe à l'aide d'un plugin et d'un fichier PHP en cours d'exécution.

  • Configuration et installation

    L'installation et la configuration du module nécessitent peu d'efforts. Le système de plugins DLE fera tout pour vous, il vous suffit d'apporter de petites modifications.



    1. Déplacez le dossier engine vers le répertoire de votre site.

    2. Importer le fichier commentrec.xml dans les plugins (Utilitaires - Gestion des plugins)

    3. Dans le fichier comments.tpl de votre modèle, insérez le code dont vous avez besoin dans les balises [best][/best]

    Par exemple: vous avez un div class="postcomments" , ajoutez-y [best] style="background: green"[/best] pour donner un fond vert au meilleur commentaire.

    4. Ajoutez du texte de balise [add-best]Fixer[/add-best] et du texte [dell-best] Défixer[/dell-best]

    Avec le texte et le style souhaités à l’intérieur, ce sera le code en cours d’exécution. add-best Appelle la fenêtre «Fixer un commentaire», dell-best «Défixer».

    5. Ajoutez le code suivant au fichier fullstory.tpl tout en bas :

    <script>
    function BestComments(a, b, c) {
        if (c == 1) {
            text = "DéFixer ce commentaire?";
        } else {
            text = "Fixer d'abord ce commentaire?";
        }
        DLEconfirm(text, dle_confirm, function() {
            ShowLoading("");
            $.post(dle_root + "engine/ajax/controller.php?mod=commsort", {
                id: a,
                post_id: b,
                dell_comm: c,
                user_hash: dle_login_hash
            }, function(data) {
                HideLoading("");
                $("#dle-content").load(window.location.href + " #dle-content");
                DLEalert(data, dle_info);
            })
        })
    }
    </script>


    L'installation et la configuration du module nécessitent peu d'efforts. Le système de plugins DLE fera tout pour vous, il vous suffit d'apporter de petites modifications.

    Question/Réponse sur le fonctionnement du module
    L'ordre de tri par défaut est au format - DESC.
    Cela signifie que le tri va des anciens commentaires aux nouveaux.
    Si vous disposez d'une méthode de sortie différente, remplacez DESC par ASC.
    Pour cela, dans l'onglet "Actions dans les fichiers" du plugin, éditez la première action à la toute fin
    " ORDER BY best DESC, " . PREFIX . "_comments.id";


    Si votre version DLE est inférieure à 15.1, le plugin ne fonctionnera pas.
    Pour adapter cela aux anciennes versions, vous devez modifier le code.

    Ouvrez la gestion des plugins et dans la section "Actions dans les fichiers"
    Deuxième action (dans le fichier moteur/classes/comments.class.php), recherchez:
    $row['name'] = isset($row['name']) ? stripslashes( $row['name'] ) : '';

    Remplacé par:
    $row['name'] = stripslashes( $row['name'] );

    Ensuite pour toutes les versions de 13.3 à 15.0 tout fonctionnera 😊


    Le texte de notification est modifié dans le script ajouté dans fullstory.tpl et dans le fichier commsort.php chargé dans engine/ajax.

Informations complèmentaires
  • Version DLE: 19.0
Version DLE: 15.1-17.0
Auteur: SX2
Modification: typeweb

Personne n'a encore remercié!

avatar

DarkLane

Groupe: Administrateurs
Voir ses Articles

Articles similaire

DLE Armor Captcha
Nouveau
DLE Armor Captcha

Discution

Aucun commentaire pour le moment — soyez le premier.