Jump to content
Sign in to follow this  
dm82

[Решено] смена лого с языком

Recommended Posts

Всем привет.

Как думаете, реально ли как-то менять логотип вместе со сменой языка?

у меня в лого слоганы на разных языках.. Как сделать ума не приложу..

Share this post


Link to post
Share on other sites

enlogo: image/data/en/my_super_logo.png

rulogo: image/data/ru/my_super_logo.png

catalog/controller/common/header.php

if (file_exists(DIR_IMAGE."data/".$this->session->data['language']."/my_super_logo.png")) {
$this->data['logo'] = $server."data/".$this->session->data['language']."/my_super_logo.png";
} else {
$this->data['logo'] = '';
}

Edited by afwollis
исправил код
  • +1 3

Share this post


Link to post
Share on other sites

Спасибо за ответ!

Подскажите пожалуйста что еще надо заменить в этом скрипте или в админке?

Пока не работает.

папки создал, файлы положил.

enlogo: image/data/en/my_super_logo.png

rulogo: image/data/ru/my_super_logo.png

В админке выбрал логотип:

image/data/my_super_logo.png

в header.php нашел

if ($this->config->get('config_logo') && file_exists(DIR_IMAGE . $this->config->get('config_logo'))) {
$this->data['logo'] = $server . $this->config->get('config_logo');
} else {
$this->data['logo'] = '';
}

заменил на ваш:


if ($this->config->get('config_logo') && file_exists(DIR_IMAGE . $this->config->get('config_logo'))) {
$this->data['logo'] = $server.$this->session->data['language']."/".$this->config->get('config_logo');
} else {
$this->data['logo'] = '';
}

на сайте не отображается никакой логотип в обоих языках. Что делаю не так?

Спасибо!

Edited by dm82

Share this post


Link to post
Share on other sites

какие у вас языки используются? посмотрите в локализациях их "код"

Share this post


Link to post
Share on other sites

стандартная комплектация ocstore_v1.5.4.1. чистая, никаких шаблонов не ставил, php не трогал.

языки рус и анг. по умолчанию стоит рус.

в файлах russian.php и english.php - стоят коды ru и en.

<?php
// Locale
$_['code']				  = 'ru';
$_['direction']			 = 'ltr';

если вы про это спросили..

перепробовал массу вариантов с именами, папками и тп. ничего не помогает.

На английских форумах ничего про это не нашел..

А у вас это работает?

А то я так понял, что это известный простой вопрос и есть решение.

Пожалуйста помогите разобраться.

Очень надо сделать смену лого.

И там же в шапке вставить поле с рус/анг текстом.

Edited by dm82

Share this post


Link to post
Share on other sites

хм... пересмотрел свой код... таки да, малость накосячил :lol:

отредактировал сообщение - исправьте у себя по аналогии.

  • +1 1

Share this post


Link to post
Share on other sites

Есть. работает.

Ура!!!

а то я сам ломал голову - где-то ж это my_super_logo.png должно быть прописано!

Спасибо!

Про текст еще не подскажете?

не хотелось бы тем плодить, вопрос похожий.

Еще раз - надо там же в шапке адрес прописать текстом, чтобы менялся рус/анг

Share this post


Link to post
Share on other sites

какой адрес?

если у вас международная компания и вы хотите "адрес офиса / магазина" указать, то в этом случае адрес пишется на английском.

Share this post


Link to post
Share on other sites

да нет, какая там международная. Компания - наша. Просто сайт нужно делать на двух языках. Этим тоже opencart нравиться - сразу есть такая возможность.

В шапку вставить надо не только адрес. Вставить надо несколько текстовых полей, где язык будет меняться.

Поэтому, нужна общая схема - как это делать, можно без админ панели - через правку файлов.

Благодарю за помощь!

Share this post


Link to post
Share on other sites

Разобрался сам. Прошу прощения, вопрос оказался простой.

Кому интересно:

добавляем текстовое поле info1:

\catalog\controller\common\header.php

$this->data['text_info1'] = $this->language->get('text_info1');

\catalog\language\english\common\header.php

\catalog\language\russian\common\header.php

$_['text_info1'] = 'text 1';

$_['text_info1'] = 'текст 1';

\catalog\view\theme\default\template\common\header.tpl

<div class="info1"> <?php echo $text_info1; ?> </div>

\catalog\view\theme\default\stylesheet.css

#header .info1 { ... }

Вопросы по теме можно считать решенными.

Спасибо afwollis.

Share this post


Link to post
Share on other sites

Доброго здравия всем.

 

А как провернуть такое же в весрии 2.0.3.1 ?

В  catalog\controller\common\header.php нашел только такой код:


        if (is_file(DIR_IMAGE . $this->config->get('config_logo'))) {
            $data['logo'] = $server . 'image/' . $this->config->get('config_logo');
        } else {
            $data['logo'] = '';
        }

