News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Criar uma Popup

Started by chicote, March 12, 2007, 12:48:41 PM

Previous topic - Next topic

chicote

ola meus amigos..ca venho eu com mais umas duvidas..
pois é assim.

eu queria criar dentro da area da shout box um link "smilies", esse link iria abrir uma popup com uns smilies e com o codigo para o pessoal copiar e colar na shout (é mais divertido).

o Problema é que não sei como fazer tal coisa...ja tentei de tudo, até tentei usar o codigo do botão que abre a radio, com umas alterações..mas nada...


alguem pode dar umas dicas como se eu fosse muito burro?(não é que não seja burro lol)

isto secalhar até é facil, mas não tou a consegui ir lá...
vou deixar o codigo que tenho no board index sobre a shou e uma imagem da shou, e deixo tb o shouttemplate, para melhor me poderem dar uma ajudinha...

codinho no boardindex, sobre a shout
// display shoutbox
if (function_exists('smfshout'))
if ($context['user']['is_logged'])
echo '

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2" background="http://www.infodigital.ws/forum/Themes/SoftDark/images/titlebg.gif" height="27">
  <tr>
    <td width="100%" height="27">
    <p align="center"><b>&nbsp; <font color="#ffff33">..:::CANTINHO DA
    CONVERSA:::..</font></b></td>
  </tr>
</table>
<table border="3" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#C0C0C0" width="100%" id="AutoNumber3">
  <tr>
    <td width="100%">
    <p align="left">&nbsp;', smfshout(), '</td>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4">
  <tr>';

margarett

Não tens nada a alterar o BoardIndex. Tens sim de alterar dentro do código da shout...

Agora... Como o fazer não estou a ver. O ideal será encontrares o popup dos smileys mesmo, e ver como funciona. Terás de o modificar para contemplar todos os smileys (o popup "default" só tem os que estão definidos como "popup") e não sei se a shout vai traduzir o código do smiley (:lol: por exemplo) na imagem mesmo...

O ideal é solicitares ao autor do MOD se pode contemplar os smileys...
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

chicote

mas ja agora a propria shout tem popup com smilies???
acho que não....lol
pelo menos ainda não vi...

o que eu tou a tentar é fazer abrir uma outra popup feita por mim, mas tenho tado a tentar com um script que tenho, mas não dá nada, nem o forum abre, dá logo erro...

qual o scrip definido pelo sistema do forum para abri popup's??
dessa forma talvez desse...

eu no meu ver até nem deve ser complicado, mas cm eu não sou informatico até pra mim é complicado...

abraços
chicote

chicote

com o simples codigo de abrir o radio dá, mas abre sempre o radio...

<a href="http://www.infodigital.ws/index.php?action=radio"onclick="window.open(\'', $scripturl, '?action=radio\',\'' .$txt['2003']. '\',\'height=320,width=545\'); return false;">' .$txt['2003']. '</a>


como por este codigo a abrir uma popup em htm ou html situada na pasta do tema???
onde e o que devo alterar???

cumps
chicote

margarett

O popup é uma função javascript de nome: moreSmileys()

Não sei é onde ele é criado...
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

margarett

#5
Afinal já sei :P

Post.template.php
tens lá a função

<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var smileys = [';

foreach ($context['smileys']['popup'] as $smiley_row)
{
echo '
[';
foreach ($smiley_row['smileys'] as $smiley)
{
echo '
["', $smiley['code'], '","', $smiley['filename'], '","', $smiley['js_description'], '"]';
if (empty($smiley['last']))
echo ',';
}

echo ']';
if (empty($smiley_row['last']))
echo ',';
}

echo '];
var smileyPopupWindow;

function moreSmileys()
{
var row, i;

if (smileyPopupWindow)
smileyPopupWindow.close();

smileyPopupWindow = window.open("", "add_smileys", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=480,height=220,resizable=yes");
smileyPopupWindow.document.write(\'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<html>\');
smileyPopupWindow.document.write(\'\n\t<head>\n\t\t<title>', $txt['more_smileys_title'], '</title>\n\t\t<link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/style.css" />\n\t</head>\');
smileyPopupWindow.document.write(\'\n\t<body style="margin: 1ex;">\n\t\t<table width="100%" cellpadding="5" cellspacing="0" border="0" class="tborder">\n\t\t\t<tr class="titlebg"><td align="left">', $txt['more_smileys_pick'], '</td></tr>\n\t\t\t<tr class="windowbg"><td align="left">\');

for (row = 0; row < smileys.length; row++)
{
for (i = 0; i < smileys[row].length; i++)
{
smileys[row][i][2] = smileys[row][i][2].replace(/"/g, \'&quot;\');
smileyPopupWindow.document.write(\'<a href="javascript:void(0);" onclick="window.opener.replaceText(&quot; \' + smileys[row][i][0] + \'&quot;, window.opener.document.forms.', $context['post_form'], '.', $context['post_box_name'], '); window.focus(); return false;"><img src="', $settings['smileys_url'], '/\' + smileys[row][i][1] + \'" alt="\' + smileys[row][i][2] + \'" title="\' + smileys[row][i][2] + \'" style="padding: 4px;" border="0" /></a> \');
}
smileyPopupWindow.document.write("<br />");
}

smileyPopupWindow.document.write(\'</td></tr>\n\t\t\t<tr><td align="center" class="windowbg"><a href="javascript:window.close();\\">', $txt['more_smileys_close_window'], '</a></td></tr>\n\t\t</table>\n\t</body>\n</html>\');
smileyPopupWindow.document.close();
}
// ]]></script>';


Alterar a linha:
foreach ($context['smileys']['popup'] as $smiley_row)
para
foreach ($context['smileys'] as $smiley_row)
deve dar-te TODOS os smileys acho eu...

E depois basta mudares o nome da função para qualquer coisa tipo:
function moreSmileys()
--> function ShoutSmileys()

E o teu botão ser tipo:
<a href="javascript:ShoutSmileys();">Smileys!</a>

Não sei é se isto vai ou não escrever-te os smileys...
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

margarett

ESPERA! isto não é para fazer no Post.template.php!!!

É para transcreveres este código para a shout :P
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

chicote

mas os smilies não quer dizer que seja os que estão no forum...

é assim, eu coloco-os numa pasta no ftp, depois faço essa dita janela que irá abrir em popup, depois coloco la os smilies e o codigo para os usarem na shout,basta copiarem o codigo e colarem na shout...

o que eu não sou capaz é de fazer o codigo para abrir essa popup em html ou htm...

cumps
e obrigado por te disponibilizares para judar...
cumps
chicote

margarett

Para começar se calhar é preferível tentar usar os do fórum...

Abrir o popup é aproveitar a estrutura da função original. Depois podes criar o array com os teus campos personalizados... Se bem que isso já é JS demais para a minha camioneta :P

No que está ali em cima, eu acredito que  ele te vá chapar o código do smiley na shout. E não sei se ela depois o traduz em "imagem". Se isso acontecer... Não sei...
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

chicote

pois...
mas o codigo todo que ali colocaste ja é demais para mim..

seria mais facil da forma que falei, só não sei como fazer abrir uma popup em html com aquele codigo...

margarett

Raios agora deixaste-me curioso ehehehe

Faz backup do teu ficheiro original e depois coloca este em anexo. Já agora quero saber se dá ou não :P
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

chicote


chicote

hehehehe

deu qualquer coisa como..
ve na imagem...

estamos lixados com o java script

mas obrigado amigo pelas tentativas de ajuda, temos que conseguir..

abraços
chicote

margarett

Ora eis que isso não faz sentido nenhum :P

Isso deu logo a mostrar a página, ou só ao carregar no botão?
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

chicote

deu logo ao carregar na pagina...

mas é asssim, eu tenho um file htm na pasta do tema, e tenho um codigo que abre o radio, não dá para alterar esse simples codigo para me abrir em popup esse file htm???


o codigo do radio é este...
<a href="http://www.infodigital.ws/index.php?action=radio"onclick="window.open(\'', $scripturl, '?action=radio\',\'' .$txt['2003']. '\',\'height=320,width=545\'); return false;">' .$txt['2003']. '</a>

se desse para fazer isto é o suficiente..alias, é isto que eu queria....

abraços
chicote

margarett

Isso abre-te uma "action" num popup. Isso também dá para fazer.
http://www.simplemachines.org/community/index.php?topic=23864.0

E até é mais simples... O que eu pensava é que querias manter a ligação aos smileys "originais"
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

margarett

Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

chicote

Quote from: margarett on March 12, 2007, 03:11:09 PM
Mais fácil ainda:
http://custom.simplemachines.org/mods/index.php?mod=331

este mod faz o que??? é que o meu inglês é fraquissimo..???


Quote from: margarett on March 12, 2007, 03:10:35 PM
Isso abre-te uma "action" num popup. Isso também dá para fazer.
http://www.simplemachines.org/community/index.php?topic=23864.0

E até é mais simples... O que eu pensava é que querias manter a ligação aos smileys "originais"

e este pelo que percebi é tenho que criar uma pagina certo???



não deixo de dizer que como eu queria seria muitissimo mais facil, bastava dar..lol


cumps e obrigado

chicote

O Cobra

 ??? ??? Boas, cinseramente, não sei se devia escrever o meu problema aqui, mas como é relacionado com Popup.........

É o seguinte (vou tentar explicar bem), existe alguma maneira de fazer crescer a quadrado da TV? Eu já tentei meter em 600x800 e não consegui, pois só fica com esta medida o Popup da TV, mas a TV em sí, fica igual pequena, com a mesma medida, já corri todo o indextemplate e não encontro nada, só mesmo a medida do popup, algum amigo/a sabe aonde posso encontrar as medidas da TV?? É que neste momento tenho a RTP Internacional a dar directo e recebi já algumas mensagens privadas a pedir.


Desde já, o meu muito obrigado pela atenção dada a este meu problema.

chicote

amigo..
eu não tenho esse mod instalado, mas de certeza que para aumentar o tamanho da tv não é no index.temnplate..
deve ter algum ficheiro que seja o template da tv ou coisa parecida..
no inde.template só da msm para aumentar o tamnho da janela popup...


cumps
chicote

Advertisement: