WordPress.org

Forums

NextGEN Gallery Voting
[resolved] A few more questions about this plugin (21 posts)

  1. lagdonkey
    Member
    Posted 1 year ago #

    Hello again, you've helped me in my previous thread, but now I've come across 2 more questions that I can't seem to fix.

    First off, I followed your advice in getting my form to show conditionally, however now when you click on the vote buttom, it comes up with "There's a problem saving your vote".

    The wierd thing is, however, that it DOES save the vote and if you refresh the page it reflects as so. Not sure why this is happening.

    Now my second problem is this: There seems to be no way to show the voting form JUST where I want it to. Ie: in gallery mode, it automatically shows at the bottom of the gallery. I want to enable voting for images/galleries, but full control over where it shows up.

    I've tried wrapping the vote form inside of a DIV with Display:none, but this then hides ALL instances of the form. I've also tried setting it up so the vote form is inside of a parent element that DOES show it, but that doesn't work either.

    http://wordpress.org/extend/plugins/nextgen-gallery-voting/

  2. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    Hi lagdonkey

    The problem with the voting could be many things. The most common I see is that another plugin or script is generating javascript errors. So when the AJAX vote happens, the other JS errors break the code that interprets the response from the server, and it loads the default error.
    This sometimes also happens if you are running caching plugins. Again, they interfere with the AJAX understanding he vote response with the server.
    Is there a URL I can look at to see if I can get more info?

    I'm not sure I understand your problem displaying the voting form. The code I can you last time would only show the voting form if it is enabled for that image, and the user hadn't voted.
    You can change which images/galleries are enabled from the 'manage gallery' screen in NGG.

  3. lagdonkey
    Member
    Posted 1 year ago #

    Well, I AM running another JS plugin called anything slider, but the problem seems to persist even if I disable it.

    To be more clear on my issue, when displaying a gallery with your plugin enabled, and voting for Galleries (not images) is enabled, then the voting form automaically appears at the end of the gallery. However, this isn't where I want it to appear. I want to hide the automatic gallery voting form, and have it appear where I choose to show it.

  4. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    That's a problem. If you have gallery voting enabled, the voting plugin automatically outputs the voting form. It does this for galleries because NGG provided a place to 'hook' into with galleries, but not with images.

    I had hoped the voting automatically showing would create less problems for me with people who wouldn't know where to put a the code to display the voting form.

    Unfortunately, there is now way to hide the automatically generate gallery voting form, and output it in the template yourself. I will look into adding an option to stop the gallery voting form from showing automatically in a future version, but I can't make promises about when/if that will be released.

    If you really need it, I can talk you through altering the voting plugin's core files to get it to do what you want. This shouldn't be hard to do, but it will get overwritten when you update.

  5. lagdonkey
    Member
    Posted 1 year ago #

    Well I think it'd be as simple as somehow adding a second class. One for the auto generated form, and a second class for when the form is generated manually.

    As I said, I already tried setting display:none on the ngg-vote-form class in css, and then where I manually output the form, I tried wrapping it in a parent class. From my understanding, the ngg-vote-form SHOULD become a child class, where I can set my own css styles, which it does, but it also inherits the display:none which I can't seem to overwrite.

    Unless I'm missing something, I'm sure this can be resolved with CSS, so I will to continue fiddling around with that. It wouldn't be a bad idea to add manual placement options in future builds of the plugin like you said, as it would allow for more flexibility.

  6. lagdonkey
    Member
    Posted 1 year ago #

    Okay, update time:

    Was able to figure out, and indeed make it work with css magic.

    Here's the css.

    .votewrapperform .nggv-vote-form {
    display:inline;
    }

    .nggv-vote-form {
    display:none;
    }

    If I want the form to show, I simply wrap it inside a votewrapperform clss, and it inherits the display:inline, which overrides the display:none which is the standard class for ngg-vote-form.

    So I completely achieved what I want, however it'd still be great to see that option in future builds.

    Now to try and plug away at what's causing that issue with the vote not saving message :)

  7. lagdonkey
    Member
    Posted 1 year ago #

    Spoke to soon, seems I can't seem to call the gallery vote form where I want it to show up, like I could with the imagevote form.

    How do I go about that?

  8. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    The best way to stop the form showing, would be to stop the plugin hooking into NGG's output hook. If you try hide the form, and then add another, I'm not sure what effect that could have on the JS/AJAX stuff.

    You can just comment out line 114 (roughly, I am making changes for a new version release, so my local file may be different to the current download version) in the __construct() method. The line you need to comment out looks like this:
    add_filter('ngg_show_gallery_content', array(&$this, 'showGallery'), 10, 2);

    That should stop the plugin automatically showing the voting form.

  9. lagdonkey
    Member
    Posted 1 year ago #

    Well, like I said previously, I managed to hide it via css. Since it's wrapped in a parent element, any styles passed are over-ridden, which basically means I can hide/show it on a case by case basis, just by wrapping it in a <div> with the display:inline. Also means no editing of core files (which I'm comfortable doing, but don't like to since updates just overwrite changes.

    My problem now however, is which function do I call to have the gallery vote form where I want. The closest I could figure is your:

    nggv_gallery_vote_form

    function, however every time I call it, it returns an error about undeclared objects. I'm assuming that you didn't add a second hook for it, like you did with the $officalnggvoting. Unfortunately, trying to figure out how to add the hook myself goes a little beyond my PHP knowledge so I'm hoping you can put me on the right path. Don't worry about the display side of it, as I can manage that with css(which i'm far more adept at) I just need to be able to call the function and have it return the expected output.

  10. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    To show the gallery manually, you can use the following code:

    <?php
    global $officalNggVoting;
    echo $officalNggVoting->galleryVoteForm($gid);
    ?>

    I really would suggest commenting out that line I mentioned in the previous message. I realize you can hide the automated voting form with CSS, but I don't know how the page will be affect with 2 forms actually on it. I'm not sure the JS/AJAX stuff will handle it correctly.

  11. lagdonkey
    Member
    Posted 1 year ago #

    Oh, I see what you mean, that might also be what's responsible for my "vote not saving issue".

    I'll try fiddling and post what I come up with. Thanks again for being so helpful, it's really appreciated.

  12. lagdonkey
    Member
    Posted 1 year ago #

    Well, I commented out the line you suggested, and after some fiddling around, managed to get the gallery vote form to do the check, and then show the form where I want.

    However, I'm still having problems where the "Vote cannot be saved" pops up, and another wierd bug has popped up. Periodically, clicking on a vote form takes the vote, and then just refreshes the page. It adds the vote, but the page refresh is really odd.

    Maybe you can look at what's going on: http://amazinglyamusing.com/pictures/

    The only other javascript program I'm running, is anythingslider, and these bugs persist even if I disable it.

  13. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    When the page loaded, there were definitely 2 vote forms. I then voted to see the problem, and it did re-load the page. That means the JS didn't fire, but the plugin falls back to still work even without JS working.
    When the results page loads, there is only 1 form. But now that I have voted, I can't see the page as if I hadn't. You will need to turn on unlimited votes for me to test.

  14. lagdonkey
    Member
    Posted 1 year ago #

    Okay, I've updated it to allow unlimited votes for testing.

    I checked my site with browsershots, and it turns out that the nggv-vote-form still shows up on many other browsers. I tried commenting out the line you suggested, heck I even took it out completely, but it still shows up regardless of whether or not I remove/comment out that line.

    It also turns out, that my css "hack" doesn't work on all browsers, so at this point I HAVE to get it figured out :(

  15. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    Commenting out the line will most definitely remove the auto adding of the field.
    Find the line in ngg-voting.php that looks like this:
    add_filter('ngg_show_gallery_content', array(&$this, 'showGallery'), 10, 2);
    and change it to this:
    //add_filter('ngg_show_gallery_content', array(&$this, 'showGallery'), 10, 2);

  16. lagdonkey
    Member
    Posted 1 year ago #

    Well, I have that line commented out, and yet unless I use css to hide it, it still shows up. As well, you'll notice that if you click the first vote form (in the subheader) it counts 2 votes instead of one. My guess is, it's because there's a second form (hidden) and it's firing as well as the one you click.

  17. lagdonkey
    Member
    Posted 1 year ago #

    Here's the contents of my ngg-voting.php file

    http://pastebin.com/A3c1ynjV

    I even tried deactivating and then re-activating my plugin, just in case it needed to "sync" the change or whatever. Also tried clearing browser cache, different browsers, and disabling/enabling all other plugins.

  18. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    That paste ID isn't valid... :)

  19. lagdonkey
    Member
    Posted 1 year ago #

    Weird that the pastebin didn't work, but oh well.

    This is embarassing, after looking at my gallery template code(after getting a good nights sleep), it seems I overlooked one little thing. I actually had 2 parts where I had the gallery vote form posted. Seems I forgot to remove the one I had put in for testing purposes when I was designing the layout.

    Guess I was so focused on trying out EVERY possibility, that I overlooked something so simple haha.

    Anyways, that cleared up that issue, the only problem I have now is the occasional page refresh. I noticed that when it does the refresh, ?nggv_gid=1&r=1 is appended to the end of the page url on refresh.

  20. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    There seems to be an intermittent javascript error on your page:
    TypeError: root.all is undefined (from http://amazinglyamusing.com/wp-content/plugins/wp-sliding-logindashboard-panel/js/pngfix/supersleight-min.js?ver=4497). When the error happens, the voting plugin falls back to working with out jaavscript, and works with a normal <a> tag.

    I know you mentioned you disabled this plugin, but you probably had the 2 voting forms in at that point.

  21. lagdonkey
    Member
    Posted 1 year ago #

    Well thanks again for all your help, I've gotten everything else sorted out style wise, I'll have to see if there's anything I can do to get it to play nice with that other plugin. Really appreciate all the help you've given me.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic

Tags

No tags yet.