[Ayuda]  Plugin de spoiler+boton en editor de texto
Hola, no se si existe pero estoy buscando un plugin que te permita usar spoiler en el foro y también te inserte su boton correspondiente en el editor...

Hola, no se si existe pero estoy buscando un plugin que te permita usar spoiler en el foro y también te inserte su boton correspondiente en el editor de texto para facilitar su uso a los usuarios.
Gracias
(23 Jul, 2012, 3:58 pm)jtole escribió: Hola, no se si existe pero estoy buscando un plugin que te permita usar spoiler en el foro y también te inserte su boton correspondiente en el editor de texto para facilitar su uso a los usuarios.
Gracias

Puedes Crear un MyCode luego añadir el Boton al Editor..

El MyCode: http://www.mybb-es.com/Hilo-mycode-spoiler-tipo-phpbb3

Añadir Botones al Editor: www.mybb-es.com/Hilo-tutorial-agregar-botones-al-editor-v2
Hola, tal y como comentas he seguido el tuto para crear el spoiler manualmente en mycode y funciona a la perfección, el problema surge a la hora de usarlo con el boton del editor de texto...

También he seguido el tutorial de como poner un boton en el editor de texto, el boton sale perfecto tal y como veis en la imagen:

[Imagen: 1.png]

Cuando pinchas en el boton sale el siguiente mensaje en el que tienes que poner algo ya que si no lo haces se anula la insercion del spoiler, en mi caso puse "prueba":

[Imagen: 2.png]

Una vez aceptas sale el siguiente mensaje que es lo que iria dentro del spoiler:

[Imagen: 3.png]

Por ultimo una vez aceptas y publicas el spoiler pues sale publicado el codigo del spoiler pero como veis en la imagen no cumple con su funcion:

[Imagen: 4.png]

El codigo que he puesto es el del tutorial pero cambiando la palabra "fieldset" por "spoiler".

Alguna sugerencia de como arreglarlo?

Gracias!
(24 Jul, 2012, 7:00 pm)Cluster escribió: instalaste el spoiler?

http://www.mybb-es.com/Hilo-mycode-spoiler-tipo-phpbb3

el codigo no hace nada por si solo, tienes que indicarselo
Si claro el spoiler esta instalado, de echo escribiendo las etiquetas manualmente si que sale el spoiler.
Yo creo que el fallo esta en alguna parte del código del segundo tutorial ya que se ha creado para un fieldset y no para un spoiler.
tu mycode funciona asi?
Código:
[spoiler][/spoiler]
o asi?
Código:
[spoiler=xxxxxxx][/spoiler]
:)
Pues tengo puesto esto:

Código:
\[spoiler\](.*?)\[/spoiler\]
vez la diferencia con lo que posteaste? pega aqui todo tu MyCode Wink
:)
(25 Jul, 2012, 12:33 pm)Cluster escribió: vez la diferencia con lo que posteaste? pega aqui todo tu MyCode Wink

Codigo expresion regular:
Código:
\[spoiler\](.*?)\[/spoiler\]

Codigo reemplazar por:
Código:
<div style="padding: 3px; background-color: #FFFFFF; border: 1px solid #d8d8d8; font-size: 1em;"><div style="text-transform: uppercase; border-bottom: 1px solid #CCCCCC; margin-bottom: 3px; font-size: 0.8em; font-weight: bold; display: block;"><span onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') {  this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerHTML = '<b>Spoiler: </b><a href=\'#\' onClick=\'return false;\'>Ocultar</a>'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerHTML = '<b>Spoiler: </b><a href=\'#\' onClick=\'return false;\'>Mostrar</a>'; }" /><b>Spoiler: </b><a href="#" onClick="return false;">Mostrar</a></span></div><div class="quotecontent"><div style="display: none;">$1</div></div></div>

Ahora el codigo puesto en editor.js segun los pasos del tutorial de agregar botones:

Código:
{type: 'separator'},
{type: 'button', name: 'spoiler', sprite: 'spoiler', insert: 'spoiler', title: "Inserta un spoiler con leyenda"}

Código:
insertSPOILER: function()
{
selectedText = this.getSelectedText($(this.textarea));
spoiler = prompt("Inserta la leyenda", "");

if(spoiler)
{
if(!selectedText)
{
title = prompt("Inserta tu texto", "");
}
else
{
title = selectedText;
}

if(title)
{
this.performInsert("[spoiler="+spoiler+"]"+title+"[/spoiler]", "", true, false);
}
else
{
this.performInsert("[spoiler]"+spoiler+"[/spoiler]", "", true, false);
}
}
},

Código:
case "spoiler":
this.insertSPOILER();
break;

Asi es como lo tengo, ¿que es lo que está mal?
esta mal que tu codigo no ocupo el pop-up para agregar un titulo... en todo caso tendrias que cambiar tu MyCode por algo asi

Código:
\[spoiler=(.*?)\](.*?)\[/spoiler\]

Codigo reemplazar por:
Código:
<div style="padding: 3px; background-color: #FFFFFF; border: 1px solid #d8d8d8; font-size: 1em;"><div style="text-transform: uppercase; border-bottom: 1px solid #CCCCCC; margin-bottom: 3px; font-size: 0.8em; font-weight: bold; display: block;"><span onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') {  this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerHTML = '<b>$1: </b><a href=\'#\' onClick=\'return false;\'>Ocultar</a>'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerHTML = '<b>$1: </b><a href=\'#\' onClick=\'return false;\'>Mostrar</a>'; }" /><b>$1: </b><a href="#" onClick="return false;">Mostrar</a></span></div><div class="quotecontent"><div style="display: none;">$2</div></div></div>
:)