Elxis CMS Forum

Ελληνικό Forum => Γλώσσες - Πολυγλωσσία => Topic started by: webgift on June 04, 2009, 15:14:01

Title: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post 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>!
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo.
Post by: ks-net on June 04, 2009, 15:21:59
http://wiki.elxis.org/wiki/Change_logo_depending_on_language
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo.
Post by: webgift on June 04, 2009, 15:25:22
Μοναδικός ο Κώστας όπως πάντα. Σε ευχαριστώ.!
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post by: babis1 on June 04, 2009, 19:02:58
αν εχουμε ορισμο του logo απο το css
.top { background-image:url(../images/logo.jpg);}
και στο index <div class="top">
ακολουθουμε τις οδηγιες απο εδω Apply specific background image to selected div?
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post by: nikos65 on June 04, 2009, 20:16:29
Μια καλή ιδέα είναι η δημιουργία Module στην θέση του logo και ανάθεση ανά γλώσσα.
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post by: babis1 on June 04, 2009, 20:23:56
ναι αλλα εδω με τον κωδικα εχει ενδιαφερον........μονο που εμενα δεν μου δουλευει

εχω <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>';

μου δειχνει το ιδιο σε ολες τις γλωσσες, οταν το αφησω δεν μου δειχνει τιποτα
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post by: datahell on June 04, 2009, 21:58:37
.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)
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post by: babis1 on June 04, 2009, 22:06:34
το πετυχα λογο του 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   (δεξια επανω)

αυτο που εγραψες γιαννη θα το κοιταξω τωρα
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post by: babis1 on June 04, 2009, 23:52:48
επισης αν υπαρχουν πανω απο 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
Title: Re: Αλλαγή γλώσσας - Αλλαγή Logo. [Λύθηκε]
Post by: datahell on June 05, 2009, 00:27:57
Η σωστή αντιμετώπιση είναι αυτή που περιγράφεται στο "A better approach". Και το έγραψα εξεπίτιδες γιατί είδα πως όλοι το κάνετε λάθος. Δεν ελέγχουμε αν η γλώσσα είναι greek ή german. Ελέγχουμε τις μεταβλητές του Elxis και όλα δουλεύουν αυτόματα και σωστά για οποιδήποτε site. Είναι θέμα λογικής προσέγγισης του θέματος. Το ξαναγράφω εδώ ως "flowchart":

-Υπάρχει λογότυπο για την τρέχουσα γλώσσα; $lang
    |--- ΝΑΙ (τέλος)
    |--- ΟΧΙ
              |-Υπάρχει λογότυπο για την προκαθορισμένη γλώσσα; $mainframe->getCfg('lang')
                       |---- ΝΑΙ (τέλος)
                       |---- ΟΧΙ
                                  |- Φόρτωσε το Αγγλικό λογότυπο (τέλος)

Με τον ίδιο τρόπο ελέγχουμε οτιδήποτε αφορά τη γλώσσα, όχι μόνο το λογότυπο.