Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

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

в общем суть вопроса в том можно ли изменить тег чтобы он был более функционален?

 

а именно требуется:

тезменить тег Изображания чтобы он работал так же как в трекер движке.

привер:

[img=right] и [img=left]

и чтобы размер изображения размещенного на форуме через url тег изменялся а при нажатии на него увеличивался до оригинального размера.

 

тег spoiler внешним видом вот таким:

750a0eb01347.jpg

тег даного споилега выглядит следующим образом:

 [spoiler]
		 вот такой спойлер нужен
[spoiler="Название spoiler-a"]
		 вместо "скрытый текст" можно вписать свое название
[/spoiler]
[/spoiler]

 

одним можно ли сделать теги img и spoiler такие как на трекере?

 

за ранее спасибо!

Рекомендованные сообщения

Здраствуйте, форум Версия: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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

на

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

или на

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

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

 

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

Изменено пользователем Dmitriy427

  • 2 месяца спустя...

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

1d708e6d93d3.png

 

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

Изменено пользователем Nicolayka

Добавить нумерацаю просто. Найти в 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; }

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

Изменено пользователем Dmitriy427

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

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

хм. А поподробнее можно?

А поподробнее можно?
Можно.

 

- Качаете скрипт с офсайта.

 

- Зливаете содержимое архива на сервер, в /public/js/3rd_party/syntaxhighlighter/, допустим.

 

- В globalTemplate, перед тегом "</head>" добавляете:

<!-- ::: SyntaxHighlighter CSS and Scripts ::: -->
<link type="text/css" rel="stylesheet" href="{$this->settings['js_base_url']}js/3rd_party/syntaxhighlighter/styles/shCore.css" />
<link type="text/css" rel="stylesheet" href="{$this->settings['js_base_url']}js/3rd_party/syntaxhighlighter/styles/shThemeDefault.css" />
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/syntaxhighlighter/scripts/shBrushXml.js"></script>
<script type="text/javascript" src="{$this->settings['js_base_url']}js/3rd_party/syntaxhighlighter/scripts/shBrushSql.js"></script>
<script type="text/javascript">  
SyntaxHighlighter.all();  
</script>

Вместо shThemeDefault.css можно выбрать любой стиль из папки /public/js/3rd_party/syntaxhighlighter/styles/.

Вместо или дополнительно к shBrushXml.js и shBrushSql.js добавляете загрузку скриптов с нужным синтаксисом из папки /public/js/3rd_party/syntaxhighlighter/scripts/.

 

- В АЦ -> Внешний вид -> BB-коды открываете для редактирования "XML код". Отмечаете возле пункта меню "Удалить кеш всех n объектов?" чекбокс "Да". Шаблон замены BB-кода меняете на такой:

<pre class="brush: xml">
{content}
</pre>

Сохраняете изменения.

Аналогично редактируете HTML и SQL коды, изменяя class="brush: xml" на class="brush: html" и class="brush: sql" соответственно. Для подсветки синтаксиса других языков создаете бб-коды по тому же принципу.

Изменено пользователем Dmitriy427

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.