Пропустить

Код: Выделить всё

Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Re: Код: Выделить всё

Сообщение Андруха » 14.06.2010 20:53

MIT писал(а): Андруха писал(а):После замены стандартного

Зачем, позволь узнать?

Всего лишь потому, что в скачанном из этой темы текстовике написано:
Open template\bbcode.html
__________________
Find
        <div class="codetitle"><b>{L_CODE}:</b>
        <div class="codecontent">
<!-- END code_open -->

<!-- BEGIN code_close -->
        </div>

Replace With
        <div class="codetitle"><b>{L_CODE}:</b><a onclick="selectCode(this); return false;" href="#">Select all</a></div>
        <code class="codecontent">
<!-- END code_open -->

<!-- BEGIN code_close -->
        </code>
К стати я (как мне кажется) нашёл ошибку и исправил её так
<a href="#" onclick="selectCode(this); return false;">
функция по прежнему не вызывается, перебрасывает на верх страницы, зато "Выделить всё" реагирует на наведение.
Аватара пользователя
Андруха
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 13.06.2010 13:43
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Код: Выделить всё

Сообщение Андруха » 16.06.2010 21:18

MIT писал(а):Вот у тебя используется функция selectCode, но она у тебя нигде не объявлена. Как думаешь, почему не работает?
Спасибо за подсказку, пару дней почитал и попробовал. Сейчас текст скрипта находится в голове загруженной страницы, функция объявлена...
Посоветуйте пожалуйста ещё. Своих мыслей к сожалению нет.
Аватара пользователя
Андруха
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 13.06.2010 13:43
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Код: Выделить всё

Сообщение Андруха » 23.06.2010 21:34

Гдето я косячу... Код выделяется, всё в порядке, но выделяется только в первом блоке на странице, причем не важно из какого блока вызывается функция. Видимо selectCode(this) вставлено гдето не там т.к. "this" не работает. Дайте подсказку, может пойму...
Аватара пользователя
Андруха
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 13.06.2010 13:43
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Код: Выделить всё

Сообщение AlexStudio » 16.07.2010 15:01

И подниму опять вопрос:
Как всетаки сделать "Выделить все" и полоску прокрутки в Subsilver 2?
Предыдущие советы не пашут...

AlexStudio
phpBB 1.0.0
 
Сообщения: 4
Зарегистрирован: 13.07.2010 20:16
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Код: Выделить всё

Сообщение Shredder » 16.07.2010 15:26

AlexStudio
Вот 100% работающий код, только что ставил:

Открыть /styles/subsilver2/template/bbcode.html

Найти:
<!-- BEGIN quote_close -->
</div>
<!-- END quote_close -->

<!-- BEGIN code_open -->
<div class="codetitle"><b>{L_CODE}:</b></div><div class="codecontent">
<!-- END code_open -->

Заменить на:
<!-- BEGIN code_open -->
<div>
<div class="codetitle"><b>{L_CODE}:</b> <a href="#" onclick="selectCode(this); return false;">{L_SELECT_ALL_CODE}</a></div>
<div class="codecontent">
<code>
<!-- END code_open -->

<!-- BEGIN code_close -->
</code>
</div>
</div>
<!-- END code_close -->


Открыть /styles/subsilver2/template/overall_header.html

Найти:
// ]]>
</script>

Добавить перед:
function selectCode(a)
{
	// Get ID of code block
	var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];

	// Not IE
	if (window.getSelection)
	{
		var s = window.getSelection();
		// Safari
		if (s.setBaseAndExtent)
		{
			s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
		}
		// Firefox and Opera
		else
		{
			var r = document.createRange();
			r.selectNodeContents(e);
			s.removeAllRanges();
			s.addRange(r);
		}
	}
	// Some older browsers
	else if (document.getSelection)
	{
		var s = document.getSelection();
		var r = document.createRange();
		r.selectNodeContents(e);
		s.removeAllRanges();
		s.addRange(r);
	}
	// IE
	else if (document.selection)
	{
		var r = document.body.createTextRange();
		r.moveToElementText(e);
		r.select();
	}
}


Открыть styles/subsilver2/theme/stylesheet.css

Найти:
.codecontent {
	direction: ltr;
	margin: 0 5px 10px 5px;
	padding: 5px;
	border-color: #A9B8C2;
	border-width: 0 1px 1px 1px;
	border-style: solid;
	font-weight: normal;
	color: #006600;
	font-size: 0.85em;
	font-family: Monaco, 'Courier New', monospace;
	background-color: #FAFAFA;
}

Заменить на:
.codecontent code {
	overflow: auto;
	display: block;
	height: auto;
	max-height: 200px;
	white-space: normal;
	margin: 0 5px 10px 5px;
	padding: 5px;
	border-color: #A9B8C2;
	border-width: 0 1px 1px 1px;
	border-style: solid;
	font-weight: normal;
	color: #006600;
	font-size: 0.85em;
	font-family: Monaco, 'Courier New', monospace;
	background-color: #FAFAFA;
}

Shredder
Former team member
 
Сообщения: 1034
Зарегистрирован: 14.12.2008 11:18
Благодарил (а): 62 раз.
Поблагодарили: 181 раз.

Re: Код: Выделить всё

Сообщение Андруха » 06.10.2010 19:43

Андруха писал(а):Гдето я косячу... Код выделяется, всё в порядке, но выделяется только в первом блоке на странице, причем не важно из какого блока вызывается функция. Видимо selectCode(this) вставлено гдето не там т.к. "this" не работает. Дайте подсказку, может пойму...

Я по совету MIT
<div class="codetitle">

<b>{L_CODE}:</b>
<a href="#" onclick="selectCode(this) ;return false;">&nbsp;<i>Выделить всё</i></a></div><div class="codecontent"><code class="codecontent">
<!-- END code_open -->

<!-- BEGIN code_close -->
</code></div>
"обернул" в
<div></div>
получилось так
<!-- BEGIN code_open -->
<div>
<div class="codetitle">

<b>{L_CODE}:</b>
<a href="#" onclick="selectCode(this) ;return false;">&nbsp;<i>Выделить всё</i></a></div><div class="codecontent"><code class="codecontent">
<!-- END code_open -->

<!-- BEGIN code_close -->
</code></div></div>
<!-- END code_close -->
Работает всё чудесно! Огромное спасибо!
Аватара пользователя
Андруха
phpBB 1.0.0
 
Сообщения: 8
Зарегистрирован: 13.06.2010 13:43
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Пред.

Вернуться в Стили для phpBB 3.0.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Изображение