Модификация нескольких BBcode - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

bb-code bb-коды ipb 3 spoiler спойлер
  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

Модификация нескольких BBcode [img] и [spoiler]

#31 Пользователь не на сайте   karlson_a1 »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 47
  • Регистрация: 26-Май 11
  • Репутация: 0
  • IPB version:3.1.x
 

Отправлено 27 Февраль 2012 - 16:44

Просмотреть сообщениеnewbie 27 Февраль 2012 - 15:55 сказал(а):

В том, что в настройках бибикода есть пункт "Single Tag Only". И нужно поставить Yes.

Самое интересное, что меня стояло "Yes". Но, я решил проверить - переставил на "No", после чего вновь вернул на "Yes". Всё заработало. Спасибо за "наводку"!
0

#32 Пользователь не на сайте   badi »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 3
  • Регистрация: 17-Март 12
  • Репутация: 0
  • IPB version:3.2.x
 

Отправлено 14 Апрель 2012 - 18:53

Просмотреть сообщениеRitsuka 17 Февраль 2011 - 23:53 сказал(а):

Вот вы тут сретесь.

Поправить спойлер можно так:

1. Отредактируйте BBCode (Look & Feel > Post Content > BBCode Management > Spoiler)

Use Option in tag? = Yes
Option is optional? = Yes
Custom BBCode Replacement:
<div class='bbc_spoiler'>
	<input type='button' class='bbc_spoiler_show' value='+' /><span class='spoiler_title'>{option}</span>
	<div class='bbc_spoiler_wrapper'><div class='bbc_spoiler_content' style="display:none;">{content}</div></div>
</div>


2. Отредактируйте языковые строки (Look & Feel > Manage Languages):

Найти строку по ключу "spoiler_show", установить перевод "+".
Найти строку по ключу "spoiler_hide", установить перевод "-".

3. Добавьте в CSS (ipb_styles.css) в конец строки

.bbc_spoiler { border: 1px solid #002F06; background: #D3D3D3; position: relative; display: block; margin: 10px 0; }
.bbc_spoiler .bbc_spoiler { margin: 10px; }
.bbc_spoiler .bbc_spoiler_wrapper { border-left: 0px !important; border-right: 0px !important; border-bottom: 0px !important; padding: 0; border-top: 1px solid #002F06; background: #fff; }
.bbc_spoiler .bbc_spoiler_content { border: 0; padding: 5px; }
.bbc_spoiler .bbc_spoiler_show { position: absolute; left: 5px; top: 5px; border: 1px solid #666; background: #fff; margin: 0; padding: 0; color: #666; width: 16px; height: 16px; font-size: 14px; }
.bbc_spoiler .spoiler_title { padding: 5px 5px 5px 25px; display: block; }


4. Отредактируйте файл /admin/sources/classes/bbcode/core.php

Найдите строки 2048-2049:
									if( $_bbcode['bbcode_useoption'] AND $_bbcode['bbcode_optional_option'] AND !$_option )
									{
										$_option	= $_content;


замените на:
									if( $_bbcode['bbcode_useoption'] AND $_bbcode['bbcode_optional_option'] AND !$_option )
									{
										$_option	= ($_tag == 'spoiler') ? 'Скрытый текст' : $_content;


5. Откройте на правку файл /public/js/ipb.js

Добавьте после строки 1198:
		ipb.delegate.register('.bbc_spoiler_show', ipb.global.toggleSpoiler);


Строку:
		ipb.delegate.register('.spoiler_title', function(e, label){$(label).up().down('.bbc_spoiler_show').click()} );


Сбросьте кэш постов и кэш браузера. Все выглядит как на картинке и работает как задумано.





Здраствуйте, форум Версия:IP.Board 3.2.3.
Суть проблемы, после ряда действий описаных выше у нас получилось следующее, кнопка осталась, пока на неё ненажмёшь там надпись spoiler_show, после последующих нажатий надпись меняется на undefined и так и остаётся.(смотрите прикреплённые рисунки)
Где мы допустили ошибку и как её исправить?
Заранее благодарен за ответ!

Вложений

  • Вложение  тест.jpg (5,43К)
    Количество загрузок: 8
  • Вложение  тест2.jpg (5,93К)
    Количество загрузок: 10
  • Вложение  тест3.jpg (5,32К)
    Количество загрузок: 7

Сообщение изменено: badi (14 Апрель 2012 - 18:54)

0

#33 Пользователь не на сайте   Dmitriy427 »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 70
  • Регистрация: 15-Октябрь 11
  • Репутация: 5
  • Откуда:Россия, Тула
  • IPB version:3.2.x
 

Отправлено 14 Апрель 2012 - 19:20

На второй странице, здесь же: http://ipbskins.ru/f...dpost__p__55234

И не факт, что при очередном обновлении опять что то править не понадобится. Лучше, имхо, ограничиться модификацией шаблона замены и css. http://ipbskins.ru/f...dpost__p__63429
Или, если этого недостаточно, сделать отдельный бб-код действительно.

Сообщение изменено: Dmitriy427 (14 Апрель 2012 - 19:44)

0

#34 Пользователь не на сайте   badi »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 3
  • Регистрация: 17-Март 12
  • Репутация: 0
  • IPB version:3.2.x
 

Отправлено 14 Апрель 2012 - 19:42

Просмотреть сообщениеDmitriy427 14 Апрель 2012 - 19:20 сказал(а):

На второй странице, здесь же: http://ipbskins.ru/f...dpost__p__55234

эти пункты тож были сделаны, только что опять уже наверное раз 10 перепроверил
проверил только что на форуме использовать код смотрим на рисунок что получилось, вопрос новый, как поменять цвет с серого на другой и как убрать квадратик с плюсиком или обрывком слова?

Вложений

  • Вложение  тест4.jpg (5,13К)
    Количество загрузок: 3

Сообщение изменено: badi (14 Апрель 2012 - 19:57)

0

#35 Пользователь не на сайте   Dmitriy427 »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 70
  • Регистрация: 15-Октябрь 11
  • Репутация: 5
  • Откуда:Россия, Тула
  • IPB version:3.2.x
 

Отправлено 14 Апрель 2012 - 20:31

Переменная вылезла по тому, видимо, что вы сделали её обязательной, но не присвоили значения по умолчанию. Нужно в настройках бб-кода "option обязательно?" поставить "нет". По второй части вопроса вам туда -> http://htmlbook.ru Справочники по html и css обязательно помогут.

Сообщение изменено: Dmitriy427 (14 Апрель 2012 - 20:39)

0

#36 Пользователь не на сайте   badi »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 3
  • Регистрация: 17-Март 12
  • Репутация: 0
  • IPB version:3.2.x
 

Отправлено 14 Апрель 2012 - 21:22

Просмотреть сообщениеDmitriy427 14 Апрель 2012 - 20:31 сказал(а):

Переменная вылезла по тому, видимо, что вы сделали её обязательной, но не присвоили значения по умолчанию. Нужно в настройках бб-кода "option обязательно?" поставить "нет". По второй части вопроса вам туда -> http://htmlbook.ru Справочники по html и css обязательно помогут.

переменная option, вылезла не случайно:) она кокраз то и нужна:)лишние только квадратик и +- и обрывок слова. Ели кто знает как исправить напишите пожалусто, со своей стороны я углублюсь тож в изучение HTML и CSS

0

#37 Пользователь не на сайте   Dmitriy427 »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 70
  • Регистрация: 15-Октябрь 11
  • Репутация: 5
  • Откуда:Россия, Тула
  • IPB version:3.2.x
 

Отправлено 21 Апрель 2012 - 14:37

Ritsuka
Пытаюсь тут еще немного доработать ваш спойлер, сделал такую конструкцию:
<div class='bbc_spoiler'>
    <input type='button' class='bbc_spoiler_show' value='Показать' /><span class='spoiler_title'>{option}</span>
    <div class='bbc_spoiler_wrapper'><div class='bbc_spoiler_content' style="display:none;">{content}<div class='bbc_spoiler_clear' align="center">Скрыть</div></div></div>
</div>
div.bbc_spoiler    {  background: #daa520 url({style_images_url}/ips_button.png) repeat-x; border: 1px solid #7b8da6; border-radius: 4px; margin: 10px 0; padding: 0;  }
div.bbc_spoiler span     {  color: #000; font-weight: bold;  text-align: left; width: auto; padding-left: 8px; }
div.bbc_spoiler_wrapper    {}
div.bbc_spoiler_content  {  border-top: 1px solid #7b8da6; background: #eee; padding: 5px; }
input.bbc_spoiler_show   {  cursor: pointer; background: #daa520 url({style_images_url}/ips_button.png) repeat-x; color: #900000; border: 2px solid #ffdead; border-style: outset; border-radius: 3px; font-size: 85%; width: auto; padding: 2px; }
.bbc_spoiler_show:hover   {   font-weight: bold; }
div.bbc_spoiler_clear {  cursor: pointer; color: #900000; font-size: 85%;  }
.bbc_spoiler_clear:hover   {  background: #ffebcd; font-weight: bold; }

В ipb.js, после "ipb.delegate.register('.bbc_spoiler_show', ipb.global.toggleSpoiler);" добавил:
ipb.delegate.register('.bbc_spoiler_clear', function(e, label){$(label).up().down('.bbc_spoiler_show').click()} );
Но чего то ему не хватает, не транслируется клик с bbc_spoiler_clear. Хотя с классом spoiler_title функция работает. Помогите разобраться, пожалуйсто.

Сообщение изменено: Dmitriy427 (21 Апрель 2012 - 15:15)

0

#38 Пользователь не на сайте   Dmitriy427 »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 70
  • Регистрация: 15-Октябрь 11
  • Репутация: 5
  • Откуда:Россия, Тула
  • IPB version:3.2.x
 

Отправлено 21 Апрель 2012 - 20:43

В общем пока следующее выяснил - клик возвращает ошибку только если элемент bbc_spoiler_clear расположен внутри блока bbc_spoiler_content, что мне как раз и требуется. Текст ошибки:
Event thread: click
Uncaught exception: TypeError: Cannot convert '$(label).up().down('.bbc_spoiler_show')' to object
Error thrown at line 118, column 184 in <anonymous function>(value, index) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&g=js:
    throw $break;
called from line 110, column 388 in <anonymous function>(value) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&g=js:
    iterator.call(context,value,index++);
called from line 110, column 302 in each(iterator, context) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&g=js:
    this._each(function(value){iterator.call(context,value,index++);});
called from line 118, column 45 in detect(iterator, context) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&g=js:
    this.each(function(value,index){if(iterator.call(context,value,index)){result=value;throw $break;}});
called from line 41, column 32 in <anonymous function: initialize>(e) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&charset=utf-8&f=public/js/ipb.js,cache/lang_cache/1/ipb.lang.js,public/js/ips.hovercard.js,public/js/ips.quickpm.js,public/js/ips.sharelinks.js,public/js/ips.textEditor.js,public/js/ips.topic.js,public/js/ips.rating.js,public/js/ips.like.js:
    var target=ipb.delegate.store.find(function(item){elem=e.findElement(item['selector']);if(elem){handler=item;return true;}else{return false;}});
called via Function.prototype.call() from unknown location in <anonymous function: responder>(event) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&g=js:
    /* no source available */
Error initially occurred at line 208, column 638 in <anonymous function: initEvents>(e, label) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&charset=utf-8&f=public/js/ipb.js,cache/lang_cache/1/ipb.lang.js,public/js/ips.hovercard.js,public/js/ips.quickpm.js,public/js/ips.sharelinks.js,public/js/ips.textEditor.js,public/js/ips.topic.js,public/js/ips.rating.js,public/js/ips.like.js:
    $(label).up().down('.bbc_spoiler_show').click()
called from line 43, column 66 in <anonymous function: initialize>(e) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&charset=utf-8&f=public/js/ipb.js,cache/lang_cache/1/ipb.lang.js,public/js/ips.hovercard.js,public/js/ips.quickpm.js,public/js/ips.sharelinks.js,public/js/ips.textEditor.js,public/js/ips.topic.js,public/js/ips.rating.js,public/js/ips.like.js:
    handler['callback'](e,elem,handler['params']);
called via Function.prototype.call() from unknown location in <anonymous function: responder>(event) in http://test.emule-rus.net/public/min/index.php?ipbv=32006&g=js:
    /* no source available */

Может кто нибудь подсказать решение?

Сообщение изменено: Dmitriy427 (21 Апрель 2012 - 20:54)

0

#39 Пользователь на сайте   Ritsuka »

 
 
  • Advanced
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 976
  • Регистрация: 08-Июнь 09
  • Репутация: 246
  • IPB version:3.2.x
 

Отправлено 26 Апрель 2012 - 13:16

$(label).up().down('.bbc_spoiler_show')

на
$(label).up().up().down('.bbc_spoiler_show')

или на
$(label).up('.bbc_spoiler').down('.bbc_spoiler_show')

1

#40 Пользователь не на сайте   Dmitriy427 »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 70
  • Регистрация: 15-Октябрь 11
  • Репутация: 5
  • Откуда:Россия, Тула
  • IPB version:3.2.x
 

Отправлено 28 Апрель 2012 - 03:58

Да второй вариант работает, большое спасибо. Но тут же встал вопрос - как после клика передать фокус на элемент bbc_spoiler_show?

p.s. Разобрался самостоятельно. Еще раз спасибо, хорошая фича получилась. :)

Сообщение изменено: Dmitriy427 (28 Апрель 2012 - 04:54)

0

Сообщить об этой теме:


  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

2 пользователей читают эту тему
1 зарегистрированных, 1 гостей, 0 скрытых

  1. cortin

Контактная информация

Заказ дизайна форума

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.3 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2012 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна