2016-05-01 29 views
0

Ich habe phpbb 3.1.9PHPBB Tag SPOIL hinzufügen. Lightbox funktioniert nicht

Ich werde neue BBCode [Verderben] mit nativen Funktionen (aus dem Admin-Bereich) hinzufügen.

Ich habe folgende:

[spoiler={TEXT1}]{TEXT2}[/spoiler] 

<div style="margin: 8px auto; border: 1px solid #C3CBD1; border-left-width: 2px"> 
    <div style="background: #E9E9E6; height: 19px; font-size: 0.9em; font-weight: bold; cursor: pointer" onclick="hidn = this.parentNode.getElementsByTagName('div')[1]; btn = this.getElementsByTagName('img')[0]; if (hidn.style.display != '') { hidn.style.display = ''; orimg = btn.src; btn.src = 'data:image/gif;base64,R0lGODlhCQAJAMQeAOLt+ff8//z+/4CRxo2by7vF6a254X6PxICQw87a74CQxuXo84CQxM/b7/H6/v7+/oGRxouayoGSxv7+/8LN7IqZyv7//4KSxur0/MrV74OTx9Ld8trl9gwMDP///wAAACH5BAEAAB4ALAAAAAAJAAkAAAU4oFcpwzFAkWgUVLZxCQGxLgdgGtS+t6NJmY5QOEFcNo/kZGLRXGwYR0DQjDSiU8uCIJJIGJdLKgQAOw=='; } else { hidn.style.display = 'none'; btn.src = orimg; }"> 
<a href="data:image/gif;base64,R0lGODlhCQAJAMQfAIqZyoGSxv3+/trl84CQxYCRxn6PxMXQ7efq9H+Pwtnk8oKTxoCQxKy44QAAANvl9rvG6fD5/o2by4GRxvb8//v9//7+/ubw+v39/ouayoKSxoOTx/7+/wwMDP///////yH5BAEAAB8ALAAAAAAJAAkAAAU84AdoGkNmX4Z4HldRirSxXMdF1zK7nXU9mk2t4+h0BIlNhWPpYTCBDQXXwRwggczgJ8BAGhLRZGIoEFAhADs=" data-lightbox="post-gallery">  
<img style="margin: 0; padding: 5px 5px 0" src="data:image/gif;base64,R0lGODlhCQAJAMQfAIqZyoGSxv3+/trl84CQxYCRxn6PxMXQ7efq9H+Pwtnk8oKTxoCQxKy44QAAANvl9rvG6fD5/o2by4GRxvb8//v9//7+/ubw+v39/ouayoKSxoOTx/7+/wwMDP///////yH5BAEAAB8ALAAAAAAJAAkAAAU84AdoGkNmX4Z4HldRirSxXMdF1zK7nXU9mk2t4+h0BIlNhWPpYTCBDQXXwRwggczgJ8BAGhLRZGIoEFAhADs=" /> </a> 
     {TEXT1} 
    </div> 
    <div style="display: none; background: #F5F5F5; border-top: 1px solid #C3CBD1; padding: 6px"> 
     {TEXT2} 
    </div> 
</div> 

Lightbox nicht innerhalb Spoiler funktioniert.

https://github.com/VSEphpbb/lightbox

Sieht aus wie es wegen der Reihenfolge der Rendering passieren. Und es ist notwendig, eine Verzögerungsfunktion zu setzen, damit die Seite gerendert wird. Vielleicht hat jemand einen funktionierenden Spoiler BBCode oder kennt eine schnelle Lösung ohne Kernmodifikationen?

Antwort

0

Ich würde dem Parameter einige zusätzliche Begrenzer hinzufügen, da er sonst das Ende des ersten BBCodes als Ende des Tags auffängt. Und machen Sie es einzigartig, damit die Begrenzer nicht kollidieren. Zum Beispiel:

[[email protected]{TEXT1}@]{TEXT2}[/spoiler] (because quotes are already used by the [quote] tag)