Post by efesiosp » Tue Feb 19, 2013 9:59 pm

Καλησπέρα,

μήπως γνωρίζει κάποιος να μου πει πως μπορώ να έχω διαφορετικό background σε κάθε κατηγορία. Κάθε φορά που ο χρήστης αλλάζει κατηγορία να αλλάζει το background και να παραμένει το ίδιο στα προϊόντα της κατηγορίας.

ευχαριστώ πολυ

New member

Posts

Joined
Fri Apr 27, 2012 6:52 pm

Post by People's Code » Wed Feb 20, 2013 2:10 am

Γίνε λίγο πιο σαφής με κάποιο παράδειγμα.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by efesiosp » Wed Feb 20, 2013 4:39 pm

λοιπόν παραθέτω το παρακάτω παράδειγμα,

στο site υπάρχουν 5 κατηγορίες π.χ οι κατηγορίες με όνομα '1','2','3','4','5'. στην αρχική (κατηγορία '1')το background θα είναι μια εικόνα. όταν ο χρήστης επιλέγει την κατηγορία με όνομα '2' θα αλλάζει το background και παραμένει το ίδιο στα προϊόντα της κατηγορίας αυτής. όταν ο χρήστης επιλέγει την κατηγορία 3 θα εμφανίζεται καινούργιου background κοκ. κάθε κατηγορία θα έχει το δικό της background.

πιστεύω να έγινα σαφείς

New member

Posts

Joined
Fri Apr 27, 2012 6:52 pm

Post by People's Code » Wed Feb 20, 2013 5:23 pm

ok κατανοητό, που θες να αλλάζει το background, γενικά στο <body> της σελίδας ή μέσα στο container ?

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by efesiosp » Wed Feb 20, 2013 8:31 pm

στο <body> της σελιδας

New member

Posts

Joined
Fri Apr 27, 2012 6:52 pm

Post by People's Code » Wed Feb 20, 2013 11:20 pm

Καταρχάς αυτό που ζητάς είναι αρκετά πολύπλοκο για να απαντηθεί από εδώ εξ ολοκλήρου γιατί θέλει χρόνο και ψάξιμο για μια λύση που να καλύπτει όλες τις πιθανότητες.

Μπορώ όμως να σου προτείνω μία σχετικά απλή προσέγγιση που ενδεχομένως να σε καλύψει εν μέρει.

Στο catalog/view/theme/default/template/common/header.tpl (ή στο αντίστοιχο header.tpl που υπάρχει στο φάκελο του template που χρησιμοποιείς)

Αντικαθιστάς το

Code: Select all

<body> 
με

Code: Select all

    <?php
    $get_route = explode('_', preg_replace('/[^0-9_]*/', '', $_SERVER['QUERY_STRING']));
    if ($get_route[0] == '_' || $get_route[0] == '') { ?>
    	<body>
    <?php } else { ?>
   	<body class="<?php echo 'cat_' . $get_route[0]; ?>">
    <?php } ?>
Μετά ανοίγεις το stylesheet.css του template σου και στο κάτω μέρος προσθέτεις classes με τα id's των κατηγοριών που έχεις έτσι: πχ
για τη κατηγορία με id 18 φτιάχνεις .cat_18 {background:blue}
για τη κατηγορία με id 26 φτιάχνεις .cat_26 {background:red}
κλπ
για οποιαδήποτε άλλη σελίδα (ή για τις κατηγορίες που δεν έχεις δηλώσει class στο stylesheet) παραμένει το γενικό background.

Δυστυχώς τα διαφορετικά backgrounds λειτουργούν μόνο αν χρησιμοποιήσεις το μενού (επάνω και αριστερά), αν πας στη σελίδα κάποιου προϊόντος από τα προτεινόμενα, κατασκευαστές κλπ παραμένει το γενικό background.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by efesiosp » Thu Feb 21, 2013 5:12 pm

σ' ευχαριστώ πολύ για τον χρόνο σου!

για την ώρα μου κάνει αρκετά αυτό που μου έδωσες.

να είσαι καλά και πάλι ευχαριστώ

New member

Posts

Joined
Fri Apr 27, 2012 6:52 pm

Post by efesiosp » Mon Jun 10, 2013 8:07 pm

Αγαπητέ Opencart-Hellas,

Σε σχέση με τα παραπάνω σε περίπτωση που αλλάξω το site σε SEO URLs δεν δουλεύει. Έχεις να μου προτείνεις τι μπορώ να κάνω για να δουλέψει σε SEO;

New member

Posts

Joined
Fri Apr 27, 2012 6:52 pm

Post by People's Code » Tue Jun 11, 2013 10:03 pm

Αντικατέστησε το προηγούμενο κώδικα με αυτό:

Code: Select all

<?php
if (strpos($_SERVER['QUERY_STRING'], '_route_') === false) {  ?>
  <body>
<?php
} else {
  $get_route = explode('/', str_replace('_route_=', '', $_SERVER['QUERY_STRING']));
  $myBackgroundClass = strpos(end($get_route), '&') === false ? end($get_route) :
  strstr(end($get_route), '&', true);
?>
  <body class="<?php echo 'cat-' . $myBackgroundClass; ?>">
<?php } ?>
- Τα css classes είναι πλέον cat-kapoio-onoma-katigorias
- Όπου δεν υπάρχει SEO url δεν θα προσθέτει class στο <body>

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by efesiosp » Thu Jun 13, 2013 5:51 pm

Ευχαριστώ πάρα πάρα πολύ!!!

New member

Posts

Joined
Fri Apr 27, 2012 6:52 pm
Who is online

Users browsing this forum: No registered users and 2 guests