[plugin] MyComRememberMe: Se rappeler de moi sur ce site

StéphaneStéphane Member, Former PluXml Project Manager
MyComRememberMe est un plugin qui vient rajouter une case à cocher "Se rappeler de moi sur ce site" en dessous du formulaire des commentaires pour rappeler le nom, l'url du site et l'adresse email du visiteur qui laisse un commentaire, ce qui lui évitera de ressaisir ses informations la prochaine fois qu'il laissera nouveau commentaire sur votre site.

Plugin disponible ici

MyComRememberme.png

Historique:
## Version 1.1 (05/09/2013) ##
BUG Validation W3C

## Version 1.0 (04/05/2012) ##
version initiale

Consultant PluXml

Ancien responsable et développeur de PluXml (2010 à 2018)

Réponses

  • bankaibankai Member
    Ha ben la, un seul mot: excellent
  • FrancisFrancis Member
    Intéressant, ce plugin, merci Stéphane.
  • bankaibankai Member
    Salut Stéphane, le plugin est nikel mais n'est pas valide Xhtml
    Line 236, Column 106: document type does not allow element "p" here; missing one of "object", "ins", "del", "map", "button" start-tag
    …x="4"></textarea><p class="rememberme"><input type="checkbox" id="id_rememberm…
    ✉
    The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
    
    One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
    


    Je ne sais pas si cela vient du codage du plugin ou si le codage est bon de l'intégration avec le code de mon formulaire ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    je vais regarder. j'aurais peut etre mieux fait de mettre un <div>, plutôt qu'un <p>

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • bankaibankai Member
    J'ai essayer le div

    Line 218, Column 108: document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag
  • StéphaneStéphane Member, Former PluXml Project Manager
    @bankai: ça doit etre l'ensemble de ton formulaire qui rend la page invalide avec l'ajout de la case à cocher, car avec le thème par défaut la page est valide.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Dany3dDany3d Member
    Très utile
    merci
  • bankaibankai Member
    Cela va se corsé pour moi alors ^^ je va voir avec le code d'origine et le miens.
  • bankaibankai Member
    Bon j'ai retouché le code du plugin pour enlever le "class", là c'est valide mais je n'arrive pas a coller le texte au carré de sélection ?
    Aurais tu une idée cher Stéphane ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    bankai a écrit:
    Bon j'ai retouché le code du plugin pour enlever le "class", là c'est valide mais je n'arrive pas a coller le texte au carré de sélection ?
    Aurais tu une idée cher Stéphane ?

    dans ta feuille de style rajoute
    #id_rememberme {
    float:left;
    width:15px;
    margin-top:5px;
    }
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • bankaibankai Member
    Un ami vient de m'aider un peu beaucoup ^^

    Voici pour ceux qui ont un thème très modifié, cela peu servir pour les modifications:

    dans le fichier plxMyComRememberMe.php
    	/**
    	 * Méthode qui ajoute la case à cocher "Se rappeler de moi" au niveau des commentaires
    	 *
    	 * @return	stdio
    	 * @author	Stephane F.
    	 *
    	 **/
    	public function IndexEnd() {
    
        echo '<?php
    		$text = "<input type=\"checkbox\" id=\"id_rememberme\" name=\"rememberme\" value=\"1\" class=\"id_rememberme\" />&nbsp;'.$this->getLang('L_REMEMBER_ME').'";
    		$output = preg_replace("/<textarea.+name=[\'\"]content[\'\"](.*?)<\/textarea>/i", "$0".$text, $output);
    		?>';
    	}
    

    et dans le fichier CSS de votre Template:

    /* Plugin remenberme */
    #respond .id_rememberme {
        float: left;
        margin-top: 3px;
        width: 25px;
    }
    

    Cela devrait servir de bonne base pour les personnes qui n'ont pas le thème officiel ou un thème au codage identique.
  • StéphaneStéphane Member, Former PluXml Project Manager
    ok je ferai une mise à jour pour enlever la balise <p> qui c'est vrai n'a pas lieu d'etre. apres ça ne reste plus que de la mise en page ccs. thanks

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • bankaibankai Member
    En même temps, cela va devenir de plus en plus compliqué de faire des plugins officiel, adaptable à tout les Templates personnels :)
  • StéphaneStéphane Member, Former PluXml Project Manager
    ## Version 1.1 (05/09/2013) ##
    BUG Validation W3C

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • aruhunoaruhuno Member
    septembre 2013 modifié
    Bonjour,

    Tout d'abord un grand merci pour ce plugin, qui manque sur beaucoup de site que je commente.

    Ensuite, je rencontre des difficultés vis à vis de l'intégration du plugin dans mon formulaire.
    Pour faire simple, l'intégration automatique de ce plugin dans un formulaire me pose problème pour son placement.
    Exemple : http://dev.egarim.fr/installation-et-configuration-de-windows-server-2008r2-core
    [== HTML ==]
    
    
    			<form action="http://dev.egarim.fr/installation-et-configuration-de-windows-server-2008r2-core#form" method="post">
    				<fieldset>
    					<p><label for="id_name">Votre nom ou pseudo&nbsp;:</label></p>
    					<p><input id="id_name" name="name" type="text" size="20" value="" maxlength="30" />
    					</p>
    					<p>
    						<label for="id_site">Votre site Internet (facultatif)&nbsp;:</label>
    					</p>
    					<p>
    						<input id="id_site" name="site" type="text" size="20" value="" />
    					</p>
    					<p>
    						<label for="id_mail">Votre adresse e-mail (facultatif)&nbsp;:</label>
    					</p>
    					<p>
    						<input id="id_mail" name="mail" type="text" size="20" value="" />
    					</p>
    					<p>
    						<label for="id_content" class="lab_com">Contenu de votre message&nbsp;:</label>
    					</p>
    					<p>
    						<textarea id="id_content" name="content" cols="35" rows="6"></textarea><div class="rememberme"><input type="checkbox" id="id_rememberme" name="rememberme" value="1" />&nbsp;Se rappeler de moi sur ce site</div>
    					</p>
    					<p class="com-alert">
    											</p>
    					<p>
    												<label for="id_rep"><strong>V&eacute;rification anti-spam</strong>&nbsp;:</label>
    					</p>
    					<p>
    						Quelle est la <span class="capcha-letter">troisième</span> lettre du mot <span class="capcha-word">fomy</span> ?&nbsp;:&nbsp;<input id="id_rep" name="rep" type="text" size="10" />
    											</p>
    					<p>
    						<input type="submit" value="Envoyer votre commentaire" />
    					</p>
    				</fieldset>
    			</form>
    

    Même si il est vrai que graphiquement je peux le bricoler, je ne peux pas non plus continuer dans ma logique :
    [== HTML ==]
    <p>
            Mon input/checkbox
    </p>
    

    Je n'écris pas ce commentaire pour que ma logique domine, mais pour donner un exemple de soucis d'intégration avec l'automatisation de l'ajout d'un élément provenant d'un plugin.
  • StéphaneStéphane Member, Former PluXml Project Manager
    @aruhuno: il faut que tu rajoutes dans le fichier style de ton theme
    input#id_rememberme {
    width: 15px;
    }
    

    comme on ne peut pas prévoir tous les cas de figure au niveau de l'intégration et de l'affichage en fonction des thèmes de chacun, il faut quand même à un moment rajouter un peu code. la div avec l'id #id_rememberme est là pour ça.

    pour le moment il n'est pas possible de faire
    <p>
            Mon input/checkbox
    </p>
    
    si on veut une intégration sans mettre les mains de le code html. déjà parce que tous les thèmes n'ont pas <p></p> au niveau de champs du formulaire des commentaires.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • aruhunoaruhuno Member
    septembre 2013 modifié
    Merci,

    C'est justement pour ça que j'aime bien avoir la possibilité d'intégrer le plugin où je veux dans le code (comme MySocialButton par exemple).
    Par contre, c'est sûr qu'il faut mettre les mains dans le cambouis pour ça ^^

    En tout cas, merci encore ! =]

    edit : une idée pour centrer le texte et la case ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    @aruhuno: pour centrer (par rapport au code de ton site)
    div.rememberme {
    text-align: center;
    }
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Hum, oui, non, mais en fait centrer le texte et la case verticalement ><

    Regarde là, si je suis pas clair : http://dev.egarim.fr/contact
  • ppmtppmt Member
    Salut,

    je déterre un vieux sujet. Je me demandais si il est possible d'utiliser le plugin pour mémoriser autre chose que le formulaire des commentaires?

    Je cherche une méthode pour que mes clients puissent mémoriser leur données dans le panier du plugins PlxMyShop?

    C'est possible ou ça demanderait trop de bidouilles?

    Merci
  • YannicYannic Member
    ppmt a écrit:
    Salut,

    je déterre un vieux sujet. Je me demandais si il est possible d'utiliser le plugin pour mémoriser autre chose que le formulaire des commentaires?

    Je cherche une méthode pour que mes clients puissent mémoriser leur données dans le panier du plugins PlxMyShop?

    C'est possible ou ça demanderait trop de bidouilles?

    Merci

    Salut, oui c'est tout à fait possible et très facilement mais pourquoi ne pas avoir demander cette fonction dans le plugin en question ?

    Buster/NGINX/PHP7/PluXml5.8

  • ppmtppmt Member
    oui en effet ce serait encore mieux si c’était implémenté dans le plugin

    J'ai regarder un peu le code du plugin et je dois avouer que toute ces histoire de hook ca me perturbe.

    Je n'arrive pas a comprendre comment le plugins se retrouvent intégrer en dessous des commentaires sachant que rien d'autre n'a été modifie dans pluxml :(
  • YannicYannic Member
    mars 2017 modifié
    Salut, je posterai code a soir/nuit en rentrant.

    Buster/NGINX/PHP7/PluXml5.8

  • @ppmt : regarde du côté de la fonction parseCommentaire dans plxMotor (fichier core/lib/class.plx.motor.php)
  • ppmtppmt Member
    @Yannic : merci. Tu habites vraiment au Lac-Saint_Jean??? je suis un peu jaloux la!

    @Jerry Wham: Le probleme c'est que j'ai du mal des fois a comprendre ce qu'une fonction fait. La si je comprend cette fonction sert a lire le fichiers des commentaire. Du coup je ne comprend pas comment ca pourrait m'aider?
  • À la fin de la fonction, il y a un appel de hook qui permet d'injecter du code à cet endroit via un plugin.
    [== PHP ==]
    eval($this->plxPlugins->callHook('plxMotorParseCommentaire'));
    
  • ppmtppmt Member
    Ok je vois

    Donc ce que tu veux dire c'est que si j’écrivais dans un plugin une fonction qui s'appelle plxMotorParseCommentaire alors son code serait exécuté a la fin de la fontion de la fonction ParseCommentaire?
    C'est ca?
  • YannicYannic Member
    mars 2017 modifié
    @ppmt : http://forum.pluxml.org/viewtopic.php?pid=53285#p53285

    Sinon oui depuis 2012 et on as beaucoup de points commun en lisant la bio de ton site, j'ai juste quelques années de retard sur toi mais on as a peu près le même chemin et certainement la même pâte vivante ;)

    Buster/NGINX/PHP7/PluXml5.8

  • ppmtppmt Member
    @Yannic: Merci pour le code je vais regarder ca....aujourd'hui c'est jour de pain alors j'aurai pas forcement le temps

    il faudra qu'on discute en prive de nos points commun. Ca m'interresse toujours ce genre d'affaire :)
Connectez-vous ou Inscrivez-vous pour répondre.