Elxis CMS Forum
Ελληνικό Forum => Γλώσσες - Πολυγλωσσία => Topic started by: webgift on June 04, 2009, 15:14:01
-
Καλησπέρα σε όλους.
Μια απορία που μου δημιουργήθηκε πριν από λίγο είναι η εξής ( που αναφέρεται στον τίτλο του θέματος).
Πως γίνεται κατά την αλλαγή γλώσσας να κάνουμε και αλλαγή του Logo από Ελληνικά σε Αγγλικά.
Π.χ Τα Ελληνικά είναι εδώ : http://www.xarous.com/ ενώ αντίστοιχα τα αγγλικά είναι http://www.xarous.com/en/
Πως γίνεται να αλλάξω το Logo έτσι ώστε όταν μπαίνω στο http://www.xarous.com/en/ να είναι μια εικόνα που θα λέει The House of Artist π.χ.
Υ.Γ : Μου μυρίζει μια If Στο header του Index.php όπου θα κάνει έλεγχο της γλώσσας και θα φορτώνει αντίστοιχο <div id=enlogo> .... </div>!
-
http://wiki.elxis.org/wiki/Change_logo_depending_on_language
-
Μοναδικός ο Κώστας όπως πάντα. Σε ευχαριστώ.!
-
αν εχουμε ορισμο του logo απο το css
.top { background-image:url(../images/logo.jpg);}
και στο index <div class="top">
ακολουθουμε τις οδηγιες απο εδω Apply specific background image to selected div?
-
Μια καλή ιδέα είναι η δημιουργία Module στην θέση του logo και ανάθεση ανά γλώσσα.
-
ναι αλλα εδω με τον κωδικα εχει ενδιαφερον........μονο που εμενα δεν μου δουλευει
εχω <div class="top">
και css
.top { background-image:url(../images/logo.jpg); background-repeat:no-repeat; background-position: right 0; height:195px; width:970px; margin: 0 auto; }
εχω γραψει στο head
<?php
global $lang;
if ($lang == 'english') {
$top = 'images/logo_en.jpg';
} else {
$top = 'images/logo.jpg';
}
αλλα μου τα χαλαει ο υπολοιπος κωδικας
echo '<style type="text/css">
div.top {background: url('.$logo.') right no-repeat}
</style>';?>
αν αφαιρεσω το
echo '<style type="text/css">
div.top {background: url('.$logo.') right no-repeat}
</style>';
μου δειχνει το ιδιο σε ολες τις γλωσσες, οταν το αφησω δεν μου δειχνει τιποτα
-
.top {
margin: 0;
padding: 0;
height: 195px;
width: 970px;
background: inherit url(../images/logo.jpg) 0 0 no-repeat;
}
Πρωσοπικά συνιστώ αυτή τη λύση (αν θέλετε το συζητάμε γιατί):
<div style="margin:0; padding: 0; height: 195px; width: 970px; overflow: hidden;">
<a href="<?php echo sefRelToAbs('index.php'); ?> title="<?php echo $mainframe->getCfg('sitename'); ?>">
<img src="<?php echo $mainframe->getCfg('live_site'); ?>/images/logo.jpg" alt="<?php echo $mainframe->getCfg('sitename'); ?>" border="0" />
</a>
</div>
Δες στο παρακάτω άρθρο την τελευταία παράγραφο (A better approach). Την πρόσθεσα σήμερα το απόγευμα.
http://wiki.elxis.org/wiki/Change_logo_depending_on_language (http://wiki.elxis.org/wiki/Change_logo_depending_on_language)
-
το πετυχα λογο του div top επρεπε να αλλαξω οτι ελεγε logo (εκτος βεβαια απο το αρχειο logo.jpg)
<?php
global $lang;
if ($lang == 'english') {
$top = 'images/logo_en.jpg';
} else {
$top = 'images/logo.jpg';
}
echo '<style type="text/css">
div.top {background: url('.$top.') right top no-repeat}
</style>';
?>
link
http://www.foschristu.gr (δεξια επανω)
αυτο που εγραψες γιαννη θα το κοιταξω τωρα
-
επισης αν υπαρχουν πανω απο 2 γλωσσες δουλευει και αυτο
<?php
global $lang;
if ($lang == 'greek') {
$top = 'images/logo.jpg';
}
echo '<style type="text/css">
div.top {background: url('.$top.') right top no-repeat}
</style>';
?>
<?php
global $lang;
if ($lang == 'english') {
$top = 'images/logo_en.jpg';
}
echo '<style type="text/css">
div.top {background: url('.$top.') right top no-repeat}
</style>';
?>
<?php
global $lang;
if ($lang == 'french') {
$top = 'images/logo_fr.jpg';
}
echo '<style type="text/css">
div.top {background: url('.$top.') right top no-repeat}
</style>';
?>
αφαιρωντας την εντολη else
-
Η σωστή αντιμετώπιση είναι αυτή που περιγράφεται στο "A better approach". Και το έγραψα εξεπίτιδες γιατί είδα πως όλοι το κάνετε λάθος. Δεν ελέγχουμε αν η γλώσσα είναι greek ή german. Ελέγχουμε τις μεταβλητές του Elxis και όλα δουλεύουν αυτόματα και σωστά για οποιδήποτε site. Είναι θέμα λογικής προσέγγισης του θέματος. Το ξαναγράφω εδώ ως "flowchart":
-Υπάρχει λογότυπο για την τρέχουσα γλώσσα; $lang
|--- ΝΑΙ (τέλος)
|--- ΟΧΙ
|-Υπάρχει λογότυπο για την προκαθορισμένη γλώσσα; $mainframe->getCfg('lang')
|---- ΝΑΙ (τέλος)
|---- ΟΧΙ
|- Φόρτωσε το Αγγλικό λογότυπο (τέλος)
Με τον ίδιο τρόπο ελέγχουμε οτιδήποτε αφορά τη γλώσσα, όχι μόνο το λογότυπο.