Перейти к содержанию
TimTam

Поле выбора валюты на странице описания продукта

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

Подскажите, хочу перенести поле выбора валюты (позже и языка ) с Хеадера на страницу описания продуктасделал следующие действаиз файла /catalog/controller/common/header.phpв файл /catalog/controller/product/product.phpскопировал следующий код

if (($this->request->server['REQUEST_METHOD'] == 'POST') && isset($this->request->post['currency_code'])) {      		$this->currency->set($this->request->post['currency_code']);						unset($this->session->data['shipping_methods']);			unset($this->session->data['shipping_method']);							if (isset($this->request->post['redirect'])) {				$this->redirect($this->request->post['redirect']);			} else {				$this->redirect(HTTP_SERVER . 'index.php?route=common/home');			}   		}
и
$this->data['currency_code'] = $this->currency->getCode(); 				$this->load->model('localisation/currency');		 		 $this->data['currencies'] = array();		 		$results = $this->model_localisation_currency->getCurrencies();					foreach ($results as $result) {			if ($result['status']) {   				$this->data['currencies'][] = array(					'title' => $result['title'],					'code'  => $result['code']				);			}		}
из файла /catalog/view/theme/default/template/common/header.tplв файл /catalog/view/theme/default/template/product/product.tplскопировал следующий код
<?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 } ?>
по итогу ошибка catalog/view/theme/default/template/product/product.tpl on line 34на строке <?php if ($currencies) { ?>Понимаю, что надо еще какие то строки куда то добавить, что бы эта переменная стала "видна", Но не хватает знаний, что и куда написать.Метод тыка, по аналогии ни к чему не привелПодскажите как поправить ситуацию?Хочется лицезреть поле выбора валюты на странице описания продукта, возле цены.с уважением

Поделиться сообщением


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

для начала в admin/controller/common/product.php добавить в нужные места

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

и

$this->data['currency'] = HTTPS_SERVER . 'index.php?route=localisation/currency&token=' . $this->session->data['token'];

Поделиться сообщением


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

не помогло :)можно чуток детальней?может не так делаю?

Поделиться сообщением


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

все правильно сделал, код из php вставлять в самый верх, а то видимо где то за условие зацепился вот он и не обработался. А еще в product.tpl вниз не помешает вставить

<script type="text/javascript"><!--$('.switcher').bind('click', function() {	$(this).find('.option').slideToggle('fast');});$('.switcher').bind('mouseleave', function() {	$(this).find('.option').slideUp('fast');}); //--></script>
а то список открываться не будет

Поделиться сообщением


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

сенкс Fix305!!!так и есть - попал не в ту "дырочку" вставляя код :)все работает на ура

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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