2016-05-01 10 views
0

У меня phpbb 3.1.9PHPBB добавить тег SPOIL. Лайтбокс не работает

Я собираюсь добавить новый BBCode [испортить], используя собственную функциональность (из области администратора).

я следующее:

[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 не работает внутри спойлера.

https://github.com/VSEphpbb/lightbox

Похоже, это происходит из-за того рендеринга. И нужно добавить некоторую функцию отсрочки, чтобы страница отображалась. Может быть, у кого-то есть работоспособный спойлер BBCode или узнать быстрое решение без изменений ядра?

ответ

0

Я бы добавил некоторые дополнительные разделители к параметру, потому что в противном случае он заберет конец первого BBCode внутри него в качестве конца тега. И сделайте его уникальным, чтобы разделители не конфликтуют. Например:

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