Jump to content
Sign in to follow this  
supmener

[Решено] Меню выбора языка

Recommended Posts

Зачем есть меню выбора языка, если там только русский язык?

post-126-1293741785,946_thumb.jpg

Share this post


Link to post
Share on other sites

Можно добавить других языков.

Share this post


Link to post
Share on other sites

А как добавить английский язык?

Share this post


Link to post
Share on other sites

А как добавить английский язык?

Поиск предлагает viewtopic.php?f=15&t=404

Share this post


Link to post
Share on other sites

А если планируется оставить только русский язык, то есть ли возможность отключить этот выпадающий список с выбором языков?

Share this post


Link to post
Share on other sites

Да, друзья, поддерживаю вопрос:можно ли отключить выбор языка и выбор валюты?Чтобы использовать только Русский - Рубль

Share this post


Link to post
Share on other sites

OK. Разобрался.

Если кому нужно, чтобы убрать выбор языка и валюты:

в файлике catalogviewthemedefaulttemplatecommonheader.tpl

удалите следующий кусок кода:

<div class="div7">        <?php if ($currencies) { ?>        <form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="currency_form">          <div class="switcher">            <?php foreach ($currencies as $currency) { ?>            <?php if ($currency['code'] == $currency_code) { ?>            <div class="selected"><a><?php echo $currency['title']; ?></a></div>            <?php } ?>            <?php } ?>            <div class="option">              <?php foreach ($currencies as $currency) { ?>              <a onclick="$('input[name='currency_code']').attr('value', '<?php echo $currency['code']; ?>'); $('#currency_form').submit();"><?php echo $currency['title']; ?></a>              <?php } ?>            </div>          </div>          <div style="display: inline;">            <input type="hidden" name="currency_code" value="" />            <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />          </div>        </form>        <?php } ?>        <?php if ($languages) { ?>        <form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="language_form">          <div class="switcher">            <?php foreach ($languages as $language) { ?>            <?php if ($language['code'] == $language_code) { ?>            <div class="selected"><a><img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" />  <?php echo $language['name']; ?></a></div>            <?php } ?>            <?php } ?>            <div class="option">              <?php foreach ($languages as $language) { ?>              <a onclick="$('input[name='language_code']').attr('value', '<?php echo $language['code']; ?>'); $('#language_form').submit();"><img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" />  <?php echo $language['name']; ?></a>              <?php } ?>            </div>          </div>          <div>            <input type="hidden" name="language_code" value="" />            <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />          </div>        </form>        <?php } ?>      </div>
Edited by afwollis
edit -> save

Share this post


Link to post
Share on other sites

Спасибо за решение! Проверил и правда помогает!

Share this post


Link to post
Share on other sites

OK. Разобрался.

Если кому нужно, чтобы убрать выбор языка и валюты:

в файлике catalogviewthemedefaulttemplatecommonheader.tpl

удалите следующий кусок кода:

<div class="div7">        <?php if ($currencies) { ?>        <form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="currency_form">          <div class="switcher">            <?php foreach ($currencies as $currency) { ?>            <?php if ($currency['code'] == $currency_code) { ?>            <div class="selected"><a><?php echo $currency['title']; ?></a></div>            <?php } ?>            <?php } ?>            <div class="option">              <?php foreach ($currencies as $currency) { ?>              <a onclick="$('input[name='currency_code']').attr('value', '<?php echo $currency['code']; ?>'); $('#currency_form').submit();"><?php echo $currency['title']; ?></a>              <?php } ?>            </div>          </div>          <div style="display: inline;">            <input type="hidden" name="currency_code" value="" />            <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />          </div>        </form>        <?php } ?>        <?php if ($languages) { ?>        <form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="language_form">          <div class="switcher">            <?php foreach ($languages as $language) { ?>            <?php if ($language['code'] == $language_code) { ?>            <div class="selected"><a><img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" />  <?php echo $language['name']; ?></a></div>            <?php } ?>            <?php } ?>            <div class="option">              <?php foreach ($languages as $language) { ?>              <a onclick="$('input[name='language_code']').attr('value', '<?php echo $language['code']; ?>'); $('#language_form').submit();"><img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" />  <?php echo $language['name']; ?></a>              <?php } ?>            </div>          </div>          <div>            <input type="hidden" name="language_code" value="" />            <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />          </div>        </form>        <?php } ?>      </div>
А я бы всё это неудалял а оставил так:

<div class="div7">          <div style="display: inline;">            <input type="hidden" name="currency_code" value="<?php echo $currencies[code];?>" />          </div>          <div>            <input type="hidden" name="language_code" value="<?php echo $languages[code];?>" />          </div>        </div>
Edited by afwollis
edit -> save
  • +1 1

Share this post


Link to post
Share on other sites

DEATH, а что дают эти строки, зачем мы их оставили?

И в предыдущем убранном коде нет выражения echo $currencies

, почему? Возможно, дело в версии скрипта (у меня ocStore v0.0.7), тогда надо еще раз потщательнее определить, что мы там оставляем. Я не знаком с ПХП и с логикой этого скрипта, поэтому отношусь к вкраплениям ПХП трепетно, хочется быть уверенным, что ничего не будет хуже.

Share this post


Link to post
Share on other sites

Если нужно убрать только выбор языка, то в блоке "div7" нужно найти и убрать следующий кусок кода:

<div class="switcher">            <?php foreach ($languages as $language) { ?>            <?php if ($language['code'] == $language_code) { ?>            <div class="selected"><a><img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" />  <?php echo $language['name']; ?></a></div>            <?php } ?>            <?php } ?>            <div class="option">              <?php foreach ($languages as $language) { ?>              <a onclick="$('input[name='language_code']').attr('value', '<?php echo $language['code']; ?>'); $('#language_form').submit();"><img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" />  <?php echo $language['name']; ?></a>              <?php } ?>            </div>          </div>
Edited by afwollis
edit -> save

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

А можно вообще элементарно добавить свойство display: none в необходимых блоках, и ничего не удалять. Так же можно убрать ненужные поля при регистрации и оформлении заказа — способ немного топорный, но зачем экономить пару байт кода, удаляя их? https://opencartforum.com/public/style_emoticons/default/icon_question.gif

Share this post


Link to post
Share on other sites

куда подевался код который нужно убирать?

пустые таблицы на форуме!

помогите очень нужно убрать валюту и выбор языка

Share this post


Link to post
Share on other sites

поправил сообщения.

Share this post


Link to post
Share on other sites

Изображение

ребята, подскажите, пожалуйста, как уменьшить (сузить) поле выбора языка? и еще такой момент, в админке не дает ввести название языка менее трех символов, хотелось бы поставить просто ru

Share this post


Link to post
Share on other sites

за это отвечает класс .switcher

маргинами и паддингами можно всякого добиться.

Share this post


Link to post
Share on other sites

за это отвечает класс .switcher

маргинами и паддингами можно всякого добиться.

сорри, а как для новичка, можно более расширенный ответ? :blink:

Share this post


Link to post
Share on other sites

более расширенный ответ.

открываете файл catalog/view/theme/ВАША_ТЕМА/stylesheet/stylesheet.css

находите там .switcher и все, что с ним связано(оно ниже и начинается тоже с .switcher)

И редактируете! ;)

Для примера вот вам отредактированный под ширину 200px. Сравнивайте со стандартным и делайте выводы, там несложно

.switcher {
	float: right;	
	margin-top: 6px;
	margin-right: 16px;
	width: 200px;
}
.switcher a {
	text-decoration: none;
	display: block;
	width:200px;
}
.switcher .selected {
	background: #FFFFFF url('../image/switcher.png') repeat-x;
	width:195px;
}
.switcher .selected a {
	border: 1px solid #CCCCCC;
	background: url('../image/arrow_down.png') 200px center no-repeat;
	color: #666666;
	padding: 2px 5px 2px 5px;
	width: 200px;
}
.switcher .selected a:hover {
	background: #F0F0F0 url('../image/arrow_down.png') 200px center no-repeat;
	width: 200px;
}
.switcher .option {	
	position: absolute;
	z-index: 3;
	border-left: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
	background-color: #EEEEEE;
	display: none;
	width: 200px;
}
.switcher .option a {
	color: #000;
	padding: 3px 1px 3px 5px;
	width: 200px;
}
.switcher .option a:hover {
	background: #FFC;
	width: 194px;
}
.switcher img {
	position: relative;
	top: 1px;
}

успехов.

post-3552-0-00058800-1302942361_thumb.png

  • +1 1

Share this post


Link to post
Share on other sites

AlexFisher, спасибо, поправил, теперь все отлично смотрится ))

P.S. подскажите еще, плиз, где прописывается само название языка чтобы отредактировать вручную, так как через админку название длиной меньше трех символов не сохраняет

Share this post


Link to post
Share on other sites

admin/controller/localisation/language.php

ищем

if ((strlen(utf8_decode($this->request->post['name'])) < 3) || (strlen(utf8_decode($this->request->post['name'])) > 32)) {
			$this->error['name'] = $this->language->get('error_name');
		}
меняем на

if ((strlen(utf8_decode($this->request->post['name'])) < 1) || (strlen(utf8_decode($this->request->post['name'])) > 32)) {
			$this->error['name'] = $this->language->get('error_name');
		}
порядок. ;)

post-3552-0-98950400-1302947377_thumb.png

  • +1 1

Share this post


Link to post
Share on other sites

порядок. ;)

действительно порядок B) большое спасибо!

Share this post


Link to post
Share on other sites

А нельзя сделать чтоб вообще не было Eng (в товаре, описание), или оч геморно?

Share this post


Link to post
Share on other sites

админка -> настройки -> локализация -> язык.

Как-то так...

Share this post


Link to post
Share on other sites

ковырял, ковырял но так и не понял как сделать следующее:

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
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.