Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Решено] Как выгделить активный язык на сайте?


Recommended Posts

Привет. Подскажите как выгделить активный язык на сайте,  который выбрал пользователь,  я про <?php echo $language; ?>, а то им просто картинки, а хотелось бы чтобы активный язык подсвеливался. С дизайном я сам разберусь, мне нужна помощь чтобы тот язык который выбран ему добавлялся class="active" например.  Что нужно дописать и куда =)

Link to comment
Share on other sites


Я знаю что туда, но им же нужно условие какой-то прописать, подскажите какое, вот мой код language.tpl

 

<?php if (count($languages) > 1) { ?><form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">  <div id="language">    <?php foreach ($languages as $language) { ?>		  <?php if($this->config->get('config_seo_url')) { ?>			  <a href="<?php echo $language['redirect']?>"><img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>"/></a>			  <?php } else { ?>			  <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>"				   onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();"/>			  <?php } ?>		  <?php } ?>    <input type="hidden" name="language_code" value="" />    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />  </div></form><?php } ?>
Link to comment
Share on other sites


  • 2 years later...

В language.tpl добавляем строку

<?php $current_language_code = $this->config->get('config_language'); ?>

 

Вместо

        <?php foreach ($languages as $language) { ?>
            <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" />
        <?php } ?>

 

Всивляем

        <?php foreach ($languages as $language) { ?>
            <?php if ($current_language_code != $language['code']) { ?>
                <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" />
            <?php } else { ?>
                <img class="active" src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" />
            <?php } ?>
        <?php } ?>
Edited by elscept
Link to comment
Share on other sites


  • 4 years later...

Есть отличное рилииюещёе решение (тестировалось на 2.3)

language.tpl

Например наш код: 

<a href="<?php echo $language['url']; ?>" onclick='window.location = "<?php echo $language['url']; ?>"'><?php echo $language['name']; ?></a>

нужно всивить класс:

class="<?php echo $language['code'] == $code ? 'active' : '';?>"

Получаем: 

<a href="<?php echo $language['url']; ?>" onclick='window.location = "<?php echo $language['url']; ?>"' class="<?php echo $language['code'] == $code ? 'active' : '';?>"><?php echo $language['name']; ?></a>

Дальше через css, добавляем стиль к "active" какой нравится.

Edited by ComfortStyle
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.