Elxis CMS Forum
Ελληνικό Forum => Διαχείριση => Topic started by: evkarab on June 06, 2025, 11:37:11
-
Καλημέρα
Έχω δύο κατηγορίες και θέλω να εμφανίζεται συγκεκριμένη φωτογραφία για κάθε μιά, γίνεται;
Η ερώτηση αφορά στο θέμα SmartHotel, δημιουργεί αυτό όταν επιλέγουμε φωτογραφία για τις υπόλοιπες σελίδες.
<div id="parallax-pagetitle" style="background-image: #url(://mysite/templates/mysite/images/parallaxrest.jpg);">
Με ποιό τρόπο θα μπορούσα να επιλέγω id κατηγορίας και να εμφανίζει τη φωτογραφία που θέλω;
Σκέφτομαι κάτι με if θα γίνεται αλλά δεν ξέρω που ακριβώς και τι πρέπει να γραφτεί.
Αν είναι κάτι πολύ χρονοβόρο αγνοήστε την ερώτηση.
-
Λοιπόν, άνοιξε αυτό το αρχείο:
templates/smarthotel/includes/smarthotel.class.php
Πήγαινε στις γραμμές 270-275 (ή κάπου εκεί) και βρες αυτό:
$img = trim($params->get('parallaxrest', ''));
if (($img == '') || !file_exists(ELXIS_PATH.'/'.$img)) {
$imgurl = $elxis->secureBase().'/templates/smarthotel/images/parallax-default.jpg';
} else {
$imgurl = $elxis->secureBase().'/'.$img;
}
Γράψε από κάτω:
if (defined('ELXIS_CATID')) {
if (file_exists(ELXIS_PATH.'/templates/smarthotel/images/parallax-category'.ELXIS_CATID.'.jpg')) {
$imgurl = $elxis->secureBase().'/templates/smarthotel/images/parallax-category'.ELXIS_CATID.'.jpg';
}
}
Τώρα αν πχ έχεις μία κατηγορία με ID 5 ανέβασε την εικόνα με όνομα parallax-category5.jpg στο φάκελο templates/smarthotel/images/
Δηλαδή ανεβάζεις τις εικόνες έτσι:
templates/smarthotel/images/parallax-category5.jpg
templates/smarthotel/images/parallax-category8.jpg
templates/smarthotel/images/parallax-category12.jpg
κλπ
Όπου το template βρίσκει custom εικόνα θα την χρησιμοποιεί αυτόματα.
-
Γιάννη καλημέρα
Έκανα όπως μου είπες αλλά επιμένει να φορτώνει την parallaxrest.jpg. Δοκίμασα να ανεβάσω από την διαχείριση του θέματος την φωτογραφία με όνομα parallax-category39.jpg(μπας και το ξεγελάσω), αλλά την μετονομάζει σε parallaxrest.
-
Αν δεν στη φορτώνει σημαίνει πως η φωτογραφία δεν βρέθηκε στον φάκελο. Έλεγξε το όνομα του αρχείου και ότι την έχεις βάλει στο σωστό φάκελο.
-
Λοιπόν, άνοιξε αυτό το αρχείο:
templates/smarthotel/includes/smarthotel.class.php
Πήγαινε στις γραμμές 270-275 (ή κάπου εκεί) και βρες αυτό:
$img = trim($params->get('parallaxrest', ''));
if (($img == '') || !file_exists(ELXIS_PATH.'/'.$img)) {
$imgurl = $elxis->secureBase().'/templates/smarthotel/images/parallax-default.jpg';
} else {
$imgurl = $elxis->secureBase().'/'.$img;
}
Γράψε από κάτω:
if (defined('ELXIS_CATID')) {
if (file_exists(ELXIS_PATH.'/templates/smarthotel/images/parallax-category'.ELXIS_CATID.'.jpg')) {
$imgurl = $elxis->secureBase().'/templates/smarthotel/images/parallax-category'.ELXIS_CATID.'.jpg';
}
}
Τώρα αν πχ έχεις μία κατηγορία με ID 5 ανέβασε την εικόνα με όνομα parallax-category5.jpg στο φάκελο templates/smarthotel/images/
Δηλαδή ανεβάζεις τις εικόνες έτσι:
templates/smarthotel/images/parallax-category5.jpg
templates/smarthotel/images/parallax-category8.jpg
templates/smarthotel/images/parallax-category12.jpg
κλπ
Όπου το template βρίσκει custom εικόνα θα την χρησιμοποιεί αυτόματα.
Καλημερά
Επανέρχομαι στο θέμα γιατί μετά από πολύ μελέτη (αυτοδίδακτος με απειροελάχιστες γνώσεις) έκανα μια αλλαγή που αρχικά νόμισα πως πέτυχα τον στόχο μου.
Άλλαξα στη γραμμη 801 του smarthotel.class.php την $imgurl αντικαθιστώντας την 'parallax-rest-default.jpg' σε 'parallax-category'.ELXIS_CATID.'.jpg'. Κατάφερα να αλλάζει το background βάσει τον κωδικό της κατηγορίας, αλλά προκύψανε σφάλματα. Uncaught Error:Undefined constant "ELXIS_CATID" in /templates/smarthotel/includes/smarthotel.class.php line 801 που με τη σειρά του προκάλεσε αλυσίδα σφαλμάτων σε όλο το σύμπαν. Ενώ επέλεγα τις κατηγορίες και έβλεπα κανονικά τις ανάλογες φωτογραφίες, φόρτωνε λάθος την σελίδα επικοινωνίας που δεν είναι σε κατηγορία αλλά έχει background-rest. Τώρα κόλλησα πάλι.
-
Χρησιμοποίησε if statement παρόμοιο με τον κώδικα που σου πρόσθεσε ο Γιάννης για να ελέγχεις αν το ELXIS_CATID είναι δηλωμένο στην τρέχουσα σελίδα. Αν δεν είναι κατηγορία τότε προφανώς σου βγάζει error.
if (defined('ELXIS_CATID')) { .... }
στις υπόλοιπες άσε την default 'parallax-rest-default.jpg'
-
@michalis1984 αυτό που προτείνεις ήταν το πρώτο πράγμα που έκανα αφού είδα πως ο κώδικας δεν φόρτωνε τις φωτογραφίες. Η κατηγορία υπάρχει, η φωτογραφία υπάρχει, αλλά επέμενε να φορτώνει αυτή που όπως διαπιστώθηκε του έλεγε ο αρχικός κώδικας. Για να μην πλατιάζω, άλλαξα την $imgurl και δούλεψε. Όμως δούλευε μόνο εφόσον άλλαζε η κατηγορία. Όταν πήγα να ανοίξω ένα άρθρο της κατηγορίας, μπλοκάριζε η σελίδα και έστελνε μηνύματα fatal error.
Το αφήνω αυτό που θα ήθελα να γίνει, διότι αντιλαμβάνομαι πως το θέμα SmartHotel, δεν είναι κατασκευασμένο να λειτουργεί έτσι όπως το έχω φανταστεί. Πιθανότατα χρειάζεται μεγάλη τροποποίηση, πράγμα που εγώ αδυνατώ να κάνω. Ευχαριστώ για το ενδιαφέρον και τους δυό σας.