Formulário de postagens

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Formulário de postagens

Mensagem por Alex Habilidade em 29/02/12, 10:42 am

Qual é minha questão:
Eu queria colocar no meu fórum as opções igual do fórumeiro, por exemplo:

quando você vai criar um topico na área de design aparece um formulario para você preencher de como quer (cores, imagens etc), eu queria colocar isso no meu forum apenas na área de design, como faço isso?

Medidas que eu tomei para corrigir o problema:
vim aki

Links e imagens do meu problema:
...

Endereço do meu fórum:


Versão do meu fórum:
PHPBB2
avatar

Alex Habilidade
Usuário experiente

Masculino
Inscrito dia : 10/01/2011
Mensagens : 2795
Pontos Ativos : 3774

Ver perfil do usuário http://www.gzhabilidade.com/

Resolvido Re: Formulário de postagens

Mensagem por Onsonish em 29/02/12, 11:07 am

Olá,

Leia este Tutorial:
:seta2: [TUTORIAL]

P.S: Este tópico deve-se situar nas questões de código e não aqui.

Até mais! Piscada
avatar

Onsonish
Nível 5

Feminino
Inscrito dia : 18/12/2010
Mensagens : 39
Pontos Ativos : 74

Ver perfil do usuário http://forum-habbet.umforum.net/

Resolvido Re: Formulário de postagens

Mensagem por Alex Habilidade em 29/02/12, 11:15 am

é dificil pode mandar um pronto com base no fdf na parte de design?
avatar

Alex Habilidade
Usuário experiente

Masculino
Inscrito dia : 10/01/2011
Mensagens : 2795
Pontos Ativos : 3774

Ver perfil do usuário http://www.gzhabilidade.com/

Resolvido Re: Formulário de postagens

Mensagem por Troubleshoot em 29/02/12, 11:25 am

Olá , aqui esta o código utilizado :
Código:
<div id="main-content"><br><style>
.previsu {
 background: url('http://sd-1.archive-host.com/membres/images/142586199450897653/LFD/vide.png');
 border: 1px solid #1675BC;
 display: none;
 position: absolute;
 top: 350px;
 margin: auto;
 margin-left: 150px !important;
}
 .previsuimg {
 position: relative;
 }
 .previsuimg div {
 position: absolute; top: 30px; left: -10px; border: 3px double #E0E0E0; background: rgba(250, 250, 250, 0.9);
 }


#addimage .part { background: url(http://i46.tinypic.com/2wrdc42.jpg) no-repeat -235px -600px; width: 60px; height: 20px;}
#addimage .more { background: url(http://i46.tinypic.com/2wrdc42.jpg) no-repeat 0px 2px; width: 12px; height: 20px; cursor:pointer;}
.image .part { background: url(http://i46.tinypic.com/2wrdc42.jpg) no-repeat -235px -548px; width: 60px; height: 20px;}
.image .remove { float: left;background: url(http://i46.tinypic.com/2wrdc42.jpg) no-repeat 0px -286px;padding-left: 16px;width: 12px; height: 20px; cursor:pointer;position: relative;top:3px;}
.image .previsualise { float: left;background: url(http://i46.tinypic.com/2wrdc42.jpg) no-repeat -50px -436px; margin-left: 5px; padding-left: 16px;width: 12px; height: 20px; cursor:pointer;position: relative;top:3px;}

 .image { width: 300px; }

</style>

<script type="text/javascript" src="http://jscolor.com/jscolor/jscolor.js"></script>
<script>


function gerartitulo() {
 var tipo = document.getElementById("tipo").value;

switch(tipo) {
 case '[Avatar] ':
 tipob = 'Avatar';
 jQuery('input[name="f"]').val('17');
 break;
 case '[Assinatura] ':
 tipob = 'Assinatura';
  jQuery('input[name="f"]').val('17');
 break;
 case '[Userbar] ':
 tipob = 'Userbar';
  jQuery('input[name="f"]').val('17');
 break;
 case '[Banner] ':
 tipob = 'Banner';
  jQuery('input[name="f"]').val('17');
 break;
 case '[Logo] ':
 tipob = 'Logo';
  jQuery('input[name="f"]').val('17');
 break;

case '[Menu] ':
case '[Botões] ':
case '[Ícones] ':
case '[Ranks] ':
jQuery('input[name="f"]').val('17');
 break;

case '[Outros] ':
case '[Imagem] ':
jQuery('input[name="f"]').val('17');
 break;
 }

 var cor = document.getElementById("cor").value;
 var tamanho = document.getElementById("tamanho").value;
 var texto = document.getElementById("texto").value;
 var textotonalidade = document.getElementById("textotonalidade").value;
 var cortonalidade = document.getElementById("cortonalidade").value;

jQuery("input[name=subject]").attr('value', tipo+cor+cortonalidade+tamanho+texto+textotonalidade);
 jQuery("#titlecode").html(tipo+cor+cortonalidade+tamanho+texto+textotonalidade);

if(tipo == "[Avatar] " || tipo == "[Assinatura] " || tipo == "[Userbar] " || tipo == "[Banner] " || tipo == "[Logo] ") {
 jQuery('#size_extra optgroup').css('display','block');
 jQuery('#size_extra optgroup[label!=' + tipob + ']').css('display','none');
 jQuery('#size_extra_span').css('display','block');
 }
 else {
 jQuery('#size_extra_span').css('display','none');
 }
}
imagensdopedido = '';

function gerarpedido() {
 gerartitulo();
 var cordofundo = document.getElementById("fundo").value;
 var cordafonte = document.getElementById("fontecor").value;
 var nomedafonte = (document.getElementById("fonte").value == '') ? document.getElementById("fonteNome").value : document.getElementById("fonte").value;
 var tipodeanimacao = (document.getElementById("animacao").value == '') ? document.getElementById("animacaoNome").value : document.getElementById("animacao").value;
 var tipodemoldura = (document.getElementById("moldura").value == '') ? document.getElementById("molduraNome").value : document.getElementById("moldura").value;
 var descricaodopedido = document.getElementById("adicionais").innerHTML;
 var descricaodopedido = document.getElementById("adicionais").value;
 var dimensaoA = document.getElementById("dimensoesA").value;
 var dimensaoL = document.getElementById("dimensoesL").value;

var dimensaof = (document.getElementById("size_extra").value == '') ? dimensaoL + ' x ' + dimensaoA + ' px' : document.getElementById("size_extra").value;

var urlforum = document.getElementById("urlforum").value;

finalmessage = '[b]Endereço do fórum :[/b] [url]'+ urlforum + '[/url]\n[b]Imagens a serem usadas :[/b] ' + imagensdopedido + '\n [b]Dimensões :[/b] ' + dimensaof +' \n[b]Cor do fundo :[/b] #' + cordofundo + '\n[b]Cor da fonte :[/b] #' + cordafonte + '\n[b]Fonte :[/b] ' + nomedafonte + '\n[b]Animação :[/b] ' + tipodeanimacao + '\n[b]Moldura :[/b] ' + tipodemoldura + '\n[b]Descrição do trabalho :[/b] ' + descricaodopedido;


jQuery("input[name=message]").attr('value', finalmessage);
}

function outra(id) {
 var inputID = id+"Nome";
 (document.getElementById(id).value == '') ? document.getElementById(inputID).style.display = 'inline' : document.getElementById(inputID).style.display = 'none';
 document.getElementById(inputID).focus();
}

 function removeimg(obj) {
 obj.parent().parent().remove();
 update_img();
 }
 function addimg() {
 $('#addimage').before('<tr class=image><td class=part></td><td><input style="float:left; display: inline; background-color: #ffffff;border: 1px solid #BCBCBC;color: #666666;padding: 2px;cursor: text;" type=text name=images id="Imagens_AddMore" onchange="update_img_list()" /> <div class="previsualise"></div> <div class="remove" onClick="removeimg($(this))"></div><div class="previsuimg"><div></div></div></td></tr>');
 $('#addimage').prev().find('.previsualise').hover(
 function () {
 $(this).parent().find('.previsuimg').html('<div><img src="'+encodeURI($(this).parent().find('input').attr('value'))+'" /></div>').find('div').css('display','block');
 },
 function () {
 $(this).parent().find('.previsuimg div').css('display','none');
 }
 );
 update_img();
 }
 function update_img() {
 if($('.image').length<2) $('.image .remove').hide();
 else $('.image .remove').show();
 update_img_list();
 }

function update_img_list() {
 imagensdopedido = '';
 jQuery('input[name=images]').each( function(index) {
if($(this).val() != '') {
 imagensdopedido = imagensdopedido + $(this).val() + ' ; ';
}
 });
 gerarpedido();
 }

gerartitulo();
gerarpedido();

</script>
 <h1 class="page-title">Formulário de pedidos gráficos</h1>
 <div class="panel row2"><div class="inner"><span class="corners-top"><span></span></span>
 <div class="h3" style="margin-top: 7px;">Sobre o formulário</div>
 <p style="font-size: 12px;">O presente formulário foi criado com o objetivo de promover uma maior organização dos pedidos feitos na seção gráfica deste fórum. Em cada uma das divisões abaixo poderá encontrar uma parte do código, a primeira caixa - "Informações gerais" - vale para o título e a segunda para o corpo da mensagem. Assim que tudo estiver feito, poderá enviar o pedido, que será postado automaticamente. Se necessitar de alguma modificação, poderá fazer editando a sua mensagem. Lembre-se somente que antes de fazer um pedido, é recomendado ver a <a href="http://ajuda.forumeiros.com/t32850-regras-e-afins-da-secao-de-criacoes-graficas">Regras da seção de criações gráficas!</a>.

</p><span class="corners-bottom"><span></span></span>
 </div>
 </div>

 <div class="clear" style="height: 6px;"></div>


<div class="panel"><div class="inner"><span class="corners-top"><span></span></span><div class="h3" style="margin-top: 7px;">Informações gerais</div>

<form action="/posting.forum" method="post" id="fa_form" name="Pedidos" onsubmit="return ValidarFormulario();">
 <fieldset class="fields1">

<dl><dt>
 <label>Tipo de pedido :</label></dt><dd><select id="tipo" tabindex="1" onchange="gerartitulo();" name="tipoPedido">
 <option value=""></option>
 <option value="[Avatar] ">Avatar</option>


<option value="[Assinatura] ">Assinatura</option>
 <option value="[Userbar] ">Userbar</option>
 <option value="[Banner] ">Banner</option>
 <option value="[Logo] ">Logo</option>
 <option value="[Botões] ">Botões</option>
 <option value="[Ícones] ">Ícones</option>

 <option value="[Ranks] ">Ranks</option>
 <option value="[Outros] ">Outros</option>
 </select></dd></dl>

<dl><dt>
 <label>Cor geral :</label></dt><dd><select id="cor" tabindex="2" onchange="gerartitulo();">

 <option value=" "></option>

<option value="Vermelho">Vermelho</option>
 <option value="Verde">Verde</option>
 <option value="Amarelo">Amarelo</option>
 <option value="Azul">Azul</option>
 <option value="Roxo">Roxo</option>

 <option value="Rosa">Rosa</option>

<option value="Laranja">Laranja</option>
 <option value="Branco">Branco</option>
 <option value="Preto">Preto</option>
 <option value="Cinza">Cinza</option>
 <option value="Marrom">Marrom</option>

 <option value="Transparente">Transparente</option>

<option value="">Nenhuma da lista</option></select> <select id="cortonalidade" onchange="gerartitulo();">
 <option value=""></option>
 <option value="">Normal</option>
 <option value=" claro">Claro</option>
 <option value=" escuro">Escuro</option></select></dd></dl>


<dl><dt>
 <label>Tamanho geral :</label></dt><dd><select id="tamanho" tabindex="3" onchange="gerartitulo();">

<option value=" "></option>
 <option value=" - Pequeno ">Pequeno</option>
 <option value=" - Médio ">Médio</option>
 <option value=" - Grande ">Grande</option></select></dd></dl>

<dl><dt>

 <label>Cor geral do texto :</label></dt><dd><select id="texto" tabindex="4" onchange="gerartitulo();">
 <option value=" "></option>

<option value="- Texto vermelho ">Vermelho</option>
 <option value="- Texto verde ">Verde</option>
 <option value="- Texto amarelo ">Amarelo</option>
 <option value="- Texto azul ">Azul</option>

 <option value="- Texto roxo ">Roxo</option>
 <option value="- Texto rosa ">Rosa</option>

<option value="- Texto laranja ">Laranja</option>
 <option value="- Texto branco ">Branco</option>
 <option value="- Texto preto ">Preto</option>
 <option value="- Texto cinza ">Cinza</option>

 <option value="- Texto marrom ">Marrom</option>
 <option value="">Nenhuma da lista</option></select> <select id="textotonalidade" onchange="gerartitulo();">

<option value=""></option>
 <option value="">Normal</option>
 <option value=" claro">Claro</option>
 <option value=" escuro">Escuro</option></select></dd></dl>


</fieldset>
 <span class="corners-bottom"><span></span></span></form></div></div>

<div class="clear" style="height: 6px;"></div>
 <div class="panel"><div class="inner"><span class="corners-top"><span></span></span>
 <div class="h3" style="margin-top: 7px;">Informações específicas</div>

<fieldset class="fields1">

<dl><dt>
 <label>Imagens a serem usadas :</label></dt>

 <dd>Indique o endereço da imagem a usar. Caso necessite de mais imagens, carregue em +, para que o endereço seja validado. Este irá desaparecer, e poderá então adicionar outro endereço.
 <table>
 <tbody><tr class="image zebraDois"><td class="part"></td><td><input style="float:left; display: inline; background-color: #ffffff;border: 1px solid #BCBCBC;color: #666666;padding: 2px;cursor: text;" type="text" name="images" id="Imagens_AddMore" onchange="update_img_list()"> <div class="previsualise"></div> <div class="remove" onclick="removeimg($(this))" style="display: none; "></div><div class="previsuimg"><div></div></div></td></tr><tr id="addimage" class="zebraUm">
 <td class="part"></td>
 <td>
 <div class="more" onclick="addimg()"></div>

</td>
 </tr>
 </tbody></table>


<script type="text/javascript">addimg()</script>

</dd></dl>
 <dl><dt>
 <label>Dimensões :</label></dt>
 <dd> <input class="inputbox" type="text" id="dimensoesL" tabindex="6" onchange="gerarpedido();" style="width: 30px; clear: both;">

px (largura) X
 <input class="inputbox" type="text" id="dimensoesA" tabindex="7" onchange="gerarpedido();" style="width: 30px;"> px (altura) </dd><dd> <span id="size_extra_span" style="display: none; "> Tamanhos padrões do tipo de pedido escolhido : <select id="size_extra">

 <option value=""></option>
 <optgroup label="Avatar">
 <option value="120 x 120 px">120 x 120 px</option>
 <option value="100 x 120 px">100 x 120 px</option>

<option value="120 x 160 px">120 x 160 px</option>
 <option value="140 x 180 px">140 x 180 px</option>
 <option value="140 x 200 px">140 x 200 px</option>

 <option value="150 x 180 px">150 x 180 px</option>
 <option value="150 x 200 px">150 x 200 px</option>
 </optgroup>

<optgroup label="Assinatura">
 <option value="400 x 120 px">400 x 120 px</option>
 <option value="400 x 150 px">400 x 150 px</option>
 <option value="450 x 150 px">450 x 150 px</option>

 </optgroup>
 <optgroup label="Userbar">
 <option value="350 x 19 px">350 x 19 px</option>

</optgroup>
 <optgroup label="Banner">
 <option value="70 x 30 px">70 x 30 px</option>
 <option value="90 x 15 px">90 x 15 px</option>

 <option value="120 x 60 px">120 x 60 px</option>
 <option value="150 x 50 px">150 x 50 px</option>
 <option value="468 x 60 px">468 x 60 px</option>

</optgroup>
 <optgroup label="Logo">
 <option value="600 x 200 px">600 x 200 px</option>
 <option value="750 x 200 px">750 x 200 px</option>

 <option value="800 x 220 px">800 x 220 px</option>
 <option value="150 x 50 px">830 x 200 px</option>
 </optgroup>

</select></span>
 </dd></dl>

<dl><dt>
 <label>Endreço do seu fórum :</label></dt>

 <dd>Lembre-se que se se não possuir um endereço válido, seu pedido será recusado!<br>
 <input class="inputbox" type="text" id="urlforum" tabindex="8" onchange="gerarpedido();" style="width: 300px; clear: both;">
 </dd></dl>


<dl><dt>
 <label>Cor do fundo :</label></dt>

<dd>Código hexadecimal da cor que deverá ser usada :<br>
 <input type="text" tabindex="9" onchange="gerarpedido();" class="inputbox color champ" value="FFFFFF" id="fundo" name="couleur_fond" maxlength="7" onblur="this.style.borderColor='#FFFFFF'" onfocus="this.style.borderColor='#FFFFFF'" style="width: 70px; background-attachment: initial; background-origin: initial; background-clip: initial; background-image: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); background-position: 100% 50%; background-repeat: no-repeat no-repeat; " autocomplete="off">
 </dd></dl>


<dl><dt>
 <label>Cor da fonte :</label></dt>
 <dd>Código hexadecimal da cor que deverá ser usada :<br>
 <input type="text" tabindex="10" onchange="gerarpedido();" class="inputbox color champ" value="FFFFFF" id="fontecor" name="couleur_fond" maxlength="7" onblur="this.style.borderColor='#FFFFFF'" onfocus="this.style.borderColor='#FFFFFF'" style="width: 70px; background-attachment: initial; background-origin: initial; background-clip: initial; background-image: none; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); background-position: 100% 50%; background-repeat: no-repeat no-repeat; " autocomplete="off">
 </dd></dl>

<dl><dt>

<label>Fonte :</label></dt><dd><select id="fonte" tabindex="11" onchange="outra('fonte'); gerarpedido();">
 <option value=" "></option>

 <option value="Arial" style="font-family: Arial;">Arial</option>
 <option value="Arial Black" style="font-family: Arial Black;">Arial Black</option>
 <option value="Comic Sans MS" style="font-family: Comic Sans MS;">Comic Sans MS</option>
 <option value="Courier New" style="font-family: Courier New;">Courier New</option>

<option value="Georgia" style="font-family: Georgia;">Georgia</option>
 <option value="Times New Roman" style="font-family: Times New Roman;">Times New Roman</option>

 <option value="Calibri" style="font-family: Calibri;">Calibri</option>
 <option value="Trebuchet MS" style="font-family: Trebuchet MS;">Trebuchet MS</option>
 <option value="Verdana" style="font-family: Verdana;">Verdana</option>
 <option value="Visitor TTK 2" style="font-family: Visitor TTK 2;">Visitor TTK 2 (usada em Userbars)</option>

<option value="">Outra</option>
 </select> <input id="fonteNome" style="display: none; width: 400px;" class="inputbox" value="Qual?" onclick="if (this.value == 'Qual?') this.value = '';" onblur="if (this.value == '') this.value = 'Qual?';" onchange="gerarpedido();" onfocus="if (this.value == 'Qual?') this.value = '';"></dd></dl>


<dl><dt>
 <label>Animação :</label></dt><dd><select id="animacao" tabindex="12" onchange="outra('animacao'); gerarpedido();">
 <option value=" "></option>
 <option value="Não">Não</option>
 <option value="">Sim</option>

</select> <input id="animacaoNome" style="display: none; width: 400px;" class="inputbox" value="Como?" onclick="if (this.value == 'Como?') this.value = '';" onblur="if (this.value == '') this.value = 'Como?';" onchange="gerarpedido();" onfocus="if (this.value == 'Como?') this.value = '';"></dd></dl>

<dl><dt>

 <label>Moldura :</label></dt><dd><select id="moldura" tabindex="13" onchange="outra('moldura'); gerarpedido();">
 <option value=" "></option>
 <option value="Não">Não</option>
 <option value="">Sim</option>
 </select> <input id="molduraNome" style="display: none; width: 400px;" class="inputbox" value="Como?" onclick="if (this.value == 'Como?') this.value = '';" onblur="if (this.value == '') this.value = 'Como?';" onchange="gerarpedido();" onfocus="if (this.value == 'Como?') this.value = '';"></dd></dl>

<dl><dt>
 <label>Descrição do trabalho :</label></dt>

 <dd><textarea class="inputbox" id="adicionais" tabindex="14" onchange="gerarpedido();" style="clear: both; height: 100px; width: 500px;">Deseja alguma mensagem escrita na imagem? Se sim, não se esqueça de citar aqui!</textarea></dd></dl>

</fieldset>

<input type="hidden" name="message">
 <input type="hidden" name="subject" value="  " onblur="shh()">
 <input type="hidden" name="mode" value="newtopic">
 <input type="hidden" name="f" value="17">
 <input type="hidden" name="lt" value="0">


<span class="corners-bottom"><span></span></span></div></div>


<div class="panel"><div class="inner"><span class="corners-top"><span></span></span>
 <fieldset class="submit-buttons"><input value="Enviar seu pedido gráfico" type="submit" class="button1" name="post"></fieldset>
 <span class="corners-bottom"><span></span></span></div>

<script>gerartitulo();</script></div></div></div>

1.Criar uma página HTML para suportar o formulário:
Para o nosso formulário será preciso criar uma página HTML personalizada. Lembre-se de que é preciso que ela tenha o topo e o fim do fórum, para que seja possível usar os recursos do jQuery, necessários no formulário. Dê à página o título que desejar, ele não terá efeitos neste momento. Para aprender a criar uma página HTML basta ler o seguinte tutorial:
:seta2: http://ajuda.forumeiros.com/t7967-faq-criar-uma-pagina-inicial-html-personalizada


2.Ativar o formulário nos fóruns desejados:
Agora deverá criar uma nova página HTML com o seguinte código:
jQuery(document).ready(function() {
if(window.location.href.match(/-f/((?|#).+)?/)) {
jQuery('a[href^="/post?f=3&mode=newtopic"]').attr('href', 'endereço da primeira página HTML com o formulário');
}
});
Deverá alterar o valor em vermelho para o fórum em que deverá aparecer o botão com esta nova função, o valor numérico pode ser obtido acessando o fórum em questão, verá que no final do endereço existe: -f4 por exemplo, neste caso deverá pegar o 4 e substituir!

No endereço da página deverá colocar o endereço da nova página que criamos para o formulário HTML, que deve estar salva. Feito isso agora temos que fazê-la funcionar em todo o fórum, para que quando o fórum ou o tópico pertecer ao fórum indicado o botão Novo terá a nova função. Para isso devemos copiar o endereço dessa nova página HTML que acabamos de criar que contém o código dos fóruns, provavelmente, se não criou outras páginas, ela será a -h2! Depois somente é necessário aceder a:
Painel de controle -> Geral -> Fórum -> Configuração

No campo descrição do site deverá adicionar antes de tudo o seguinte código, substituindo o que está em vermelho pelo link da página que criamos, que deve ser a -h2!
<script src="Endereço da página"></script>
Exemplo:
<script src="http://ajuda.forumeiros.com/h2-testes"></script>

Resulta ?

Até mais.Piscada
avatar

Troubleshoot
Usuário experiente

Masculino
Inscrito dia : 25/09/2011
Mensagens : 2197
Pontos Ativos : 2940

Ver perfil do usuário http://guiatecnico.ativo-forum.com/

Resolvido Re: Formulário de postagens

Mensagem por Alex Habilidade em 01/03/12, 02:30 pm

valew Piscada
avatar

Alex Habilidade
Usuário experiente

Masculino
Inscrito dia : 10/01/2011
Mensagens : 2795
Pontos Ativos : 3774

Ver perfil do usuário http://www.gzhabilidade.com/

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum