Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите оптимизировать jquery-код (https://javascript.ru/forum/misc/64486-pomogite-optimizirovat-jquery-kod.html)

Stay_Strong 15.08.2016 13:24

Помогите оптимизировать jquery-код
 
Всем доброго времени суток. Суть такова. Я очень начинающий. Пишу изменение цены при нажатии на "плюс", "минус" и изменении значения мышью в инпуте. В результате написал рабочий код, в котором каждый раз завожу переменные одни и те же. Вот код целиком, без кнопки "минус":
//Изменение цены при нажатии на "плюс"
  $('.plus').click(function () {
      var input = $(this).parent().find('input');
      var priceValOne = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_1_20');
      var priceValTwo = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_20_50');
      var priceValThree = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_50_100');
      var priceValFour = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_100_500');
      var priceValFive = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_500_1000');
      var priceValSix = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_more_1000');
      var price = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val');
      input.val(parseInt(input.val()) + 1); //увеличиваем значение input на 1
      var newInput = input.val(); //Забираем увеличенное значение
      //Вывод цены в зависимости от количества товара
        if (newInput < 20) {
          price.text(parseInt(newInput) * parseInt(priceValOne));
        };
        if (newInput >= 20 && newInput < 50) {
          price.text(parseInt(newInput) * parseInt(priceValTwo));
        };
        if (newInput >= 50 && newInput < 100) {
          price.text(parseInt(newInput) * parseInt(priceValThree));
        };
        if (newInput >= 100 && newInput < 500) {
          price.text(parseInt(newInput) * parseInt(priceValFour));
        };
        if (newInput >= 500 && newInput < 1000) {
          price.text(parseInt(newInput) * parseInt(priceValFive));
        };
        if (newInput >= 1000) {
          price.text(parseInt(newInput) * parseInt(priceValSix));
        };
      //окончание секции "Вывод цены в зависимости от количества товара""
      return false;
  });
 //Отслеживаем изменение инпута при помощи мыши, и меняем цену
 $('.number input').change(function(){
 	var inputVal = $(this).val();
  var priceValOne = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_1_20');
  var priceValTwo = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_20_50');
  var priceValThree = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_50_100');
  var priceValFour = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_100_500');
  var priceValFive = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_500_1000');
  var priceValSix = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val').attr('data-price_more_1000');
 	var price = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val');
  if (inputVal < 20) {
 	  price.text(inputVal * parseInt(priceValOne));
  };
   if (inputVal >= 20 && inputVal < 50) {
    price.text(inputVal * parseInt(priceValTwo));
  };
  if (inputVal >= 50 && inputVal < 100) {
    price.text(inputVal * parseInt(priceValThree));
  };
  if (inputVal >= 100 && inputVal < 500) {
    price.text(inputVal * parseInt(priceValFour));
  };
  if (inputVal >= 500 && inputVal < 1000) {
    price.text(inputVal * parseInt(priceValFive));
  };
  if (inputVal >= 1000) {
    price.text(inputVal * parseInt(priceValSix));
  };
 });

Вот это все нужно как-то максимально оптимизировать. Я не прошу, дублировать или писать за меня. Если можно, то подойдет даже ссылка на информацию, как правильно оптимизировать код. Или совсем маленький кусочек отсюда оптимизировать и дать пару комментариев. Пожалуйста, отзовитесь люди добрые..

warren buffet 15.08.2016 13:30

У тебя не найдется мужества выкинуть всю эту выстраданную тряхомудию. Если считаешь иначе, пости сюда сперва свой html, то есть кусок, который варится в этой каше.

Stay_Strong 15.08.2016 13:34

Цитата:

Сообщение от warren buffet (Сообщение 425458)
У тебя не найдется мужества выкинуть всю эту выстраданную тряхомудию. Если считаешь иначе, пости сюда сперва свой html, то есть кусок, который варится в этой каше.

<div class="product-cart__price">Цена: 
<span class="price-val" data-price_1_20="890" data-price_20_50="821" data-price_50_100="751" data-price_100_500="709" data-price_500_1000="695" data-price_more_1000="688">890</span>
<span class="ruble"> руб.</span>
</div>
<div class="product-cart__number number">
<span class="minus">–</span>
  <input class="count" type="text" value="1">
<span class="plus">+</span>
</div>

Мужества найдется, если подскажете, как грамотно это переписать, чтобы было как нужно

warren buffet 15.08.2016 14:01

У тебя разнообразие заложено в слитых атрибутах вроде data-price_1_20="тут цена за от 1 до 20". А надо разделять, поскольку количество идет неразрывно, то есть у тебя не может быть "дырок" вроде от 25 до 50 по 3р, а от 55 до 100 по 2р. А от 50 до 55 - ? Понимаешь? То есть всегда нужна одна штука количества, а диапазон определяется в логике сравнения, например.

data-qty="20" data-price="3000"
data-qty="50" data-price="2500"
data-qty="100" data-price="2000"

Из таких атрибутов можно сделать объект и метод к нему:

Код:


var discounts={
  200:2000, /* цена за 200 и больше штук */
  100:2500,  /* цена за 100-199 штук */
    50:3000,  /* цена за 50-99 штук */
    1:3500  /* цена за 1-49 штук */
};

function get_price(value){
    for(var qty in discounts)
      if(value>=qty)
        return discounts[qty];
}


Stay_Strong 15.08.2016 14:11

Цитата:

Сообщение от warren buffet (Сообщение 425464)
У тебя разнообразие заложено в слитых атрибутах вроде data-price_1_20="тут цена за от 1 до 20". А надо разделять, поскольку количество идет неразрывно, то есть у тебя не может быть "дырок" вроде от 25 до 50 по 3р, а от 55 до 100 по 2р. А от 50 до 55 - ? Понимаешь? То есть всегда нужна одна штука количества, а диапазон определяется в логике сравнения, например.

data-qty="20" data-price="3000"
data-qty="50" data-price="2500"
data-qty="100" data-price="2000"

Из таких атрибутов можно сделать объект и метод к нему:

Код:


var discounts={
  200:2000, /* цена за 200 и больше штук */
  100:2500,  /* цена за 100-199 штук */
    50:3000,  /* цена за 50-99 штук */
    1:3500  /* цена за 1-49 штук */
};

function get_price(value){
    for(var qty in discounts)
      if(value>=qty)
        return discounts[qty];
}


Вообще пробелов, конечно у меня нет. У меня ж там по коду и по дат-аттрибутам видно. Вы предлагаете вот это все навесить на один span?

"
data-qty="20" data-price="3000"
data-qty="50" data-price="2500"
data-qty="100" data-price="2000"
"

warren buffet 15.08.2016 14:15

А, вот оно чо.

Цитата:

<span class="price-val" data-price_1_20="890" data-price_20_50="821" data-price_50_100="751" data-price_100_500="709" data-price_500_1000="695" data-price_more_1000="688">890</span>
А зачем в спан? Отпости как объект и не придется его создавать из хтмля. Я не знаю какой у тебя на сервере скриптовый язык, допустим php

$discounts=array(
   200=>2000,
   100=>2500,
     50=>3000,
     1=>3500
);

/* И где-то скрипты выводятся, или в функцию, или там прямо вместо спана того */

echo '<script>var dicsounts='.json_encode($discounts).';</script>';

warren buffet 15.08.2016 14:18

Цитата:

Сообщение от Stay_Strong
Вообще пробелов, конечно у меня нет.

Их и быть не может, поэтому и нужно всего одно значение.

Причем если вот так data-price_20_50="821" data-price_50_100="751" то скажим мне определенно, 50 это за 821 или за 751?

рони 15.08.2016 14:19

Stay_Strong,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    $(".product-cart__price").each(function(indx, el) {
        var pr = $(".price-val", el);
        var data = pr.data();
        var next = $(el).next(".product-cart__number");
        var count = $(".count", next)[0];
        var num = +count.value;
        next.on("click", ".minus, .plus", function() {
            num += $(this).is(".minus") ? -1 : 1;
            num < 0 && (num = 0);
            count.value = num;
            var price = data.price_1_20;
            if (num >= 20) price = data.price_20_50;
            if (num >= 50) price = data.price_50_100;
            if (num >= 100) price = data.price_100_500;
            if (num >= 500) price = data.price_500_1000;
            if (num >= 1000) price = data.price_more_1000;
            pr.text(num * price)
        })
    })
});
  </script>
</head>

<body>
<div class="product-cart__price">Цена:
<span class="price-val" data-price_1_20="890" data-price_20_50="821" data-price_50_100="751" data-price_100_500="709" data-price_500_1000="695" data-price_more_1000="688">890</span>
<span class="ruble"> руб.</span>
</div>
<div class="product-cart__number number">
<span class="minus">–</span>
  <input class="count" type="text" value="1">
<span class="plus">+</span>
</div>
</body>
</html>

Stay_Strong 15.08.2016 14:20

Цитата:

Сообщение от warren buffet (Сообщение 425466)
А, вот оно чо.



А зачем в спан? Отпости как объект и не придется его создавать из хтмля. Я не знаю какой у тебя на сервере скриптовый язык, допустим php

$discounts=array(
   200=>2000,
   100=>2500,
     50=>3000,
     1=>3500
);

/* И где-то скрипты выводятся, или в функцию, или там прямо вместо спана того */

echo '<script>var dicsounts='.json_encode($discounts).';</script>';

Сорри, с php вообще не дружу. Поэтому нужно добиться средством js. Тренирую на modX, где каждая цена заводится отдельным дополнительным полем, которое редактируется из админки. Товаров может быть несколько сотен. А вот в дата-аттрибуты вставляю значения цен. Идея с объектом хорошая у вас, но пока не знаю, как реализовать.

Stay_Strong 15.08.2016 14:29

В общем думаю заводить один со всеми ценами
data-price='790,765,740,700,680'

Потом это брать, как объект, как-то распарсивать (не знаю как), и в зависимости от количества брать нужное число, умножать и подставлять. Как это сделать, пока что не знаю.

warren buffet 15.08.2016 14:29

Цитата:

Сообщение от Stay_Strong
А вот в дата-аттрибуты вставляю значения цен.

И где эта вставлялка? Или ты хранишь скидки прямо в этом спане? Конечно нет. Следовательно перепиши вставлялку спана с дата- на вставляку нормального объекта. Блин, ну можешь json в любой один дата- атрибут вставить. data- - это собственно json и есть.

warren buffet 15.08.2016 14:31

Цитата:

Сообщение от Stay_Strong
data-price='790,765,740,700,680'


Это просто какое-то наваждение, что от читателя никогда нельзя добиться ответа, откуда он вообще данные берет. Как будто они божественным откровением возникают в спане.

В этом modX где-то же хранится запись о скидках на данный товар? Или откуда все-таки генерится этот чудовищный span?

warren buffet 15.08.2016 14:34

Цитата:

Сообщение от Stay_Strong
но пока не знаю, как реализовать.

Если в любом шаблоне своего модИкса ты сделаешь вот так

<script>var GLOBAL_VARIABLE='this is global variable';</script>

то после этих вот тегов в памяти браузера запечатлиться GLOBAL_VARIABLE со значением 'this is global variable'. Если тебе не нравится постить глобально, пости в объект, в функцию, в библиотеку - куда угодно.

Самое смешное, что например на том же php можно отпостить объект как таковой и в жаба-скрипте окажутся все его публичные проперти в json. То есть берешь echo json_encode($SomeObject); и больше ничего делать не надо.

warren buffet 15.08.2016 14:39

Я кажется понял, они подключают скрипты как файлы, то есть он не может понять, как в скрипт, который вообще лежит отдельным файлом и подцепляется через src запихать данные о скидках на конкретный товар. )))

Да забей на все эти заморочки 90-х. Давным давно уже пишут когда надо <script> и где хочешь <style>.

У тебя этот забитый датой спан обрабатывается не раньше чем загрузится, так? Ну вот, следовательно если вместо него, прямо на то же месте вывести объект в тегах script, то этот объект будет доступен точно так же как спан, только искать его и парсить уже не надо.

ЗЫ Это еще цветочки, я видел в атрибутах пишут вроде data-run="{Foo(bar).baz()}"

Stay_Strong 15.08.2016 16:29

Сделал в конечном счет вот так:
HTML
<div class="product-cart__price">Цена: 
<span class="price-val" data-price="890,821,751,709,695,688">890</span>
<span class="ruble"> руб.</span>
</div>
<div class="product-cart__number number">
<span class="minus">&ndash;</span>
<input class="count" type="text" value="1">
<span class="plus">+</span>
</div>

JS
/*Переключение количества товаров и цены*/
  function OutputPrices() {
    var input = $('.count');
    var price = $('.price-val');
    var priceObject = $('.price-val').attr('data-price').split(','); //получаем все значения из data-prices и преобразуем их в массив
    //Выводим цену в зависимости от количества
    if (input.val() < 20) {
      price.text(parseInt(input.val()) * priceObject[0]); //Количество менее 20
    };
    if (input.val() >= 20 && input.val() < 50) {
      price.text(parseInt(input.val()) * priceObject[1]); //Количество в диапазоне от 20 до 50
    };
    if (input.val() >= 50 && input.val() < 100) {
      price.text(parseInt(input.val()) * priceObject[2]); //Количество в диапазоне от 50 до 100
    };
    if (input.val() >= 100 && input.val() < 500) {
      price.text(parseInt(input.val()) * priceObject[3]); //Количество в диапазоне от 100 до 500
    };
    if (input.val() >= 500 && input.val() < 1000) {
      price.text(parseInt(input.val()) * priceObject[4]); //Количество в диапазоне от 500 до 1000
    };
    if (input.val() >= 1000) {
      price.text(parseInt(input.val()) * priceObject[5]); //Количество более 1000
    };
    return false;
    // Окончание секции "Выводим цену в зависимости от количества"
  };
	//Изменение цены при нажатии на "минус"
  $('.minus').click(function () {
      var input = $(this).parent().find('input');
      var count = parseInt(input.val()) - 1;
      count = count < 1 ? 1 : count;
      input.val(count);
      OutputPrices()
  });
  //Изменение цены при нажатии на "плюс"
  $('.plus').click(function () {
    var input = $(this).parent().find('input');
    var price = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val');
    input.val(parseInt(input.val()) + 1); //увеличиваем значение input на 1
    OutputPrices()
  });
 //Отслеживаем изменение инпута при помощи мыши, и меняем цену
 $('.number input').change(function(){
  OutputPrices()
  return false;
 });
/*Окончание секции "Переключение количества товаров и цены"*/

Stay_Strong 15.08.2016 16:56

Еще бы не помешало объединить вот этот кусок в один, с выполнением проверки:
$('.minus').click(function () {
      var input = $(this).parent().find('input');
      var count = parseInt(input.val()) - 1;
      count = count < 1 ? 1 : count;
      input.val(count);
      OutputPrices()
  });
  //Изменение цены при нажатии на "плюс"
  $('.plus').click(function () {
    var input = $(this).parent().find('input');
    var price = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val');
    input.val(parseInt(input.val()) + 1); //увеличиваем значение input на 1
    OutputPrices()
  });

Здесь есть общие куски! И необходимо бы их в одно, но нужна проверка на то, на какой селектор произошло нажатие!
Как осуществить, подскажите пожалуйста?

рони 15.08.2016 17:13

Цитата:

Сообщение от Stay_Strong
И необходимо бы их в одно, но нужна проверка на то, на какой селектор произошло нажатие!

вам дали пример, что мешает его использовать?

Stay_Strong 15.08.2016 17:17

Спасибо всем за ответы.

рони 15.08.2016 17:17

Stay_Strong,
в data добавлены скобки для упрощения
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    $(".product-cart__price").each(function(indx, el) {
        var pr = $(".price-val", el);
        var data = pr.data("price");
        var next = $(el).next(".product-cart__number");
        var count = $(".count", next)[0];
        var num = +count.value;
        next.on("click", ".minus, .plus", function() {
            num += $(this).is(".minus") ? -1 : 1;
            num < 0 && (num = 0);
            count.value = num;
            var price = data[0];
            if (num >= 20) price = data[1];
            if (num >= 50) price = data[2];
            if (num >= 100) price = data[3];
            if (num >= 500) price = data[4];
            if (num >= 1000) price = data[5];
            pr.text(num * price)
        })
    })
});
  </script>
</head>

<body>
<div class="product-cart__price">Цена:
<span class="price-val" data-price="[890,821,751,709,695,688]">890</span>
<span class="ruble"> руб.</span>
</div>
<div class="product-cart__number number">
<span class="minus">&ndash;</span>
<input class="count" type="text" value="1">
<span class="plus">+</span>
</div>

</body>
</html>

Stay_Strong 15.08.2016 17:59

Цитата:

Сообщение от рони (Сообщение 425513)
Stay_Strong,
в data добавлены скобки для упрощения
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    $(".product-cart__price").each(function(indx, el) {
        var pr = $(".price-val", el);
        var data = pr.data("price");
        var next = $(el).next(".product-cart__number");
        var count = $(".count", next)[0];
        var num = +count.value;
        next.on("click", ".minus, .plus", function() {
            num += $(this).is(".minus") ? -1 : 1;
            num < 0 && (num = 0);
            count.value = num;
            var price = data[0];
            if (num >= 20) price = data[1];
            if (num >= 50) price = data[2];
            if (num >= 100) price = data[3];
            if (num >= 500) price = data[4];
            if (num >= 1000) price = data[5];
            pr.text(num * price)
        })
    })
});
  </script>
</head>

<body>
<div class="product-cart__price">Цена:
<span class="price-val" data-price="[890,821,751,709,695,688]">890</span>
<span class="ruble"> руб.</span>
</div>
<div class="product-cart__number number">
<span class="minus">&ndash;</span>
<input class="count" type="text" value="1">
<span class="plus">+</span>
</div>

</body>
</html>

Это безусловно круто, только вот браузер ругается на строку
var num = +count.value;

Uncaught TypeError: Cannot read property 'value' of undefined
А здесь все отлично! Однако, спасибо! Это очень круто.

рони 15.08.2016 18:07

Цитата:

Сообщение от Stay_Strong
браузер ругается на строку

значит вы изменили место input у себя в html

Stay_Strong 15.08.2016 18:10

Цитата:

Сообщение от рони (Сообщение 425521)
значит вы изменили место input у себя в html

Понял, между ними еще есть один див просто. Он был изначально, просто он не нужен был, я его не давал.
<div class="product-cart__price">Цена: 
 <span class="price-val" data-price="890,821,751,709,695,688">890</span>
<div class="product-cart__note"> 
<span>В зависимости от количества цена может изменяться</span>
</div>
<div class="product-cart__number number"><span class="minus">&ndash;</span>
<input class="count" type="text" value="1"><span class="plus">+</span>
</div>
<div class="product-cart__buy"> <span>Заказать</span></div>

рони 15.08.2016 18:17

Stay_Strong,
если есть проблема, нужен полный html

Stay_Strong 15.08.2016 18:24

Цитата:

Сообщение от рони (Сообщение 425526)
Stay_Strong,
если есть проблема, нужен полный html

Полный HTML:
<div class="product-cart__price">Цена: 
 <span class="price-val" data-price="890,821,751,709,695,688">890</span>
<div class="product-cart__note"> 
<span>В зависимости от количества цена может изменяться</span>
</div>
<div class="product-cart__number number"><span class="minus">&ndash;</span>
<input class="count" type="text" value="1"><span class="plus">+</span>
</div>
<div class="product-cart__buy"> <span>Заказать</span></div>

Вот этот кусок кода не позволяет правильно взять count
<div class="product-cart__note"> 
<span>В зависимости от количества цена может изменяться</span>
</div>

рони 15.08.2016 18:32

Цитата:

Сообщение от Stay_Strong
Полный HTML:

не хватает тега

рони 15.08.2016 18:33

Stay_Strong,
var next = $(".product-cart__number",el);

рони 15.08.2016 18:35

