Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как добавить вторую колонку с ценами (https://javascript.ru/forum/events/67682-kak-dobavit-vtoruyu-kolonku-s-cenami.html)

jsNoob7 02.03.2017 14:28

Как добавить вторую колонку с ценами
 
Вложений: 2
Всем, привет!
Нужна помощь, я в js не рублю, сразу скажу :))
Но задача передо мной поставлена, а значит нужно выполнять.

Что имеем:

Сайт на WP и самописный к нему скрипт javascript, который выводит на страницу с прайсом цены. Цены в свою очередь храняться в текстовом файле txt от куда и подцепляются js и выводится в html.

Что не имеем:

Не имеем вебмастера, который все это чудо запрограммировал.
Не имеем опыта работы c js.

Просьба знатокам помочь. Файлы приложил.

Задача:
Добавить вторую колонку с ценой!
То есть сейчас выводится таллица с одной колонкой для цены, а нужно 2 колонки для цен. (старая цена и новая цена)

jsNoob7 02.03.2017 14:46

Мне кажется вот эта часть отвечает за прайс
function makePrice(ul, hide) {
//  console.log("make price");

  var lastul = $(ul)[0];
  if(lastul != undefined){
    var liArr = $(lastul).find(".page_item ");
    var rowsArr = $.map( liArr, function( li, i ) {

      var children = $(li).find("ul.children");
      if (children.length === 0) {
        link = $(li).find("a");
        var tArr = link.html().split(' ');
        var hrefStr = link.attr('href');
        var tStr = '';
        for (var i = 1; i < tArr.length; i++) {
          tStr += tArr[i] + ' ';
        }
        return '<div class="row bottommargin-sm"><div class="col-sm-1 col-xs-12">'
                + tArr[0] + '</div><div class="col-sm-9 col-xs-12"><a href="' + hrefStr + '">'
                + tStr + '</a></div><div class="col-sm-2 col-xs-12 priceElement" pricecode="'
                + tArr[0] + '"></div></div>';
      } else {
        link = $(li).find("a");
        var html = link.html();
        var hrefStr = link.attr('href');
        return '<div class="row bottommargin-sm"><div class="col-sm-1 col-xs-12">'
                + '</div><div class="col-sm-9 col-xs-12"><strong><a href="' + hrefStr + '">'
                + html + '</a></strong></div><div class="col-sm-2 col-xs-12"></div></div>';

      }
    });
    var lastultable = $('.lastultable');
    if(rowsArr.length > 0){
      lastultable.html('');
      lastultable.append('<div class="row bottommargin-sm hidden-xs" style="color: #999;"><div class="col-sm-1 col-xs-12"><i>код</i></div><div class="col-sm-9 col-xs-12"><i>вид исследования</i></div><div class="col-sm-2 col-xs-12"><i>цена</i></div></div>');
      rowsArr.each(function ( index ) {
        lastultable.append(index);
      });
      lastultable.addClass('dark');
      lastultable.addClass('col-padding-sm');
      lastultable.addClass('ohidden ');
      lastultable.css('background-color', '#34495e;');
    }
    if(hide){
      lastul.html('');
    }
  }

}




function makeOnePrice(header) {
//  console.log("make one price");
  var tArr = header.split(' ');
  var head = '';
  var code = '';
  if(tArr.length > 1){
    code = tArr[0];
    for (var i = 1; i < tArr.length; i++) {
      head += tArr[i] + ' ';
    }
    var lastultable = $('.lastultable');
    var table = '<div class="lastultable dark col-padding-sm ohidden" style="background-color: rgb(52, 73, 94);">'
              + '<div class="row bottommargin-sm hidden-xs" style="color: #999;">'
              + '<div class="col-sm-1 col-xs-12"><i>код</i></div><div class="col-sm-9 col-xs-12"><i>вид исследования</i>'
              + '</div><div class="col-sm-2 col-xs-12"><i>цена</i></div></div><div class="row bottommargin-sm">'
              + '<div class="col-sm-1 col-xs-12">' + code + '</div><div class="col-sm-9 col-xs-12">' + head + '</div>'
              + '<div class="col-sm-2 col-xs-12 priceElement" pricecode="' + code + '">??? р.</div></div>'
              + '<div class="row topmargin-sm" style="color: #999; font-size: 12px;"><div class="col-md-8 col-sm-8 col-xs-12">'
              + '</div><div class="col-md-4 col-sm-4 col-xs-12">'
              + '<a href="#booking-appointment-form" class="go-to-appointment-form" data-scrollto="#booking-appointment-form"'
              + 'data-offset="100" data-easing="easeInOutExpo" data-speed="1200">онлайн заявка</a></div></div></div>';
    lastultable.append(table);
  }
}




function updatePrice(){
//  console.log("update price");
  var url, content;
  url = 'http://domen.ru/wp-content/themes/theme/price/price.txt';
  content = '';
  sendData(url, content, readPrice);
}

function readPrice(textPrice){
//  console.log("read price");
  var stringsArray = textPrice.split("\n");
  var priceArr = new Array();
  var tmp;
  stringsArray.each(function (string, i, arr) {
    tmp = string.split(" ");
    priceArr[ tmp[0] ] = tmp[1];
  });
  implementPrice(priceArr);
}




function implementPrice(priceArr){
//  console.log("implement price");

  $('.priceElement').each(function ( index ) {
    if( $(this).attr('pricecode') in priceArr ){
      $(this).text( priceArr[ $(this).attr('pricecode') ] + ' р.' );
    }else{
      $(this).text( '??? р.' );
    }
  });

}

jsNoob7 02.03.2017 14:49

var table - где формируется (как я догадываюсь) таблица, я пытался вставить еще один div, но эффекта не было )


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