Μετρητής StarGallery (Elxis)

Το Star Gallery είναι ένα πολύ καλό και δωρεάν component του Elxis CMS για την διαχείριση συλλογών φωτογραφιών.

Ο μετρητής λειτουργεί κανονικά στο pop up ajax παράθυρο, όμως δεν λαμβάνει υπόψιν του το πρώτο κλικ που γίνεται σε μια φωτογραφία (πριν ανοίξει το ajax παράθυρο πλοήγησης). Έτσι αν κάποιος επισκέπτης κάνει κλικ σε μια φωτογραφία και μετά κλείσει το pop up παράθυρο η φωτογραφία στην οποία έκανε κλικ δεν αυξάνει τον μετρητή της.

Έτσι άνοιξα το αρχείο stargallery.php που περιλαμβάνεται στον φάκελο του component και άρχισα να πειραματίζομαι με τον κώδικα. Τελικά κατέληξα στην εξής λύση. Στην γραμμή 233 του αρχείου (μόλις έχει ελεγχθεί ότι ο χρήστης έχει τα κατάλληλα δικαιώματα για να δει την εικόνα και λίγο πριν φορτωθεί το ajax παράθυρο προσέθεσα τις παρακάτω γραμμές κώδικα:

//Update counter (this part is not in the original stargallery component)
 
$query = "SELECT * FROM #__stargallery WHERE id='$id' AND catid=".$catid.""
. "\n AND approved=1 AND published=1";
 
$database->setQuery( $query, '#__', 1, 0 );
$rows = $database->loadObjectList();
$row = &$rows[0];
$newimgcounter = $row->imgcounter + 1;
$database->setQuery( "UPDATE #__stargallery SET imgcounter='$newimgcounter' WHERE id='$row->id'" );
$database->query();

Τώρα πλέον ο μετρητής του StarGallery λαμβάνει υπόψιν του και το πρώτο κλικ που γίνεται σε μια φωτογραφία πριν ανοίξει το ajax παράθυρο.

Σχετικα tutorials

Εγκατάσταση και διαχείριση modules στο Drupal
Εγκατάσταση του Drupal
Μεταφορά drupal σε απομακρυσμένο server - Περίπτωση ΠΣΔ
Εγκατάσταση του XAMPP σε περιβάλλον Windows
Η μονάδα Backup and Migrate στο Drupal
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Greece
This Work, Edutorials, is licensed under a CC BY-NC-SA license, although certain works referenced herein may be separately licensed.