Tópico automático para loja do fórum
5 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Tópico automático para loja do fórum
Detalhes da questão
Endereço do fórum: brasilplayfreedom.forumeiro.com/forum
Versão do fórum: PunBB
Descrição
Bom, eu gostaria de saber se é possível cria um loja de itens no fórum e em vez dela manda MP pro administrador falando sobre a compra, criasse um tópico automaticamente em um determinado setor com, nome, valor e informações do item em geral.
Re: Tópico automático para loja do fórum
Olá leia esse tópico https://ajuda.forumeiros.com/t100454-transferir-postagem-para-novo-topico
Veja se resulta.
Até mais
Veja se resulta.
Até mais
Re: Tópico automático para loja do fórum
Harleen, o problema é que o código fornecido nesse tópico, fala que eu não tenho pontos suficientes para efetua a compra, sendo que eu tenho 8000 pontos, e ta com o nome ExGold, pode ser isso?
Re: Tópico automático para loja do fórum
Aqui está:
http://brasilplayfreedom.forumeiro.com/h6-loja
- 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: 'http://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 dd', 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': '18',
'subject': 'Pedido 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 type="button" value="Concluir compra" onclick="buyItems()" /> <input type="button" value="Resetar ítens" onclick="resetItems()" />
</div>
http://brasilplayfreedom.forumeiro.com/h6-loja
Re: Tópico automático para loja do fórum
Troque por este:
Procure por $.post, terá 't': '24', altere o 24 pelo valor do tópico que deseja que será respondido nesse tópico os pedidos da loja.
Até mais.
- 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: 'http://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 dd', 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': 'reply',
'post': 'Enviar',
't': '24',
'subject': 'Pedido 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 type="button" value="Concluir compra" onclick="buyItems()" /> <input type="button" value="Resetar ítens" onclick="resetItems()" />
</div>
Procure por $.post, terá 't': '24', altere o 24 pelo valor do tópico que deseja que será respondido nesse tópico os pedidos da loja.
Até mais.
Última edição por while em 17.09.16 18:41, editado 1 vez(es)
Re: Tópico automático para loja do fórum
Sem resultado while, continua falando que não tenho pontos, sendo que tenho.
https://imgur.com/a/uUlDW
https://imgur.com/a/uUlDW
Re: Tópico automático para loja do fórum
PrisoN†BreaK escreveu:Sem resultado while, continua falando que não tenho pontos, sendo que tenho.
https://imgur.com/a/uUlDW
Claro que não irá funcionar, você está usando o perfil IPB.
Até mais.
Re: Tópico automático para loja do fórum
Obrigado, Cepheus, mas não tem nenhuma forma de funcionar com o perfil IPB?
Re: Tópico automático para loja do fórum
Tem, mas você precisará inspecionar o campo dos pontos no perfil, e determinar ele no código da loja,
Mais precisamente nessa parte do código:
Como visitantes não tem acesso ao perfil do seu fórum não posso dizer qual seria o elemento a selecionar.
Mas só seguir o que foi dito acima.
Até mais...
Mais precisamente nessa parte do código:
- Código:
var myPoints = $('#field_id-13 dd', responseHtml).text();
Como visitantes não tem acesso ao perfil do seu fórum não posso dizer qual seria o elemento a selecionar.
Mas só seguir o que foi dito acima.
Até mais...
Re: Tópico automático para loja do fórum
Não entendi bem oque você quis dizer, mais aqui uma conta teste:
Teste01
Senha: 352146
Teste01
Senha: 352146
Re: Tópico automático para loja do fórum
Troque seu código por esse:
- 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: 'http://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': 'reply',
'post': 'Enviar',
't': '21',
'subject': 'Pedido 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 type="button" value="Concluir compra" onclick="buyItems()" /> <input type="button" value="Resetar ítens" onclick="resetItems()" />
</div>
Re: Tópico automático para loja do fórum
Resultou, porém não ta criando o tópico.
http://brasilplayfreedom.forumeiro.com/h6-loja
O tópico deveria ser criado aqui:
http://brasilplayfreedom.forumeiro.com/f20-o-pedidos
http://brasilplayfreedom.forumeiro.com/h6-loja
O tópico deveria ser criado aqui:
http://brasilplayfreedom.forumeiro.com/f20-o-pedidos
Re: Tópico automático para loja do fórum
Primeiramente encontre essa área no código: $.post
Configure esse trecho do código:
O código está configurado para postar em um tópico já existente,
no caso o: http://brasilplayfreedom.forumeiro.com/t21-
Porem o mesmo não existe.
Precisa ser um tópico valido, exemplo de tópico valido: http://brasilplayfreedom.forumeiro.com/t186-
Agora se você quer que ele crie um tópico em um fórum você precisa alterar a parte citada acima deixando os valores assim:
Porem acessando esse endereço, ele também não existe.
Exemplo de sub-forum valido: http://brasilplayfreedom.forumeiro.com/f5-
Você precisará determinar um sub-fórum valido.
Se não o código não irá funcionar.
Até mais.
Configure esse trecho do código:
- Código:
'mode': 'reply',
'post': 'Enviar',
't': '21',
O código está configurado para postar em um tópico já existente,
no caso o: http://brasilplayfreedom.forumeiro.com/t21-
Porem o mesmo não existe.
Precisa ser um tópico valido, exemplo de tópico valido: http://brasilplayfreedom.forumeiro.com/t186-
Agora se você quer que ele crie um tópico em um fórum você precisa alterar a parte citada acima deixando os valores assim:
- Código:
'mode': 'newtopic',
'post': 'Enviar',
'f': '20',
Porem acessando esse endereço, ele também não existe.
Exemplo de sub-forum valido: http://brasilplayfreedom.forumeiro.com/f5-
Você precisará determinar um sub-fórum valido.
Se não o código não irá funcionar.
Até mais.
Re: Tópico automático para loja do fórum
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para "Questões resolvidas". |
Tópicos semelhantes
» Título do Tópico da Loja do Fórum
» Loja para forum
» Gerar e-mail automático para usuários do fórum
» Redimensionamento do fórum para um tópico
» Forúm ir direto para o tópico
» Loja para forum
» Gerar e-mail automático para usuários do fórum
» Redimensionamento do fórum para um tópico
» Forúm ir direto para o tópico
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos