Помощь Вывод значения опции напротив названия товара

Chadik

Постоялец
Регистрация
25 Апр 2013
Сообщения
97
Реакции
25
Подскажите как вывести значение опции в карточке товара напротив названия товара (Для просмотра ссылки Войди или Зарегистрируйся)
Если менять выбранную опцию, то она автоматически дописывается напротив названия h1
 
Здравствуйте.
Что бы не было перезагрузки страницы, подставляйте через JS к заголовку
Код:
<?php echo $option_value['name']; ?>
/catalog/view/theme/default/template/product/product.tpl

Но вам сначала нужно с помощью js получить значение выбранной опции, а потом вывести с помощью того же JS куда вам нужно.
К сожалению с JS вам подсказать не смогу, так как плохо знаком и писать его нужно индивидуально под ваш шаблон
 
Последнее редактирование:
Здравствуйте.
Что бы не было перезагрузки страницы, подставляйте через JS к заголовку
Код:
<?php echo $option_value['name']; ?>
А Вы можно пожалуйста по конкретнее расписать в какой файл подставлять?
 
Уточните версию ОпенКарта (если 3 то будет не tpl, а twig) и используете ли шаблон? Вдруг объектная модель сильно отличается от стандартной.
 
Уточните версию ОпенКарта (если 3 то будет не tpl, а twig) и используете ли шаблон? Вдруг объектная модель сильно отличается от стандартной.
Магазин на ocStore 1.5.5.1.2, шаблон BigDesign. Может есть готовое решение в виде модуля, или надо все ручками допиливать?
 
Можно так.

В файле (/catalog/view/theme/default/template/product/product.tpl) в необходимые опции (или во все) добавить:
onchange="changeH1('<?php echo $option_value['name']; ?>')"

Пример:
Было:
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
Стало:
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" onchange="changeH1('<?php echo $option_value['name']; ?>')" />
------------------------------------------------------------------------------------------------------------
И в конце в этом же файле (/catalog/view/theme/default/template/product/product.tpl) перед <?php echo $footer; ?> добавить скрипт:

<script><!--
const CIDH1=document.querySelector("H1").innerHTML;
function changeH1(option) {
document.querySelector("H1").innerHTML = CIDH1 + ' ' + option;
}
//--></script>
 
Последнее редактирование:
Можно так.

В файле (/catalog/view/theme/default/template/product/product.tpl) в необходимые опции (или во все) добавить:
onchange="changeH1('<?php echo $option_value['name']; ?>')"

Пример:
Было:
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
Стало:
<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" onchange="changeH1('<?php echo $option_value['name']; ?>')" />
------------------------------------------------------------------------------------------------------------
И в конце в этом же файле (/catalog/view/theme/default/template/product/product.tpl) перед <?php echo $footer; ?> добавить скрипт:

<script><!--
const CIDH1=document.querySelector("H1").innerHTML;
function changeH1(option) {
document.querySelector("H1").innerHTML = CIDH1 + ' ' + option;
}
//--></script>
Сделал как Вы подсказали, пока без результата. К каким опция еще можно попробовать добавить onchange="changeH1('<?php echo $option_value['name']; ?>')"
 
Какой тип опций вы используете?


Если Select попробуйте так:
onchange="changeH1N1(document.getElementById('input-option<?php echo $option['product_option_id'];?>').options.selectedIndex);"

Было:
<select name="option[<?php echo $option['product_option_id']; ?>]"
id="input-option<?php echo $option['product_option_id']; ?>" class="form-control" >
Стало:
<select name="option[<?php echo $option['product_option_id']; ?>]"
id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"
onchange="changeH1N1(document.getElementById('input-option<?php echo $option['product_option_id'];?>').options.selectedIndex);" >

------------------------------------------------------
Скрипт файл будет такой

<script><!--
const CIDH1=document.querySelector("H1").innerHTML;

function changeH1(option) {
document.querySelector("H1").innerHTML = CIDH1 + ' ' + option;
}

function changeH1N1(option) {
let option1 = document.getElementById("input-option<?php echo $option['product_option_id']; ?>").options[option].text;
document.querySelector("H1").innerHTML = CIDH1 + ' ' + option1;
}
//--></script>
 
Последнее редактирование:
Назад
Сверху