CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » Собственный bb-код: тег блюпоста
Официальный форум Eleanor CMS » Поддержка пользователей системы Eleanor CMS » Первые шаги
Подскажите, как сделать собственный bb-код на основе quote, но с собственным дизайном? Конкретно хочу сделать тег блю-поста, на примере того, что есть для vbulletin: http://vbsupport.org/forum/showthread.php?t=25606, но не знаю, куда воткнуть код стиля и вообще какие файлы править :rolleyes: Если несложно, расскажите поэтапно?
Alexander
Вот посмотрите, совсем рядом есть тема о том, как вообще сделать тег спойлера. Возьмите его код за основу и действуйте. Если что будет не ясно - спрашивайте.

http://forum.eleanor-cms.ru/index.php?showtopic=2099
Спасибо, воспользовался спойлером в качестве основы и сделал все, как и хотел :) Возможно, кому-то пригодится, цитата Loader'а с моими правками под мои же цели:


Цитата (Loader @ 2010-10-04, 23:41)
Итак, 3-й вариант спойлера: (всё-таки я его добил)

Огромное спасибо Phoenix84 ! Делается он так:

1) Заходим в templates/Ваша-тема/style/ и в конец любого файла .css дописываем следующее:


/* ============        БЛЮПОСТ     ============ */
.spoiler-wrap {
    width: 95%;
    margin: 6px auto;
    clear: both;
    background: #333;
    border: solid #000;
    border-width: 1px 1px 1px 2px;
    font: 12px Verdana,Arial,sans-serif;
     border-radius: 4px;
     -webkit-border-radius: 4px;
     -moz-border-radius: 4px; 
}
.spoiler-head {
    font-weight: bold;
    color: #0099FF;
    background: #333;
    padding: 5px;
    font-size: 11px;
}
.spoiler-body {
    display: block;
    border: none;
    background: #333;
    padding: 0 5px;
    color: #0099FF;

}

.clickable {
    cursor: pointer;
}

.folded {
    color: #0099FF;
    display: block;
    background: transparent url(/images/blizz-post.gif) no-repeat left center;
}

.unfolded {
    color: #0099FF;
    display: block;
    background: transparent url(/images/blizz-post.gif) no-repeat left center;
}
/* ============ БЛЮПОСТ конец ============ */



2) Далее в файл index.php Вашей темы добавляем перед тэгом </body> такой код:

<!-- Блюпост -->
<SCRIPT type=text/javascript>
function initSpoilers(context)
{
var context = context || 'body';
$('div.spoiler-head', $(context))
.click(function(){
$(this).toggleClass('unfolded');
$(this).next('div.spoiler-body').slideToggle('fast');
})
;
}

$(document).ready(function(){
initSpoilers('body');
});
</SCRIPT>
<!-- Блюпост конец -->


3) В файл /classes/others/class_ownbb.php в конец, но перед "?>" добавляем следующий код:

# Блюпост
class OwnBbCode_blizz extends BaseOwnBbCode
{
public function PreDisplay($tag,$params,$content,$canuse)
{
if(!$canuse)
return $this->RestrictDisplay();
$params=$params ? Strings::ParseParams($params) : array();
if(isset($params['noparse']))
{
unset($params['noparse']);
return parent::PreEdit($tag,$params,$content,true);
}
If (!isset($params['name'])) {
$params['name']='Blizzard пишет:';}
return '<div class="spoiler-wrap"><div class="spoiler-head folded clickable"><span style="padding-left:29px">'.$params['name'].'</span></div><div class="spoiler-body">'.$content.'</div></div>';
}
}
# Блюпост конец


4) В папку /images/ закидываем файл blizz-icon.gif (прикреплен ниже)

5) В Админке сайта добавляем свой ББ-код blizz

Пользуемся! На этом всё. Можно использовать просто как [blizz] текст, рисунок которые надо скрыть [/blizz] , а можно задавать спойлеру имя таким образом: [blizzname="заголовок блюпоста"] блюпост [/blizz]


Прикрепляю скрины того что получилось:


Иконка для поста:

Спасибо Лоадеру и Фениксу84 =) И Александру, конечно)
Loader
Чёт я не пойму - он как спойлер разъезжается что-ли? Пример можешь показать в работе?
По умолчанию раскрыт, но может и сворачиваться/разворачиваться как спойлер. По сути - это и есть ваш спойлер, только стилизованный под посты представителей Blizzard и снабженный соответствующей иконкой вместо + и - =)
ulduar.su
KeSSLeR
В свое время сделал блюпосты на основе тега цитаты. Помоему удобнее и намного меньше гемора..

Добавлено через 2 минут, 7 секунд:

При желании можно прикрутить ссылку на источник поста итд.

з.ы. [blizzname="тратата"]text[/blizz] нерабит
KeSSLeR
з.ы. [blizz name="тратата"]text[/blizz] рабит))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.