Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[PHPBB3] Mettre photo en favori après un vote


2 participants

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 5 Juin 2020 - 19:19

  • Version du forum :
    PHPBB3
  • Templates modifiés :
    oui
  • Navigateur :
    Firefox
Bonjour à tous les milouziens,

Et merci encore à Philippe pour toute ses aides.

Dans le système de réputation un bouton "Vote" a été placé pour voter positivement pour une photo:
Spoiler:

Serait-il possible lorsqu'un membre clique sur ce bouton "Vote" de rajouter automatiquement le sujet concerné dans les favoris du membre.

Merci pour votre aide.


Dernière édition par photoclic le Dim 7 Juin 2020 - 19:24, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 5 Juin 2020 - 19:27

Coucou Serge,

lorsque cela concerne les favoris du membre, c'est un choix de sa part concernant les importations.
On ne peut donc pas aboutir à ta demande, vu que cela est une obligation!!!
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 5 Juin 2020 - 19:45

Bonsoir Philippe,

Ah mince.

Comme au dessus de la photo un bouton a été ajouté pour mettre le sujet en favori, je pensais que lorsque le membre cliquerait sur le bouton "vote" il pourrait se passer la même chose que sur ce bouton "Favori" grâce à un de tes scripts magiques :-)

Spoiler:

Le html du bouton dans le template viewtopic_body:
Code:

         <!-- Debut bouton ajouter aux favoris -->                            
     <li id="M14_FavORiTe"><a href="/search?add_favourite={TOPIC_ID}&search_id=favouritesearch" rel="nofollow"><img class="Fav" src="https://i.servimg.com/u/f31/19/32/37/01/36125810.png" title= "Ajouter à vos favoris"/></a></li>
               <!-- Fin bouton ajouter aux favoris -->


Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 6 Juin 2020 - 4:42

Hello Serge,

il faut donc se servir de ce bouton dans ce cas non,
pourquoi vouloir un double emploi Serge?

photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Sam 6 Juin 2020 - 11:38

Bonjour Philippe,

En fait l'idéal aurait été d'avoir:
. un bouton pour mettre en favori une photo avec une étoile sous la photo et à coté le nombre de favoris, et cela visible par tous
. et avoir une autre rubrique où l'on retrouverait les photos pour lesquelles on aura voté avec le bouton vote.
Or cela ne semble pas possible sur FA.

Pour contourner cela, j'ai bien un bouton favori qui permet de mettre un sujet en favori. Et tu m'as développé une fonction qui permet de retrouver chaque 1ière photo présente dans ses sujets favoris.

Là l'idée était donc d'ajouter aux favoris de façon automatique les photos pour lesquelles on aura voté pour éviter de cliquer sur l'un puis l'autre bouton.

Parallèlement, j'ai posté sur FA une suggestion pour mettre en public les favoris de façon paramétrable, mais tout le monde semble contre :-)
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 6 Juin 2020 - 18:39

Coucou Serge,

je comprends bien ta demande Serge, mais je ne pourrais pas te donner quoique ce soit concernant l'importation des photos au clic sur le bouton vote
car il n'y a aucun support pour les stocker et difficile de les mettre aussi en favoris car il faudrait modifier le lien du bouton vote, savoir si le membre n'a pas déjà cliqué (et cela est strictement impossible à savoir)..
Ce qui est possible de faire,
c'est de remplacer le lien du vote non évalué par celui du favoris!!
Ou d'en positionner un autre au dessus.

A mettre en bas du template par exemple:
Code:
<script>
  $('.postbody ').find('a[href*="eval=plus"]').each(function(){
$(this).closest('div').append('<a href="/search?add_favourite={TOPIC_ID}&search_id=favouritesearch" rel="nofollow" title="Ajouter à vos favoris">(+)</a>');
});
</script>

Il suffit ensuite de mettre une class à la balise "a" et de la positionner ensuite via la c.s.s.
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Sam 6 Juin 2020 - 19:01

Re Phil,
Milouze14 a écrit:
Coucou Serge,

je comprends bien ta demande Serge, mais je ne pourrais pas te donner quoique ce soit concernant l'importation des photos au clic sur le bouton vote
car il n'y a aucun support pour les stocker et difficile de les mettre aussi en favoris car il faudrait modifier le lien du bouton vote, savoir si le membre n'a pas déjà cliqué (et cela est strictement impossible à savoir)..
Le détournement fait en ajoutant un bouton sous l’avatar pour visualiser les photos des sujets mis en favoris me convient parfaitement et je te remercie encore pour le script que tu m'as développe pour cela.

Concernant le 2ième point je testerai ton script dans la soirée, car je ne suis pas sur mon ordi là, et te ferais un retour l'ami.

Mervi pour ton aide Philippe.

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 6 Juin 2020 - 19:03

Pas de soucis Serge,
on verra tout cela demain matin vers 5h00 si possible MDR .

photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Sam 6 Juin 2020 - 19:16

C'est l'heure à laquelle je me couche, mais je peux repousser d'une 1/2h MdR
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 6 Juin 2020 - 19:23

