PDA

Zobacz pełną wersję : Moduł Przełącznik języka (podmiana flag |hover|)



mavericek
14-10-2011, 10:02
Witam,
Używam na swojej stronie "Filtr języków" oraz moduł "Przełącznik języka" - standardowa strona 2-językowa postawiona na Joomla 1.6.5.
Chciałbym dokonać małej modyfikacji.
Mianowicie chciałbym żeby flagi języków były czarno-białe (z tym oczywiście nie mam problemu :spoko: )
natomiast po najechaniu myszką na flagę chciałbym żeby podmienił ikonkę na drugą (kolorową).
Gdzie powinienem grzebać? W module zmiany języka, w pluginie, w css dla szablonu?

Pewnie to nie jest zbyt skomplikowana modyfikacja, nie mniej jednak będę bardzo zobowiązany za pomoc :zagubiony:

Z góry dzięki za odpowiedzi.

PeFik
14-10-2011, 10:14
1) A czy nie lepiej zaktualizować do J1.7.1 - bo tak .... wciąż będziesz miał "stary i nieaktualny" soft.
2) szukał bym w CSS - za pomocą Firebug-a

mavericek
14-10-2011, 10:50
1) A czy nie lepiej zaktualizować do J1.7.1 - bo tak .... wciąż będziesz miał "stary i nieaktualny" soft.
Zgadzam się i pewnie niedługo to zrobię.
Ale to mi nie rozwiąże mojego problemu :)


2) szukał bym w CSS - za pomocą Firebug-a
Próbowałem ale nic nie wymyśliłem

Gall Anonim
14-10-2011, 12:10
Ze względu na nick'a :)
prawdopodobnie takie cosik Musisz wpakować (ale pewności nie mam bo nie testowałem - to tak na sucho:
<a href="index.php/pl" title="Poland"><img src="src="http://ścieżka do flagi bw.... flags/plbw.gif" border="0" onmouseover="this.src='http://ścieżka do flagi color.... flags/pl.gif';" onmouseout="this.src='http://ścieżka do flagi color.... flags/pl.gif';" style="margin-left: 0px; margin-right: 0px; border: 0pt none;" /></a>
Pzdr

mavericek
14-10-2011, 21:48
;) Dzięki za odpowiedź.
Jeszcze tego nie testowałem ale może być mały problem.
Przełącznik języka wstawiony jest na stronie głównej poprzez wpis w pliku index.php templatki:


<?php if ($this->countModules('jezyk')) : ?>
<li><jdoc:include type="modules" name="jezyk" style="xhtml" /></li>
<?php endif; ?>

Czyli wstawiona jest pozycja modułu.
Cała obsługa zmiany jeżyka jest poprzez plugin i moduł, więc ciężko tutaj zdeklarować ikony.
Obawiam się że trzeba będzie to zmodyfikować właśnie z pozycji modułu (lub pluginu) :hmm:

---------- Post dodany o 20:48 ---------- Poprzedni post był o 12:42 ----------

Chyba trzeba jednak zmodyfikować moduł języka.

Template.php ma kod:


<?php
/**
* @version $Id: default.php 20348 2011-01-18 21:52:44Z infograf768 $
* @package Joomla.Site
* @subpackage mod_languages
* @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

// no direct access
defined('_JEXEC') or die('Restricted access');
JHtml::_('stylesheet', 'mod_languages/template.css', array(), true);
?>
<div class="mod-languages<?php echo $moduleclass_sfx ?>">
<?php if ($headerText) : ?>
<div class="pretext"><p><?php echo $headerText; ?></p></div>
<?php endif; ?>
<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' : '';?>">
<a href="<?php echo $language->link;?>">
<?php if ($params->get('image', 1)):?>
<?php echo JHtml::_('image', 'mod_languages/'.$language->image.'.gif', $language->title, array('title'=>$language->title), true);?>
<?php else:?>
<?php echo $language->title;?>
<?php endif;?>
</a>
</li>
<?php endif;?>
<?php endforeach;?>
</ul>
<?php if ($footerText) : ?>
<div class="posttext"><p><?php echo $footerText; ?></p></div>
<?php endif; ?>
</div>

Wg mnie trzeba zmienić tą część kodu:


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

Teraz pytanie. Jak to zrobić żeby pobierał odpowiednią flagę dla odpowiedniego języka? :(

PeFik
14-10-2011, 23:41
a nie możesz ręcznie ustawić ? często będziesz zmieniał te języki ? Czemu sobie utrudniasz, dodanie dodatkowej linijki kodu z flagą to 30 sekund.

mavericek
15-10-2011, 10:21
A mógłbym prosić o pomoc jak by wyglądał kod z ręcznie dodaną flagą????
Jasne że spokojnie można tak zrobić :)

PeFik
15-10-2011, 10:37
a HTML znasz ?

Sugeruje Firefox + Firebug i podglądnąć kod na tym szablonie: http://demo.icetheme.com/it_musical/index.php/en/

/spójrz u góry/

mavericek
17-10-2011, 07:44
Dokładnie o coś takiego mi chodzi, tylko z niewielką zmianą.
U mnie (fammdesign.eu) jeżeli jesteśmy na polskiej stronie to wyświetla się tylko angielska flaga
i odwrotnie.
Ale mimo to chciałem dodać swój moduł i miałem problem.
Tak więc widzę że muszę sam jeszcze trochę doczytać :(