PDA

Zobacz pełną wersję : Wielojęzyczność, zmiana wyglądu flagi



plont
22-06-2014, 20:15
Witam

Potrzebuje pomocy ze zmianą flag w Joomli, mianowicie:

witryna jest 4 języczna : pl, en, ru, de

jak wiadomo flagi są pobierane z folderu media/mod_languages/images/..

w pliku php znajdującym się w modules/mod_languages/tmpl/default.php

jest kod pobierająy obrazki z folderu
<ul class="<?php echo $params->get('inline', 1) ? 'lang-inline' : 'lang-block';?>">
<?php foreach ($list as $language) : ?>
<?php if ($params->get('show_active', 0) || !$language->active):?>
<li class="<?php echo $language->active ? 'lang-active' : '';?>" dir="<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? 'rtl' : 'ltr'; ?>">

<a href="<?php echo $language->link;?>">
<?php if ($params->get('image', 1)):?>
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true);?>
<?php else : ?>
<?php echo $params->get('full_name', 1) ? $language->title_native : strtoupper($language->sef);?>
<?php endif; ?>
</a>
</li>
<?php endif;?>
<?php endforeach;?>
</ul>

Moje pytanie jest następujące, jak zrobić aby flaga języka aktywnego nie nazywała się pl.gif tylko pl_a.gif, miało by się to tyczyć oczywiście wszystkich języków.

Czy da rade zrobić tak aby aktywny język był przedstawiany innym obrazkiem? Bo w css w .lang-active nie da rady wczytać folderu z innymi obrazkami.

Bardzo prosze o pomoc lub wskazówkę jak to rozwiązać. niestety ale nie znam php na tyle aby móc samemu z tym sobie poradzić a wujek google nie zna odpowiedzi na moje pytanie, przynajmniej nie chciał mi jej pokazać.

komodore
24-06-2014, 13:01
Podmień obraz w css dla klasy .lang-active

Wysłane z mojego GT-I8160 przy użyciu Tapatalka

plont
24-06-2014, 14:41
No nie do końca bo w css mogę zmienić tylko jedna flagę tą aktywną.

Tutaj problem jest w php i tam trzeba coś zrobić ale nie wiem co

na stronie są 4 flagi

7684

dla aktywnego języka flaga ma być biało-czarna

7685

czyli nie mogę tego zmienić w css bo w sumie mają być 4 inne obrazki pl_a, en_a, ru_a, de_a

Bardzo proszę o pomoc

Jola
24-06-2014, 22:21
Najpierw kopia pliku, później zamiast linii:

<?php if ($params->get('image', 1)):?>
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true);?>
<?php else : ?>
wstaw:

<?php if ($params->get('image', 1)):
$obrazek = $language->image . '.gif';
if($language->active)
$obrazek = $language->image . '_a.gif'
?>
<?php echo JHtml::_('image', 'mod_languages/' . $obrazek, $language->title_native, array('title' => $language->title_native), true);?>
<?php else : ?>

plont
25-06-2014, 07:44
Bardzo dziękuje, o to mi chodziło.

Pozdrawiam