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

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

Дизайн и модификация 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 такие как на трекере?

 

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

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

Смотрите в сторону css-свойства line-height. В стандартном скине для области сообщения стоит:

 

.post_body .post {
line-height: 150%;
}

 

А для области превью такого нет. Решение - добавить в паре мест (для надежности):

 

.bbc_spoiler { border: 1px solid #aaa; background: #ddd; position: relative; display: block; margin: 10px 0; line-height: 150% !important; }
.bbc_spoiler .spoiler_title { padding: 2px 2px 2px 25px; display: block; line-height: 150% !important; }

Да, действительно, теперь все ОК. Спасибо еще раз.

  • 4 недели спустя...

а как сделать чтобы в стандартном исполнении вместо кнопки просто был текст? или как сделать кнопку прозрачной?

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

  • 4 недели спустя...

а как сделать чтобы в стандартном исполнении вместо кнопки просто был текст? или как сделать кнопку прозрачной?

Так здесь и есть вместо кнопки текст. Плюсик вообще не обязателен, спойлер открывается при нажатии на заголовок.

  • 5 месяцев спустя...

Подскажите. На 322 встанут эти изменения?

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

 

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

 

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()} );

 

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

 

Вот что получается, если не задавать название спойлеру:

 

post-46624-0-68838400-1317401736_thumb.png

Пункт номер 4 решал эту задачу.

Пункт номер 4 решал эту задачу.

 

У меня нет таких строчек в core.php

 

И теперь еще тег CODE изменился, без рамки даже...

Пункт номер 4 решал эту задачу.

 

Так что посоветуете? Этих строк вообще нету.

Посмотрел вчера новый файл из 3.2, порадовался. Переписали класс. Я как бы и не обещал, что заработает в 3.2 :)

 

Для 3.2 найти строки 1768-1776:

							//-----------------------------------------
						// No?  Then just grab it
						//-----------------------------------------

						else
						{
							$open_length	+= 1;
							$_option		= substr( $txt, $this->cur_pos + $open_length, (strpos( $txt, ']', $this->cur_pos ) - ($this->cur_pos + $open_length)) );
						}

 

Добавить после них:

							if(empty($_option) && $_tag == 'spoiler') {
							$_option = 'Скрытый текст';
						}

 

Не тестировал, но должно сработать)

 

 

А вообще надо отдельный тег-плагин сделать, чтобы заменял системный spoiler и содержал и стили, и шаблон, и дефолтное значение для опции...

Посмотрел вчера новый файл из 3.2, порадовался. Переписали класс. Я как бы и не обещал, что заработает в 3.2 :)

 

Для 3.2 найти строки 1768-1776:

							//-----------------------------------------
						// No?  Then just grab it
						//-----------------------------------------

						else
						{
							$open_length	+= 1;
							$_option		= substr( $txt, $this->cur_pos + $open_length, (strpos( $txt, ']', $this->cur_pos ) - ($this->cur_pos + $open_length)) );
						}

 

Добавить после них:

							if(empty($_option) && $_tag == 'spoiler') {
							$_option = 'Скрытый текст';
						}

 

Не тестировал, но должно сработать)

 

 

А вообще надо отдельный тег-плагин сделать, чтобы заменял системный spoiler и содержал и стили, и шаблон, и дефолтное значение для опции...

 

У меня пока что 3.0.5.

Я до сих пор не знаю, что лучше поставить. 3.1.4 или 3.2.х

  • 2 недели спустя...

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

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

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

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

Совершенно случайно наткнулся на эту тему и вспомнил, что давно хотел такой вид спойлера! Ritsuka, большое спасибо! Всё работает!

 

 

Хотел бы ещё установить "Обтекание картинок".

 

А насчет обтекания текста и картинок - добавьте два новых кода:

 

2. CLEAR

 

Custom BBCode Tag = clear

Use Option in tag? = No

Custom BBCode Replacement:

<br class='clear' />

 

Пример использования:

[float=left][img][/float]Text[clear]Text

Код "FLOAT" создал, а вот "CLEAR" - не получилось.

 

Пишет: Сообщение Invision Power Board. Для не одиночных BB-кодов необходимо использовать тег {content}

 

Подскажите, пожалуйста, в чём может быть причина?

Подскажите, пожалуйста, в чём может быть причина?

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

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

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

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

Аккаунт

Навигация

Поиск

Поиск

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

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