[FAQ] Пользовательские BBCode

Темы по наиболее часто задаваемым вопросам без привязки к версии phpBB. Читать в первую очередь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14322
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

[FAQ] Пользовательские BBCode

Сообщение rxu » 20.10.2007 6:52

База данных пользовательских BBCode на официальном сайте phpBB.

Вот ссылка на тему на официальном сайте, где приведены наиболее популярные пользовательские BBCode для phpBB3: Особенно прошу обратить внимание на последний, очень простой и без использования яваскрипта.

Некоторые другие BBCode приведены в этой статье в базе знаний (на английском).
Большая коллекция пользовательских BBCode
Например, вставка изображений в поток текста


*****
RuTube.ru
Video.Mail.Ru (Хотя таблицу оттуда хорошо бы выкинуть)
Google map

*****
От пользователя mau
Для изменения порядка BBCode установите мод Custom BBCode Sorting. (только для 3.0.х)
Последний раз редактировалось rxu 20.10.2012 10:45, всего редактировалось 5 раз.
Изображение

inter
phpBB 1.2.0
Сообщения: 10
Зарегистрирован: 28.01.2007 0:22

Re: [FAQ] Пользовательские BBCode

Сообщение inter » 11.08.2008 20:47

Можно, но если нужно поставить как раз не в алфавитном.. :( И ладно, если бы сортировка.. Более востребованна следующая возможность:
Когда я создаю пользовательский bbcode, например:
Скрытый текст
{TEXT}
то кнопка bbcode рядом формой ответа так и называется - spoiler. А есть возможность сделать так, что бы она называлась, скажем, 'Спойлер'?

Тут совсем все плохо? :(

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение Палыч » 12.08.2008 9:16

В коде одно и то же поле используется и как bbcode_name, и как bbcode_tag, поэтому кириллицу использовать не получится, если только мод сделать, хотя смысла в нём не вижу. Посмотрите на собственную клавиатуру: Home, End, Delete, Esc (а не Домой, Конец, Удалить, Убежать), вас же это не смущает? Общепринятые обозначения. А для непонятливых что Спойлер, что spoiler... Есть, в конце-концов, строка подсказка, там пишите всё, что душе угодно.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

sterpazook
phpBB 1.2.1
Сообщения: 20
Зарегистрирован: 13.08.2008 16:30

Re: [FAQ] Пользовательские BBCode

Сообщение sterpazook » 13.08.2008 16:46

Вымучал интергрированный спойлер (не выносящийся в отдельный блок)
Пробелы и цвета настраивал под свои нужды

Использование BBCode

Код: Выделить всё

[spoiler]{TEXT}[/spoiler]
Замена HTML

Код: Выделить всё

<span><div style="text-transform: uppercase; font-weight: bold; display: inline; "><span style="display: inline; " onClick="if (this.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display != '') {  this.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display = ''; this.innerHTML = '<a href=\'#\' onClick=\'return false;\'>Скрыть:</a> '; } else { this.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display = 'none'; this.innerHTML = '<a href=\'#\' onClick=\'return false;\'>[спойлер]</a>'; }" /><a href="#" onClick="return false;">[спойлер]</a></span></div><span  class="quotecontent"><span style="display: none; background: #FFE4B5;"> {TEXT} </span></span><span>
Изображение

PS: Возможно есть лишние куски кода - я не специалист.
И никак не смог поменять цвет ссылки - кто-нибудь может помочь?

Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение FladeX » 13.08.2008 18:28

sterpazook писал(а):И никак не смог поменять цвет ссылки - кто-нибудь может помочь?
в код ссылки допишите атрибут style. Должно быть примерно так:

Код: Выделить всё

<a style="color: #333333">
только вместо #333333 - нужный вам цвет
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы

sterpazook
phpBB 1.2.1
Сообщения: 20
Зарегистрирован: 13.08.2008 16:30

Re: [FAQ] Пользовательские BBCode

Сообщение sterpazook » 19.08.2008 21:04

не помогает - стиль prosilver перекрывает (одну из трех ссылок содержащихся в скрипте) своим цветом

Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Зарегистрирован: 27.06.2005 1:07
Поблагодарили: 44 раза
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение Rayden » 19.08.2008 23:24

Значит что-то не так делаешь. Стиль непосредственно в теге, через параметр style имеет более высокий приоритет, чем стиль во внешних файлах просилвера.
phpBB2 FAQ
phpBB3 FAQ

mad-devil
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 28.08.2008 22:45

Re: [FAQ] Пользовательские BBCode

Сообщение mad-devil » 28.08.2008 22:55

Всем здравствуйте =)
У меня небольшой вопрос.
Нашел вот такой BBcodes.
http://www.phpbb.com/community/viewtopi ... 5#p3241110
Очень мне понравился,но смущает одно но.
Нельзя ли его сделать, чтобы при нажатии, на окошко URL открывался в новом окне?
Буду очень благодарен, если кто-то поможет с этим вопросом =)

rodman
phpBB 1.2.0
Сообщения: 10
Зарегистрирован: 12.08.2008 18:52

Re: [FAQ] Пользовательские BBCode

Сообщение rodman » 02.09.2008 17:54

вот код спойлера с использованием JavaScript, работает превосходно!!!
Использование BBCode:

Код: Выделить всё

[spoiler]{TEXT}[/spoiler]
Замена HTML:

Код: Выделить всё

<script>
function show_hide_text(divObj) {
    var div = divObj.parentNode.getElementsByTagName('div')[1];
    if (div.style.display == 'none') {
        div.style.display = 'block';
        divObj.innerHTML = "<b>Скрытый текст -</b>";
    } else {
        div.style.display = 'none';
        divObj.innerHTML = "<b>Скрытый текст +</b>";
    }
}
</script>
<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
          <td><div style="width:90%;background:white;border:1px gray solid;font-size:12px;text-align:left;padding:2px;display:inline-block;" onclick="show_hide_text(this)"><b>Скрытый текст +</b></div><div style="display:none;width:90%;text-align:left;padding:2px;background:white;border:1px dotted gray;margin-top:0px">{TEXT}</div></td>
        </tr>
</table>

Gisher
phpBB 2.0.12
Сообщения: 857
Зарегистрирован: 04.10.2006 7:50
Благодарил (а): 11 раз
Поблагодарили: 13 раз

Re: [FAQ] Пользовательские BBCode

Сообщение Gisher » 05.09.2008 23:25

Вставка видео RuTube

Использование BBCode:

Код: Выделить всё

[rutube]http://rutube.ru/tracks/{SIMPLETEXT1}.html?v={SIMPLETEXT2}[/rutube]
Замена HTML:

Код: Выделить всё

<OBJECT width="470" height="353"><PARAM name="movie" value="http://video.rutube.ru/{SIMPLETEXT2}"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/{SIMPLETEXT2}" type="application/x-shockwave-flash" wmode="window" width="470" height="353" allowFullScreen="true" ></EMBED></OBJECT>

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение Pan » 19.09.2008 0:37

За неимением лучших вариантов, проблему обтекания рисунков пока решил с помощью отдельного тега.

Использование BBCode:

Код: Выделить всё

[im={TEXT1}]{TEXT2}[/im]
Замена HTML:

Код: Выделить всё

<style type="text/css">
.figure {
 float: {TEXT1};
 padding: 4px;
}
</style>

<p><img src="{TEXT2}" class="figure" alt="Рисунок"></p>
Подсказка:

Код: Выделить всё

Обтекание рисунка текстом: [im=left]Текст справа[/im]; [im=right]Текст слева[/im]

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение Pan » 19.09.2008 1:42

Господа специалисты, подскажите, плиз.

Имеется следующий код спойлера:

Код: Выделить всё

<div style='width: 99%; border: 1px dotted #6F5E42; border-left: 4px solid #6F5E42;'>
    <script language='javascript' type='text/javascript'>
    <!--
    if(!_s_id)
    {
        var _s_id = 0;
        var sp_title = "";
        function switch_spoiler(id, title)
        {
            if(document.getElementById("sp_d_" + id).style.display == "block")
            {
                document.getElementById("sp_a_" + id).innerHTML = "▼ " + title;
                document.getElementById("sp_d_" + id).style.display = "none";
            }
            else
            {
                document.getElementById("sp_a_" + id).innerHTML = "▲ " + title;
                document.getElementById("sp_d_" + id).style.display = "block";
            }
        }
    }
    _s_id++;

    document.write("<div id='sp_a_" + _s_id + "' onclick='switch_spoiler(" + _s_id + ", \"{TEXT1}\");' style='vertical-align: middle; height: 30px; line-height: 30px; padding-left:10px; background-color: #D3C5AB; font-size: 12px; font-weight: bold; color: #020202; cursor: hand;'>▼ {TEXT1}</div><div id='sp_d_" + _s_id + "' style='display: none; min-height: 25px; background-color: #E2DBCC; padding-left:10px; padding-top:5px; padding-bottom:5px;'>");
    -->
    </script>
    {TEXT2}</div></div>
1. Возможно ли добавить в данный код следующее условие:
Пользователь вводит после "=" свой текст - получает этот текст в заголовке спойлера;
Пользователь ничего не вводит после знака "=" - получает в заголовке текст по умолчанию (например - "нажмите для просмотра скрытого текста".

2. В данный момент ширина заголовка спойлера (до раскрытия) жёстко ограничивается одной строкой, в случае, если текст заголовка выходит за рамки одной строки, нарушается форматирование. Возможно ли сделать заголовок "растягиваемым" в зависимости от количества текста в заголовке?

Аватара пользователя
RDJ
phpBB 1.4.3
Сообщения: 80
Зарегистрирован: 11.03.2007 16:56
Откуда: -=ТАТАРСТАН=-
Благодарил (а): 1 раз
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение RDJ » 23.09.2008 15:05

AlexV_attention писал(а):Можно ли точно такой вид реализовать на phpbb3!?
Поручик писал(а):Ладно уж, дам пример.
как можно сделать чтобы этот мод могли использовать только администраторы и модераторы?

Добавлено спустя 45 секунд:
я по поводу bbcode [ex]text[ex]

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение Pan » 24.09.2008 14:05

Касательно спойлера - со вторым вопросом разобрался:

Код: Выделить всё

document.write("<div id='sp_a_" + _s_id + "' onclick='switch_spoiler(" + _s_id + ", \"{TEXT1}\");' style='vertical-align: middle; height: 30px; line-height: 30px; padding-left:10px; background-color: #D3C5AB; font-size: 12px; font-weight: bold; color: #020202; cursor: hand;'>▼ {TEXT1}</div><div id='sp_d_" + _s_id + "' style='display: none; min-height: 25px; background-color: #E2DBCC; padding-left:10px; padding-top:5px; padding-bottom:5px;'>");
заменить на

Код: Выделить всё

document.write("<div id='sp_a_" + _s_id + "' onclick='switch_spoiler(" + _s_id + ", \"{TEXT1}\");' style='vertical-align: middle; height: auto; line-height: 30px; padding-left:10px; background-color: #D3C5AB; font-size: 12px; font-weight: bold; color: #020202; cursor: hand;'>▼ {TEXT1}</div><div id='sp_d_" + _s_id + "' style='display: none; min-height: 25px; background-color: #E2DBCC; padding-left:10px; padding-top:5px; padding-bottom:5px;'>");

Аватара пользователя
mars1an
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 12.05.2008 0:58
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение mars1an » 24.09.2008 14:29

Кому нужно BBCode magnet ссылки, делюсь решением
Использование BBCode:

Код: Выделить всё

[magnet=magnet:?xt=urn:tree:tiger:{TEXT1}&xl={NUMBER1}&dn={TEXT2}]{TEXT3}[/magnet]
Замена HTML:

Код: Выделить всё

<img src="./images/icon_magnet.gif"> <a href='magnet:?xt=urn:tree:tiger:{TEXT1}&xl={NUMBER1}&dn={TEXT2}'>{TEXT3}</a>
Подсказка:

Код: Выделить всё

Вставка магнитной ссылки: [magnet=ссылка]описание[/magnet]
Ниже пример и иконка.
2008-09-24_152609.png
2008-09-24_152609.png (1.24 КБ) 7842 просмотра
Вложения
иконка для ссылки
иконка для ссылки
icon_magnet.gif (507 байт) 7856 просмотров
Крайняя степень глупости с точки зрения админа - объяснять что-либо, если есть документация...

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Re: [FAQ] Пользовательские BBCode

Сообщение Pan » 24.09.2008 20:01

Наконец-то домучал код спойлера. Не скажу, что получилось совсем так, как хотелось, но наиболее близкий вариант к желаемому вышел.

Использование BBCode:

Код: Выделить всё

[spoiler={TEXT1}]{TEXT2}[/spoiler]
Замена HTML:

Код: Выделить всё

<div style='width: 99%; border: 1px dotted #6F5E42; border-left: 4px solid #6F5E42;'>
    <script language='javascript' type='text/javascript'>
    <!--
    if(!_s_id)
    {
        var _s_id = 0;
        var sp_title = "";
        function switch_spoiler(id, title)
        {
            if(document.getElementById("sp_d_" + id).style.display == "block")
            {
                document.getElementById("sp_a_" + id).innerHTML = "▼ " + title;
                document.getElementById("sp_d_" + id).style.display = "none";
            }
            else
            {
                document.getElementById("sp_a_" + id).innerHTML = "▲ " + title;
                document.getElementById("sp_d_" + id).style.display = "block";
            }
        }
    }
    _s_id++;

    document.write("<div id='sp_a_" + _s_id + "' onclick='switch_spoiler(" + _s_id + ", \"{TEXT1}\");' style='vertical-align: middle; height: auto; line-height: 30px; padding-left:10px; background-color: #D3C5AB; font-size: 12px; font-weight: bold; color: #020202; cursor: hand;'>{TEXT1}<br />▼ <span style='font-size: 8px;'>нажать для просмотра скрытого текста</span></div><div id='sp_d_" + _s_id + "' style='display: none; min-height: 25px; background-color: #E2DBCC; padding-left:10px; padding-top:5px; padding-bottom:5px;'>");
    -->
    </script>
    {TEXT2}</div></div>
Подсказка:

Код: Выделить всё

Скрытый текст: [spoiler=название(можно не заполнять)]текст[/spoiler]

Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 20.03.2015 19:57 модератором Татьяна5

Ответить

Вернуться в «FAQ»