Stay_Strong,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
    $(".product-cart__price").each(function(indx, el) {
        var pr = $(".price-val", el);
        var data = pr.data("price");
        var next = $(".product-cart__number",el);
        var count = $(".count", next)[0];
        var num = +count.value;
        next.on("click", ".minus, .plus", function() {
            num += $(this).is(".minus") ? -1 : 1;
            num < 0 && (num = 0);
            count.value = num;
            var price = data[0];
            if (num >= 20) price = data[1];
            if (num >= 50) price = data[2];
            if (num >= 100) price = data[3];
            if (num >= 500) price = data[4];
            if (num >= 1000) price = data[5];
            pr.text(num * price)
        })
    })
});
  </script>
</head>

<body>
<div class="product-cart__price">Цена:
 <span class="price-val" data-price="[890,821,751,709,695,688]">890</span>
<div class="product-cart__note">
<span>В зависимости от количества цена может изменяться</span>
</div>
<div class="product-cart__number number"><span class="minus">&ndash;</span>
<input class="count" type="text" value="1"><span class="plus">+</span>
</div>
<div class="product-cart__buy"> <span>Заказать</span></div>
</div>

</body>
</html>

Stay_Strong 15.08.2016 18:37

Цитата:

Сообщение от рони (Сообщение 425531)
Stay_Strong,
var next = $(".product-cart__number",el);

Почему не хватает тэга, все на месте:
<div class="product-cart__price">Цена: 
      <span class="price-val" data-price="890,821,751,709,695,688">890</span>
      <span class="ruble"> руб.</span></div>
    <div class="product-cart__note"> 
      <span>В зависимости от количества цена может изменяться</span>
    </div>
    <div class="product-cart__number number"><span class="minus">&ndash;</span>
      <input class="count" type="text" value="1"><span class="plus">+</span>
    </div>
    <div class="product-cart__buy"> <span>Заказать</span></div>

рони 15.08.2016 18:45

Stay_Strong,
тогда
var next = $(".product-cart__number").eq(indx);

warren buffet 15.08.2016 23:10

рони, вдумайся в что ты пишешь:

if (num >= 20) price = data[1];
if (num >= 50) price = data[2];
if (num >= 100) price = data[3];
if (num >= 500) price = data[4];
if (num >= 1000) price = data[5];


браузер, не вспотеет, конечно, но когда num у тебя 1000 или больше, то выполняются тотально все условия. То есть это не код, а хак.

Ну и самая мякотка, что ТС ниасилил передачу данных без хтмля и уже сейчас накинул на себя удавку. Когда ему начальство скажет поменять скидки, на отдельно взятые или группы товаров, у него все волосы из носа вылезут от ужаса. И придется ему делать как дядя уоррен баффет прописал.

ЗЫ Причем начальство само зависит от коньюктуры, попросту от конкурентов. Конкуренты нарисуют скидку за 150, ТС полезет в свою Модиксную админку, опа, а хрена-то количество не передается в скрипт. Попух. Один специалист хакает, второй хардкодит данные из БД, молодцы, чо, спелись. Но свободный рынок вас научит как свободу любить.

рони 15.08.2016 23:18

warren buffet,
не осилил жаргона ... знаешь лучше, пиши код.

warren buffet 15.08.2016 23:21

Цитата:

В зависимости от количества цена может изменяться
Спасибо не надо. Пойду к тем, у кого в зависимости от количества цена может уменьшаться. А ваше недетерминированное изменение в любую сторону мне не надо. Сидите без чеков.

warren buffet 15.08.2016 23:27

Цитата:

Сообщение от рони
не осилил жаргона

Ага, изображай теперь блондику.

warren buffet 15.08.2016 23:31

Кроме того по обычной деловой практике в торговле ТС должен вывести цены за количество на страницу товара. Без вывода заманихи никакой не будет. Никакой дурак не станет сидеть, набирать циферки чтобы вычислить какую же они дают цену за сколько штук. Идиотизм какой-то.

Это учебный проект что ли или заказчик на самом деле такой тупой?


Часовой пояс GMT +3, время: 08:53.