Loja do fórum

3 participantes

Ir para baixo

Tópico resolvido Loja do fórum

Mensagem por PrisoN†BreaK 07.11.16 20:46

Detalhes da questão


Endereço do fórum: http://exercito-bpf.forumeiro.com
Versão do fórum: PunBB

Descrição


Eu tenho esse código:

Código:
<script type="text/javascript">
      $(function() {
      var produtos = {
 
 
        'Gold Star': {
            icone: 'http://i.imgur.com/taaL40o.png',
            preco: '200',
            descricao: 'Stars WHOA'
        },
 
        'Helmet': {
            icone: 'http://png.findicons.com/files/icons/2169/picnic/70/helmet2.png',
            preco: '250',
            descricao: 'Capacete de batalha'
        },
 
        'Charmander': {
            icone: 'https://i72.servimg.com/u/f72/18/07/42/17/shop_i33.png',
            preco: '250',
            descricao: 'Pokemón tipo fogo'
        }
 
 
      };
 
 
      var content = $('.content .itens');
          $.each(produtos, function (key, value) {
              content.append(
              '<tr class="item">' +
              '  <td class="icone" style="width: 10%;"><img src="' + value.icone + '" /></td>' +
              '  <td style="width: 50%;"><strong class="nome">' + key + '</strong><br /><br />' + value.descricao + '</td>' +
              '  <td>' +
              '  <ul>' +
              '  <li class="preco" data-myprice="' + value.preco + '"><img src="http://i.imgur.com/qdiucii.png" /> Preço: ' + value.preco + ' pontos</li>' +
              '  <br />' +
              '  <li><input type="button" onclick="addToCart(this)" value="Adicionar ao carrinho" /></li>' +
        '  </ul>' +
              '  </td>' +
              '</tr>'
              );
          });
          $.ajax({
            url: '/u' + _userdata.user_id,
            type: 'GET',
            success: function(responseHtml)
            {
            var myPoints = $('#field_id-13 .row_data div', responseHtml).text();
            $('.myPoints').html('Meu saldo de pontos: <span class="totalPoints">' + myPoints + '</span>');
            },
            error: function(err)
            {
              console.log("AJAX error in request (Store points)");
            }
          });
      });
      var $total = 0;
      function addToCart(item) {
        var getItem = $(item).parents('.item').find('.nome').text();
        var getPrice = parseInt($(item).parents('.item').find('.preco').attr('data-myprice'));
        $total += getPrice;
        $('.total').html('Valor total: <span class="totalVal">' + $total + '</span> pontos');
        $('.cart').append('<span class="item-cart" onclick="removeFromCart(this)" data-myprice="' + getPrice + '">' + getItem + '</span>');
      }
      function removeFromCart(item) {
        var getPrice = parseInt($(item).attr('data-myprice'));
        $total -= getPrice;
        $('.total').html('Valor total: <span class="totalVal">' + $total + '</span> pontos');
        $(item).remove();
      }
      function resetItems() {
        $('.cart').empty();
        $total = 0;
        $('.total').empty();
      }
      function buyItems() {
        if(!$('.cart').is(':empty')) {
          var valPoints = parseInt($('.totalPoints').text());
          var valTotal = parseInt($('.totalVal').text());
          if(valPoints >= valTotal) {
          var texto = '';
          var total = 0;
          $('.item-cart').each(function() {
            var item = $(this).text();
            var preco = parseInt($(this).attr('data-myprice'));
            texto += '[b]' + item.charAt(0).toUpperCase() + item.slice(1)
            //add line break at the end
            + ':[/b] ' + preco + " pontos\n";
            total += preco;
          });
          texto += '\n\n[b]Valor total:[/b] ' + total + ' pontos';
          $.post('/post', {
'mode': 'newtopic',
'post': 'Enviar',
 'f': '20',

                'subject': '[Pedido] Itens da loja',
                'message': texto
          }).done(function() {
            alert("Seu pedido foi enviado! Aguarde até que um administrador adicione seus ítens");
            resetItems();
          });
          } else {
            alert("Você não tem pontos suficiente para efetuar a compra");
          }
        } else {
          alert("O carrinho está vazio");
        }
      }
    </script>    <style type="text/css">
    table.content {
      background: #fafafa;
      border: 1px solid #eaeaea;
      border-collapse: separate;
      empty-cells: show;
      table-layout: fixed;
      width: 100%;
    }
    .itens .nome {font-size: 14px;}
    .itens .icone {
    text-align: center;
    }
    .itens .icone img {
      height: 50px;
      width: 50px;
    }
    .item-cart {
      background: orange url(https://cdn0.iconfinder.com/data/icons/very-basic-android-l-lollipop-icon-pack/24/close-16.png) no-repeat 5px;
      margin: 3px 4px;
      cursor: pointer;
      display: inline-block;
      font-weight: bold;
      padding: 5px;
      padding-left: 25px;
      color: white;
      border-radius: 3px;
    }
    table.content tr td {padding: 10px;background: #f0f0f0;border-bottom: 1px solid #e0e0e0;}
    .itens ul li {list-style-type: none;}
    .daemon {
      background: #333;
      text-align: center;
      padding: 10px;
    }
    #cart {
      background: #f0f0f0;
      border: 1px solid #e0e0e0;
      margin-top: 5px;
      padding: 5px;
    }
    .cart {
      background: white url("https://cdn1.iconfinder.com/data/icons/flat-artistic-shopping-icons/32/shopping-32.png") no-repeat 10px center;
      min-height: 50px;
      padding-left: 55px;
      border: 1px solid #ddd;
    }
    .total, .myPoints {font-size: 13px;display: block;margin-top: 5px;font-family: arial;display: block;font-style: italic;font-weight: bold;}
    </style> 
<div class="daemon">
             <span style="color: white;font-size: 28px;font-weight: bold;">Loja</span> 
</div>
   
<table class="content">
                    
   <tbody class="itens">
               
   </tbody>
            
</table>
   
<div id="cart">
                
   <div class="cart">
               
   </div>
             <span class="myPoints"></span>      <span class="total"></span> 
</div>
   
<div class="daemon">
             <input onclick="buyItems()" value="Concluir compra" type="button" />      <input onclick="resetItems()" value="Resetar ítens" type="button" /> 
</div>

Porém, eu mudei o nome de ''Pontos'' para ExGold e agora o código não funciona, fala que eu não tenho pontos suficientes.

https://ajuda.forumeiros.com/t106760-topico-automatico-para-loja-do-forum

http://exercito-bpf.forumeiro.com/h6-loja
PrisoN†BreaK
PrisoN†BreaK
Super Membro

Membro desde : 23/10/2015
Mensagens : 1243
Pontos : 1753

http://brasilplayfreedomofc.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Loja do fórum

Mensagem por Kyo Panda 08.11.16 0:59

Olá,

No script, onde está:

Código:
var myPoints = $('#field_id-13 .row_data div', responseHtml).text();

Tente mudar para:

Código:
var myPoints = $('#field_id-13 dd div', responseHtml).text();

^-^
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Loja do fórum

Mensagem por PrisoN†BreaK 10.11.16 12:45

Olá Kyo, agora fico aparecendo nnnn ao lado das mensagens quando fica um tópico, e ele não fica mais organizado um embaixo do outro, caso queira testar em meu fórum
PrisoN†BreaK
PrisoN†BreaK
Super Membro

Membro desde : 23/10/2015
Mensagens : 1243
Pontos : 1753

http://brasilplayfreedomofc.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Loja do fórum

Mensagem por Kyo Panda 10.11.16 17:54

Eu não consegui reproduzir o erro:

Código:
http://exercito-bpf.forumeiro.com/t263-pedido-itens-da-loja

Os 'n' no código deveriam ser quebras de linha. Eu não sei o que poderia ter causado o problema no seu teste.

Qual navegador está usando?
Kyo Panda
Kyo Panda
Hiper Membro

Membro desde : 08/01/2012
Mensagens : 4641
Pontos : 5939

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Loja do fórum

Mensagem por PrisoN†BreaK 14.11.16 15:00

Era apenas um bug do meu navegador, obrigado.
PrisoN†BreaK
PrisoN†BreaK
Super Membro

Membro desde : 23/10/2015
Mensagens : 1243
Pontos : 1753

http://brasilplayfreedomofc.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Loja do fórum

Mensagem por Cream 14.11.16 16:59

Loja do fórum Symbol10 Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.

Tópico marcado como Resolvido e movido para "Questões resolvidas".
Cream
Cream
Membro Entusiasta

Membro desde : 15/12/2010
Mensagens : 8540
Pontos : 11644

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos