Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

Рекомендованные сообщения

Всем привет.

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

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

Ссылка на комментарий
Поделиться на других сайтах


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'] = '';
}

Изменено пользователем afwollis
исправил код
  • +1 3
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

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'] = '';
}

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

Спасибо!

Изменено пользователем dm82
Ссылка на комментарий
Поделиться на других сайтах


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

Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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

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

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

Изменено пользователем dm82
Ссылка на комментарий
Поделиться на других сайтах


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

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

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

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

Ура!!!

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

Спасибо!

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


какой адрес?

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

Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


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

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

добавляем текстовое поле 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.

Ссылка на комментарий
Поделиться на других сайтах


  • 2 месяца спустя...
  • 2 года спустя...

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

 

А как провернуть такое же в весрии 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'] = '';
        }

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

Изменено пользователем FusSheva
Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...

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

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

 

Смена логотипа при смене языка - для версии движка 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 2
Ссылка на комментарий
Поделиться на других сайтах


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

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

 

или

 

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

Изменено пользователем chukcha
Ссылка на комментарий
Поделиться на других сайтах

Ссылка на комментарий
Поделиться на других сайтах

 

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

 

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

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

 

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

Ссылка на комментарий
Поделиться на других сайтах


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

Ссылка на комментарий
Поделиться на других сайтах


may be, may be

 

 

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

 

multilingual_logo.ocmod.xml

Ссылка на комментарий
Поделиться на других сайтах

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

 

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

Изменено пользователем FusSheva
Ссылка на комментарий
Поделиться на других сайтах


  • 9 месяцев спустя...

may be, may be

 

 

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

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

 

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

Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

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

Изменено пользователем globaltrading
Ссылка на комментарий
Поделиться на других сайтах


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

Изменено пользователем globaltrading
Ссылка на комментарий
Поделиться на других сайтах


  • 3 месяца спустя...

Тестировал на 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)

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.