Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Mr.KosS

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

Recommended Posts

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

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

Share this post


Link to post
Share on other sites

Здраствуйте, форум Версия:IP.Board 3.2.3.

Суть проблемы, после ряда действий описаных выше у нас получилось следующее, кнопка осталась, пока на неё ненажмёшь там надпись spoiler_show, после последующих нажатий надпись меняется на undefined и так и остаётся.(смотрите прикреплённые рисунки)

Где мы допустили ошибку и как её исправить?

Заранее благодарен за ответ!

post-49919-0-37674900-1334418320_thumb.jpg

post-49919-0-36942400-1334418337_thumb.jpg

post-49919-0-99634500-1334418348_thumb.jpg

Share this post


Link to post
Share on other sites

На второй странице, здесь же: http://ipbskins.ru/forum/topic5640.html/page__view__findpost__p__55234

 

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

Или, если этого недостаточно, сделать отдельный бб-код действительно.

Share this post


Link to post
Share on other sites

На второй странице, здесь же: http://ipbskins.ru/forum/topic5640.html/page__view__findpost__p__55234

эти пункты тож были сделаны, только что опять уже наверное раз 10 перепроверил

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

post-49919-0-72226700-1334422713_thumb.jpg

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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 функция работает. Помогите разобраться, пожалуйсто.

Edited by Dmitriy427

Share this post


Link to post
Share on other sites

В общем пока следующее выяснил - клик возвращает ошибку только если элемент 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 */

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

Edited by Dmitriy427

Share this post


Link to post
Share on other sites

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

на

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

или на

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

 

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

Edited by Dmitriy427

Share this post


Link to post
Share on other sites

Как сделать тег code, что бы в нём отображались строчки как тут

1d708e6d93d3.png

 

P.S Если же код в одну строчку, то без нумирации. Нумерация должна начинаться, если в коде более одной строчки

Edited by Nicolayka

Share this post


Link to post
Share on other sites

Добавить нумерацаю просто. Найти в ipb_common.css строку

pre.prettyprint  { padding: 5px; background: #FFF; border: 1px solid #7b8da6; overflow: auto; margin-left: 10px; font-size: 11px; line-height: 140%; }

Заменить на что то, вроде:

pre.prettyprint  { padding: 5px; background: #FFF; border: 1px solid #7b8da6; overflow: auto; margin-left: 10px; font-size: 11px; line-height: 140%; list-style-type: decimal; }

Вот с дифференцированным, в зависимости от количества строк, оформлением, без модификации скрипта не обойтись... Зачем оно вам?)

Edited by Dmitriy427

Share this post


Link to post
Share on other sites

Нумерация не добавилась. Только текст ужался.

Share this post


Link to post
Share on other sites

Угу. Ну нескольо сложнее все, чем мне думалось. Нужно prettify.js сурьёзно калечить похоже. Проще будет готовый скрипт, типа syntaxhighlighter, интегрировать и бб-коды переписать. http://test.emule-rus.net/index.php?showtopic=52011

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...