Elxis CMS Forum

Ελληνικό Forum => Πρόσθετα => Topic started by: panos_vas on November 22, 2009, 22:05:20

Title: Και πάλι για τους... προορισμούς
Post by: panos_vas on November 22, 2009, 22:05:20
Προσθέτοντας περιοχές στο  IOS Reservations σκέφτηκα να χωρίσω της Ελλάδα σε Περιφέρειες (όπως είναι διοικητικά), αλλά αντιμετωπίζω ένα πρόβλημα.
Τα ξενοδοχεία δεν προσμετρούνται από τις υποπεριοχές (τοποθεσίες) στην κεντρική περιοχή.

Προορισμοί
Ανατ. Μακεδονία & Θράκη
0 Ξενοδοχεία
5 Τοποθεσίες


Υπάρχουν 2 καταχωρημένα ξενοδοχεία στην τοποθεσία Δράμα.

Title: Re: Και πάλι για τους... προορισμούς
Post by: datahell on November 22, 2009, 22:27:12
Αν έγραφε 5 ξενοδοχεία θα περίμενε κάποιος όταν ανοίξει την τοποθεσία "Ανατ. Μακεδονία & Θράκη" να δει 5 ξενοδοχεία, όμως τα ξενοδοχεία θα ήταν σε υπο-τοποθεσίες και δεν θα έβλεπε κανένα. Άρα θα ήταν λάθος αυτός ο τρόπος.
Όπως δουλεύει, νομίζω είναι πολύ σωστότερο.

Σου συνιστώ να μην φτιάξεις πάρα πολλά επίπεδα ώστε να μπορεί κάποιος με 2 κλικ το πολύ να βρει την τοποθεσία που θέλει.
Title: Re: Και πάλι για τους... προορισμούς
Post by: panos_vas on November 22, 2009, 23:16:22
Δεν θα συμφωνήσω μαζί σου
Πρέπει έξω να γράφει τα συνολικά ξενοδοχεία και από τις υποκατηγορίες, διαφορετικά ένας χρήστης γιατί να προχωρήσει σε αυτή την κατηγορία αν γράφει 0 Ξενοδοχεία ?
Ενώ αν γράφει έξω τον αριθμό των ξενοδοχείων στο δεύτερο επίπεδο θα τα δει
Title: Re: Και πάλι για τους... προορισμούς
Post by: panos_vas on November 26, 2009, 18:31:36
Άμεση απάντηση αλλά...
Θα ήθελα να είχα και μία απάντηση της μορφής:
"Αν έγραφε 5 ξενοδοχεία θα περίμενε κάποιος όταν ανοίξει την τοποθεσία "Ανατ. Μακεδονία & Θράκη" να δει 5 ξενοδοχεία, όμως τα ξενοδοχεία θα ήταν σε υπο-τοποθεσίες και δεν θα έβλεπε κανένα. Άρα θα ήταν λάθος αυτός ο τρόπος.
Όπως δουλεύει, νομίζω είναι πολύ σωστότερο."
Αν όμως εσύ επιθυμείς τα ξενοδοχεία να προσμετρούνται από τις υποπεριοχές (τοποθεσίες) στην κεντρική περιοχή τότε....
ΑΥΤΗ ΕΙΝΑΙ Η ΛΥΣΗ ή ΔΕΝ ΓΙΝΕΤΕ ΑΥΤΟ
Πάνος


Title: Re: Και πάλι για τους... προορισμούς
Post by: datahell on November 26, 2009, 19:35:54
Σου είπα πως δουλεύει αυτή τη στιγμή το IOS Reservations και πιο είναι το σκεπτικό πίσω από αυτόν τον τρόπο λειτουργίας. Με τον ίδιο τρόπο δουλεύουν όλα τα component που έχουν υποστήριξη πολλαπλών επιπέδων κατηγοριών. Αν θες να το αλλάξεις αυτό εννοείται ότι πρέπει να κάνεις edit τον κώδικα του component. Αν άλλαζε αλλιώς θα στο έλεγα. Τώρα να σου πω από εδώ τι να γράψεις και που, δεν γίνεται γιατί η συγκεκριμένη λειτουργία είναι δύσκολη και απαιτεί αρκετές αλλαγές και δύσκολο κώδικα. Θα πρέπει να σου γράψω ένα κατεβατό πολλών εντολών της μορφής: πήγαινε στη γραμμή τάδε, σβήσε αυτό, γράψε αυτό, στο αρχείο τάδε πρόσθεσε την συνάρτηση τάδε με περιεχόμενο τάδε, πήγαινε εκεί, κάτω από αυτό γράψε εκείνο, κλπ. Συνεπώς ή ξέρεις php και το αλλάζεις όπως θες ή δεν ξέρεις και το αφήνεις ως έχει.

Πάντως, ακόμα και αν πιστεύεις ότι είναι σωστότερος ο τρόπος λειτουρτγίας που λες, δεν σου συστίνω να το αλλάξεις γιατί:

Θα πρέπει για κάθε τοποθεσία να κάνεις ένα πρόσθετο query προς την βάση δεδομένων για να βρεις όλες τις "παιδικές" τοποθεσίες. Στην συνέχεια να μετρήσεις με άλλο query τα ξενοδοχεία που βρίσκονται σε όλες τις παιδικές αλλά και την γονική κατηγορία. Αυτός θα είναι ο αριθμός των ξενοδοχείων που θες για την πρώτη γονική τοποθεσία. Πρέπει να επαναλάβεις την διαδικασία για όλες τις άλλες γονικές τοποθεσίες. Αν έχεις 10 γονικές τοποθεσίες στην καλύτερη περίπτωση θα χρειαστούν 20 πρόσθετα query να τρέχουν σε κάθε κλικ που κάνουν οι επισκέπτες του site. Αν δεν το φτιάξεις και με σωστό τρόπο τα query μπορεί να είναι αρκετά περισσότερα, πχ 30, 40, κλπ. Η επιβάρυνση προς την βάση δεδομένων είναι πολύ μεγάλη και δεν δικαιολογείται για κάτι τόσο ασήμαντο σαν αυτό που θες. Αυτός είναι ένας από τους βασικούς λόγους που επέλεξα να μην λειτουργεί έτσι. Και δεν σου συστίνω να το κάνεις έτσι.
Title: Re: Και πάλι για τους... προορισμούς
Post by: panos_vas on November 26, 2009, 20:32:32
Όπως πάντα άμεσες οι απαντήσεις.
Ναι αυτή η απάντηση με ικανοποιεί. Γνωρίζω php (δεν είμαι άριστος, αλλα γνωρίζω). Όταν όμως ο κατασκευαστής του προγράμματος λέει "μην το πειράξεις" τότε δεν πρέπει να το πειράξω.
Ευχαριστώ για την απάντηση

Κάτι ακόμα ελπίζω πιο εύκολο.
Στην αρχική σελίδα οι προορισμοί είναι σε 3 columns ενώ όταν μπαίνεις στις περιοχές σε 2 columns. Μπορεί και στις περιοχές να εμφανίζονται οι υποπεριοχές σε 3 columns;
Title: Re: Και πάλι για τους... προορισμούς
Post by: datahell on November 26, 2009, 21:12:45
Αρχείο: components/com_reservations/includes/extend.html.php
Συνάρτηση: subLocations

από:
$totalHeight = ceil(count($sublocs)/2) * 70;
σε:
$totalHeight = ceil(count($sublocs)/3) * 70;

από:
$y = ($i % 2);
σε:
$y = ($i % 3);
αυτή η αλλαγή σε 2 σημεία.

από:
echo '<div style="width: 46%; float: '.$float.'; margin: 0; padding: 0;">'._LEND;
σε:
echo '<div style="width: 31%; float: '.$float.'; margin: 0; padding: 0;">'._LEND;
Title: Re: Και πάλι για τους... προορισμούς
Post by: panos_vas on November 27, 2009, 01:24:39
Ευχαριστώ πολύ. Μια μικρή προσθήκη για κάποιον άλλον που θέλει να το κάνει.
Θέλει αλλαγή και το
if ($y == 1) {
σε
if ($y == 2) {

Δούλεψε τέλεια
Title: Re: Και πάλι για τους... προορισμούς
Post by: datahell on November 27, 2009, 10:31:38
OK!