Как тут подправить? Подскажите пожалуйста.

Edited by FusSheva

Share this post


Link to post
Share on other sites

Так никто и не подскажет как сделать смену логотипа при смене языка в в весрии движка 2.0.3.1 ? :(

Share this post


Link to post
Share on other sites

Мдя... помощи так и не дождался. :(

Пришлось мудрить и делать по топорному...

 

Смена логотипа при смене языка - для версии движка 2.0.3.1

 

В  catalog\controller\common\header.php

Вместо:

        if (is_file(DIR_IMAGE . $this->config->get('config_logo'))) {
            $data['logo'] = $server . 'image/' . $this->config->get('config_logo');
        } else {
            $data['logo'] = '';
        }

Прописал (для 3-х языков - русский, украинский, английский):

Меняем на это:

 if ($data['lang'] == 'ru') {
     $data['logo'] = $server . 'image/'.('ru/logo.png');
     }	
     elseif ($data['lang'] == 'uk') {
     $data['logo'] = $server . 'image/'.('uk/logo.png');
     }
       else {
     $data['logo'] = $server . 'image/'.('en/logo.png');
     }		

Ну и понятное дело, в папке image создаем 3 папки ru, uk и en куда ложим соответствующие языку изображения логотипов.

 

p.s. Уверен что есть решение проще, но увы, от форумчан помощи так и не дождался, а старая голова только на это сработала. :)

 

Всем удачи!

  • +1 1

Share this post


Link to post
Share on other sites

Называем картинки ru en и так далее

Далее в img подставляем

Share this post


Link to post
Share on other sites

те. до "старая голова" не догадалась

$data['logo'] = $server . 'image/'.$data['lang']. '/logo.png';

 

или

 

$data['logo'] = $server . 'image/'.$data['lang']. '-logo.png';

Edited by chukcha

Share this post


Link to post
Share on other sites

 

Я обратился за помощью 10-го июля, а дополнение вышло 19 числа. Так что "контрольным выстрелом"  это сложновато назвать. :)

 

те. до "старая голова" не догадалась

$data['logo'] = $server . 'image/'.$data['lang']. '/logo.png';

 

Епт, как вариант! Ну дык, голова то старая, туго уже соображает. :)

Share this post


Link to post
Share on other sites

p.s. И кстати, чтобы установить дополнение "Multilingual Logo" нужно до него установить еще и правильный vQmod который не конфликтует с установлненным по умолчанию в движке OCmod.

Share this post


Link to post
Share on other sites

Спасибо, но уже как бы и не нужно (но таки скачал на всякий пожарный) :). Но может конечно кому ще и нужно будет.

 

p.s. Мне было достаточно и своего варианта, но подумал и установил еще и vQmod. И таки не зря, нашел еще несколько интересный на мой взгляд модификаций требующих как раз наличие именно vQmod.

Edited by FusSheva

Share this post


Link to post
Share on other sites

may be, may be

 

 

Может быть это поможет

Спасибо, Ваш модификатор очень выручил.

 

А то делал сайт на несколько языков, искал решение.

Share this post


Link to post
Share on other sites

enlogo: image/data/en/my_super_logo.png

rulogo: image/data/ru/my_super_logo.png

catalog/controller/common/header.php

if (file_exists(DIR_IMAGE."data/".$this->session->data['language']."/my_super_logo.png")) {
$this->data['logo'] = $server."data/".$this->session->data['language']."/my_super_logo.png";
} else {
$this->data['logo'] = '';
}

на 1.5.5.1.2. не работает, по крайней мере с шаблоном Moneymaker

Edited by globaltrading

Share this post


Link to post
Share on other sites

этот xml конфликтует с модулями Маркимакса (SEO CMS TOP 2) - он отдает массив значений

Edited by globaltrading

Share this post


Link to post
Share on other sites

Тестировал на oc 2.1 будет работать на всех версиях опенкарта 100%

 

в языковых header.php пишем

rus: 

$_['logo_link']           = '/image/catalog/logo/logo-rus.png';

eng:

$_['logo_link']           = '/image/catalog/logo/logo.png';

в контроллере добавляем

$data['logo_link'] = $this->language->get('logo_link');

в header.tpl в нужном месте (ключевой код <img src="<?php echo $logo_link; ?>)

 

<div id="logo" class="logo">
  <?php if ($logo) { ?>
  <a href="<?php echo $home; ?>"><img src="<?php echo $logo_link; ?>" title="<?php echo $name; ?>" alt="<?php echo $name; ?>" class="img-responsive"/>   </a>
  <?php }  ?></div>

 

 

автор: Макаронок Сергей (BY Minsk)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.