Показать сообщение отдельно
  #1 (permalink)  
Старый 19.02.2017, 16:27
Кандидат Javascript-наук
Отправить личное сообщение для WebMachine Посмотреть профиль Найти все сообщения от WebMachine
 
Регистрация: 11.10.2016
Сообщений: 141

Нужен скрипт вычитания цены со скидкой для DLE
Всем привет.. В общем есть сайт: http://molodechnomebel-kavkaz.ru/cat1/

Он на CMS: DLE

Сам скрипт прописан в shortstory и выглядит это так:
<script type="text/javascript">
window.onload = function calc{news-id}() { <!-- window.onload нужна чтобы функция выполнялась без onload в body -->
var a = parseInt(document.getElementById('num1').innerHTML);
var b = parseInt(document.getElementById('num2').innerHTML);
var c = Math.round(a-(a*b/100));
document.getElementById('num3').innerHTML=c;
}
</script>

<h3>{title}</h3>
<font id="num1">[xfvalue_p1]</font> * <font id="num2">20%</font> = <font id="num3"></font>

Но в таком варианте он выводит только итоговую сумму первой новости..
Я применил тег PHP-шаблонизатора движка DLE {news-id} чтобы название функций скрипта были у каждой новости свои. И получил к каждой новости отличительный скрипт.. Но в таком виде высчитывается сумма со скидкой первой новости.. А нужно чтобы высчитывалась сумма со скидкой у всех новостей.

Далее я попробовал прописать тот же {news-id} в id. Выглядет это так:

<script type="text/javascript">
window.onload = function calc{news-id}() { <!-- window.onload нужна чтобы функция выполнялась без onload в body -->
var a = parseInt(document.getElementById('num{news-id}1').innerHTML);
var b = parseInt(document.getElementById('num{news-id}2').innerHTML);
var c = Math.round(a-(a*b/100));
document.getElementById('num{news-id}3').innerHTML=c;
}
</script>

<h3>{title}</h3>
<font id="num{news-id}1">[xfvalue_p1]</font> * <font id="num{news-id}2">20%</font> = <font id="num{news-id}3"></font>


Но итоговая сумма со скидкой так в обще не вычисляется нигде..

Если я все правильно понял, нужен способ без onload в body но с возможностью задать имя функции.. А затем приписать к этому имени например : function calc{news-id} // чтобы у каждого скрипта в краткой новости были разные имена. Чтобы функции срабатывали одновременно.

И так. В чем моя ошибка? И кто её решит?

Цель заключается в том чтобы вывести цену со скидкой в каждой новости.. Прописав сам скрипт в shortstory.tpl и без onload в body.

Почему именно скриптом? для того чтобы не лезть в базу каждый раз..

Но заранее прошу попытаться сделать это у себя.. дабы вероятность была 100%.

Напишите кто готов и сколько это будет стоить..

Последний раз редактировалось WebMachine, 19.02.2017 в 16:39.
Ответить с цитированием