Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


supmener

Recommended Posts

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>
Змінено користувачем afwollis
edit -> save
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

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>
Змінено користувачем afwollis
edit -> save
  • +1 1
Надіслати
Поділитися на інших сайтах


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

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

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


  • 2 weeks later...

Если нужно убрать только выбор языка, то в блоке "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>
Змінено користувачем afwollis
edit -> save
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

  • 6 months later...
  • 4 weeks later...

Изображение

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

Надіслати
Поділитися на інших сайтах


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

открываете файл 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
Надіслати
Поділитися на інших сайтах

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

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

Надіслати
Поділитися на інших сайтах


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
Надіслати
Поділитися на інших сайтах

  • 4 months later...
Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.