lOL

Mais de mon côté,
c'est l'heure que je code MDR .
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 0:21

Re-Phil,

J'espère que ta nuit fut bonne :-)

Alors j'ai testé ton script comme indiqué.
Sur mon forum test, tout fonctionne correctement avec ton nouveau bouton qui remplit parfaitement sa fonction.

Mais quand je le mets sur mon forum avec le script correspondant à la fonction du bouton "Vote", ce nouveau bouton disparait.

Le script du bouton vote:
Code:

$(function(){
try{
var minWidth=10,minHeight=8;
var activeOn=["f1","f4"];
/*Ne rien modifier de ce qui suit*/
tstRegs=[];
photovote=false;
$vB=$(".postbody .vote-button:first a").first();
$poll=$vB.parentsUntil('.vote').parent();
for( i in activeOn){
  tstRegs.push(new RegExp("^\/"+activeOn[i]+"-","i"));
}

$(".pathname-box:first a").each(function(){
for(i in tstRegs){
  if(photovote=tstRegs[i].test($(this).attr("href")))break;
}
});

if(photovote&&/^\/t\d+-/g.test(document.location.pathname)){

$.get("/f5-",function(d){
var coll=[],id_subject=false;
var $img_s=$vB.parentsUntil(".postbody").parent().find(".content img");
$img_s.each(function(){
if(this.width>=minWidth&&this.height>=minHeight)coll.push('[img]'+this.src+'[/img]')}
);
/*id_subject ...*/
$(".announcement .topictitle[href]",d).each(function(){if(/^Semaine\W+du\W+\d+/i.test($(this).text()))id_subject=$(this).attr("href").match(/^\/t(\d+)/)[1]});
if(!coll.length||!id_subject)return;

$vB.html('<img id="bouton_voter" src="https://i.servimg.com/u/f84/18/97/96/21/bouton10.png" alt="Voter" title="Je vote pour cette photo" />');
$vB.parentsUntil(".postbody").parent().find(".profile-icons").append($("<li/>"));
$poll.attr('class','vote-photo');
$poll.html($vB);
$poll.appendTo($vB.parentsUntil(".postbody").parent().find(".profile-icons li:last"));
$vB.click(function(ev){
ev.preventDefault();
$.get($(this).attr("href"));
$.post('/post',{mode:'reply',t:id_subject,subject:'vote',message:coll.join('<br />'),post:'Envoyer'});
$poll.html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />');
  });
$('img#bouton_voter').tooltipster({
      animation : 'fade',
      arrow : true,
      speed : 300,
      delay : 300,
      onlyOne : true,
      theme : 'tooltipster-default'
});  
})
/***/
};

$(".vote").each(function(){
  if(photovote){photovote=0;return}
$(this).find(".vote-button:first a").html('<img src="https://2img.net/i/fa/empty.gif" alt="Voter" title="Je vote pour ce message" />').click(function(ev){
ev.preventDefault();
$.get($(this).attr("href"));
$(this).parent().html('<img src="https://2img.net/i/fa/optimisation_fdf/common/buttonok_off.png"  alt="Vote enregistré" title="Vote enregistré" />')}
                                                                                                                                              
);
$(this).closest(".postbody").find("ul.profile-icons").append("<li />").find("li:last").append($(this).find(".vote-button:first a")).append($(this).find(".vote-bar").length?' <div class="vote-count" title="Nombre de votes positifs">'+$(this).find(".vote-bar").attr("title").replace(/^.*\(([0-9]*) .*?\)$/,"$1"):"")+'</div>';
$(this).remove()
}
)}
catch(e){
console.log(e)}
});

Sinon, cela serait viable Phil.
Je mettrais ce nouveau bouton au dessus du bouton "Vote" sous forme de + de couleur rouge avec une class ajoutée à ton bouton ainsi:
Code:

$('.postbody ').find('a[href*="eval=plus"]').each(function(){
    $(this).closest('div').append('<a class="favbis" href="/search?add_favourite={TOPIC_ID}&search_id=favouritesearch" rel="nofollow" title="Ajouter cette photo à vos favoris">+</a>');
    });

et par exemple ce CSS:
Code:

a.favbis {
    float: right;
    position: relative;
    color: red;
    margin-top: -50px;
}

j'ai laissé cela en place aussi sur mon forum, même si le nouveau bouton n'apparait pas.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 7 Juin 2020 - 5:06

Hello Serge,
la nuit fut bonne mais courte comme d'habitude Merci .



j'ai laissé cela en place aussi sur mon forum, même si le nouveau bouton n'apparait pas.

Je ne vois rien du tout de mon côté.

Le script déposé dans le template recherche cette ligne Serge:
Code:

<a href="{postrow.displayed.switch_vote_active.switch_vote.U_VOTE_PLUS}">+</a>


photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 10:48

Bonjour Philippe,

Tout est en place sur mon forum et la ligne cherchée est bien dans le template. Voici la partie concernée:
Code:

<!-- BEGIN switch_vote_active -->
<div class="vote gensmall">
<!-- BEGIN switch_vote -->
<div class="vote-button"><a href={postrow.displayed.switch_vote_active.switch_vote.U_VOTE_PLUS}">+</a></div>
<!-- END switch_vote -->

Ton script fonctionne parfaitement Phil lorsque je désactive le script du bouton vote présenté ci-dessus:
https://www.milouze14.com/t32687-phpbb3-mettre-photo-en-favori-apres-un-vote#622481
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 7 Juin 2020 - 11:19

Re Serge,
hum, difficile de passer outre Serge, cette condition:

Code:
$(".vote").each(function(){
  if(photovote){photovote=0;return}
$(this).find(".vote-button:first a")

Empêche le fonctionnement Merci .
Désolé, mais il faut faire un choix et je crois qu'il est vite choisi non ?
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 7 Juin 2020 - 11:32

A moins de contourner avec ceci:
Code:

<!-- BEGIN switch_vote -->
<div class="vote-button"><a href={postrow.displayed.switch_vote_active.switch_vote.U_VOTE_PLUS}">+</a></div>
<div class="vote-buttonBis"><a href={postrow.displayed.switch_vote_active.switch_vote.U_VOTE_PLUS}">+</a></div>
<!-- END switch_vote -->

 
Code:
 <script>
      $('.postbody ').find('.vote-buttonBis').find(' a[href*="eval=plus"]').each(function(){
    $(this).closest('div').append('<a href="/search?add_favourite={TOPIC_ID}&search_id=favouritesearch" rel="nofollow" title="Ajouter à vos favoris">(+)</a>');
    });
    </script>


Dernière édition par Milouze14 le Dim 7 Juin 2020 - 11:39, édité 1 fois
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 11:37

Ah oui, en effet.

Le choix se porte effectivement sur le bouton vote.

Dommage que l'on ne puisse pas attribuer 2 fonctions au même bouton, ou alors dupliquer le bouton favori avec une autre image ou symbole et mettre ce second à côté du bouton vote.

Tant pis Phil pas grave; sujet à délester donc et merci pour le temps passé l'ami.
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 11:37

Ah, nos messages se sont croisés.

J'essaie ta nouvelle idée et je reviens. Philippe.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 7 Juin 2020 - 11:40

J'ai édité mon message pour le script Serge, fait la modification avant tout:

Code:
    <script>
          $('.postbody ').find('.vote-buttonBis').find(' a[href*="eval=plus"]').each(function(){
        $(this).closest('div').append('<a href="/search?add_favourite={TOPIC_ID}&search_id=favouritesearch" rel="nofollow" title="Ajouter à vos favoris">(+)</a>');
        });
        </script>

A ce soir hinhin .
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 12:03

Rien à faire Philippe, dès que je remets le script du bouton vote, ça masque aussi le bouton du nouveau script.
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 12:27

Re Phil,

En partant le même principe du bouton bis, j'ai fait ça au niveau du bouton favori:
Code:

            <!-- Debut bouton ajouter aux favoris -->                           
          <li id="M14_FavORiTe"><a href="/search?add_favourite={TOPIC_ID}&search_id=favouritesearch" rel="nofollow"><img class="Fav" src="https://i.servimg.com/u/f31/19/32/37/01/36125810.png" title= "Ajouter à vos favoris"/></a></li>                
                <li id="M14_FavORiTebis"><a href="/search?add_favourite={TOPIC_ID}&search_id=favouritesearch" rel="nofollow"><img class="Fav" src="https://i.servimg.com/u/f31/19/32/37/01/36125810.png" title= "Ajouter cette photo à vos favoris"/></a></li>                   
                <!-- Fin bouton ajouter aux favoris -->

Et là, ça semble marcher.
J'ai bien les 2 boutons et ça cohabite avec le bouton Vote.

Penses-tu que cela est viable?
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 7 Juin 2020 - 17:38

Re Serge,

si c'est fonctionnel pas de soucis Serge mais comme je ne vois pas ou je peux trouver le bouton,
je ne peux pas te dire quoique ce soit...
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 18:47

Re Phil,

J'avais essayé ça sur mon forum test pour valider, c'est pour cela que tu ne le voyais pas.

je viens de l'installer sur mon forum. Tu peux le voir à présent.
Le bouton est rouge et placé à côté du bouton vote.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 7 Juin 2020 - 19:02

Re Serge,
çà m'a l'air fonctionnel Serge impeccable .
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Dim 7 Juin 2020 - 19:09

Un grand merci Philippe.

Dommage que l'on ne puisse pas remplacer ces 2 boutons par 1 seul qui au clic remplirait les 2 fonctions.
Faudrait inventer un nouveau langage pour cela lOL
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 7 Juin 2020 - 19:17

photoclic a écrit:
Un grand merci Philippe.

Dommage que l'on ne puisse pas remplacer ces 2 boutons par 1 seul qui au clic remplirait les 2 fonctions.
Faudrait inventer un nouveau langage pour cela lOL

De rien Serge,

ah vi surement, surement du jQueclic MdR1 .


Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum