THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

Dans le backoffice configuration du module "commentaires", il faut entrer les "Références autorisées".

Quelles sont-elles ?

product,content,category sont OK

Je souhaite activer les commentaires dans le compte du client (il clique sur "compte" et peut écrire  un commentaire)

Merci

Offline


Autre question :

J'aimerai afficher les commentaires de manière aléatoire à chaque actualisation (5 commentaires prix au hasard parmis les 2 derniers mois par exemple).

Quelle solution la plus simple pour obtenir ce resultat ?

Offline


De quel module s'agit-il ?


OpenStudio Toulouse

Offline

Offline


concernant ma question numéro 2, j'ai fait un COUNT(*) sur la BDD, et j'ai créé une chaine du genre "31,32,33,34,35" qui est envoyée dans le loop qui selectionne les commentaires.

Offline


voici la capture ecran :
https://imgshare.io/image/sans-titre.oQPkH

Last edited by valentin (01-03-2020 22:59:50)

Offline


Dans les deux cas, il faut coder.


OpenStudio Toulouse

Offline


Bonjour,

De quels cas parles-tu ?

je cherche juste à comprendre ce que sont les "reférences autorisées" ?

Dans le backoffice configuration du module "commentaires", il faut entrer les "Références autorisées".

Quelles sont-elles ?

Offline


> je cherche juste à comprendre ce que sont les "reférences autorisées"
Ce sont les entités sur lesquelles les commentaires sont possibles. Tu peux indiquer les valeurs suivantes :
product
content
product,content

Le libellé du champ de saisie n'est pas du tout clair. Un système à base de cases à cocher serait bien plus simple.

> Je souhaite activer les commentaires dans le compte du client
Il faut coder

> J'aimerai afficher les commentaires de manière aléatoire à chaque actualisation
Il faut coder


OpenStudio Toulouse

Offline


Ok Merci !

C'est plus clair wink

Le module n'est pas documenté sur ce point.

Bonne journée

Offline


Re !

Je n'arrive pas à comprendre comment se fait le "filtrage" pour Product et Content, c'est bien dans GetRefrence() ?

Offline


Le filtrage de quoi ?


OpenStudio Toulouse

Offline


Le filtrage des "références autorisées".

Quelle fonction permet de vérifier si la référence est bien sélectionnées dans les réglages ?

En fait, je ne comprend toujours pas l’intéret de ce parametre (Product et content)... En fait, il empêche de mettre le formulaire "nouveau commentaire" ou on veut avec un simple point d'accroche... donc je ne comprend pas sa fonction.

Offline


Le module est conçu pour permettre des commentaires sur des produits et/ou des contenus. Pas sur autre chose, même si tu essaies de l'accrocher à un autre point d'accroche.

Ce paramètre te permet donc de dire au module si tu veux des commentaires sur tes produits (product), des contenus (content) ou les deux (product,content).

C'est plus clair ?


OpenStudio Toulouse

Offline


Je comprend mieux oui, le module est efficace et fonctionne bien, mais il est assez cloisonné dans sa mise en place.

Quelle est la bonne manière pour pouvoir accrocher le formulaire ou l'on veut ? Je n'arrive pas à court-circuiter la verification product/contenu.

Offline


La vérification product/contenu doit se trouver par là : local/modules/Comment/Action/CommentAction.php:284
Il faudra peut-être aussi jeter un œil par ici : local/modules/Comment/Hook/FrontHook.php:135


OpenStudio Toulouse

Offline


Merci !

En effet, je n'avais pas vu dans FrontHook... !

Bon, je m'en occuperai demain, mais quand je poste un message dans le formulaire, j'ai Erreur403...

J'ai vidé le cache... Probleme connu ?

Offline


Help ! Je ne comprend pas pourquoi ca bloque...
Cache vidé et test depuis un autre PC pareil...

<form id="form-add-comment" action="{url path="/comment/add"}" method="post" novalidate>


<route id="front.comment.add" path="/comment/add" methods="POST">
        <default key="_controller">Comment\Controller\Front\CommentController::createAction</default>
    </route>

Offline


en fait je suis bloqué aprés cette ligne dans CreateAction :

        echo "hello"; // s'affiche
        // only ajax
        $this->checkXmlHttpRequest();
        echo "hello1"; // ne s'affiche pas.

Ca marche bien ailleurs pourtant

Offline


Bonjour,

Je n'y arrive pas... une piste pour m'aider ?

Offline


Regarde le code de checkXmlHttpRequest(). Cette méthode lève une exception AccessDeniedHttpException si la requête n'est pas une requête Ajax, ou si tu n'est pas en mode développement.


OpenStudio Toulouse

Offline


C'est pas évident, ca declenche plein de soucis ensuite, que je dois comprendre.... J'y travaille !

Sinon, coté front, peux-t'on afficher facilement les commentaires de manière Descendante (5/4/3/2/1) et non Ascendante (1/2/3/4/5) ? Pour avoir le plus recent en haut de la liste. genre un truc "orderbydesc". Je ne trouve pas.

Sinon, ou faut-il code cela ?

Offline


La boucle "comment" permet de spécifier l'ordre d'affichage des commentaires (àa manque dans la doc)

            new Argument(
                'order',
                new Type\TypeCollection(
                    new Type\EnumListType(
                        [
                            'id',
                            'id_reverse',
                            'status',
                            'status_reverse',
                            'verified',
                            'verified_reverse',
                            'abuse',
                            'abuse_reverse',
                            'created',
                            'created_reverse',
                            'updated',
                            'updated_reverse'
                        ]
                    )
                ),
                'manual'
            ),

OpenStudio Toulouse

Offline


Ah bah je me disais bien que j'avais vu ça dans le code wink

En effet ça manque dans la doc.

Nickel wink

{loop type="comment" name="HookCommentaires" order="id_reverse" status="1"}

Offline


Hello,

J'ai une question sur le module concernant l'envoi du mail par CRON.

J'appelle /comment/request-customer

<route id="request-customer-comment" path="/comment/request-customer">
        <default key="_controller">Comment\Controller\Back\CommentController::requestCustomerCommentAction</default>
    </route>

qui pointe vers :

public function requestCustomerCommentAction()
    {
        // We do not check auth, as the related route may be invoked from a cron
        try {
            $this->dispatch(
                CommentEvents::COMMENT_CUSTOMER_DEMAND,
                new CommentCheckOrderEvent()
            );
        } catch (\Exception $ex) {
            // Any error
            return $this->errorPage($ex);
        }
    }

Pourtant, mon CRON me repond erreur 403. et d'ailleurs, en appelant l'URL manuellement en se deconnectant du backoffice, l'acces est refusé.

Pourtant, aucun CheckAuth dans la fonction...

J'ai loupé quoi ?