Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекращает поддержку phpBB версии 3.2.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2020 года.
С учетом этого, а также того, что версия 3.2.x больше не будет получать обновлений, за исключением связанных с проблемами безопасности
(только при их наличии и только до 7 ноября 2020 года), рекомендуется обновить конференции до версии 3.3.x.

[3.1] Автоматическая проставка тега [*] возле каждого пункта списка

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

[3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Здравствуйте.
Делаю стиль на основе prosilver и столкнулся с необходимостью реализации автоматической проставки тега [*] возле каждого пункта списка (с каждой новой строки)

На моем втором форуме с другим стилем это реализовано изначально, но так как я не силен в познаниях структуры выполнения скрипта и в ява коде, прошу подсказать это довольно простое решение. Благодарю!
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10628
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3007 раз

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Татьяна5 »

Denka писал(а): 22.10.2018 13:39 с другим стилем
С каким? (Скопировать готовое проще, чем сочинять новое)
Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Татьяна5 писал(а): 22.10.2018 14:00С каким?
https://www.phpbb.com/customise/db/style/lucid_lime/
Название стиля: Lucid Lime

Да, понимаю про то, что проще скопировать, но не знаю в какую сторону копать.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10628
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3007 раз

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Татьяна5 »

Нет такого в том стиле
Смотрите в сторону набора расширений. Что-то у вас на одном форуме есть, а на другом нет
Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Татьяна5 писал(а): 22.10.2018 15:48 Смотрите в сторону набора расширений. Что-то у вас на одном форуме есть, а на другом нет
Обнаружил в файле editor.js темы со второго форума такой код:

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

function insert_listitem()
{
	var textarea = document.forms[form_name].elements[text_name];
	if (!textarea.selectionEnd || (textarea.selectionEnd - textarea.selectionStart == 0))
	{
		insert_text('[*]');
	}
	else
	{
		// Automatic [*] for each line
		var selLength = (typeof(textarea.textLength) == 'undefined') ? textarea.value.length : textarea.textLength;
		var selStart = textarea.selectionStart;
		var selEnd = textarea.selectionEnd;
		var scrollTop = textarea.scrollTop;

		if (selEnd == 1 || selEnd == 2) 
		{
			selEnd = selLength;
		}

		var before = (textarea.value).substring(0,selStart);
		var selected = (textarea.value).substring(selStart, selEnd);
		var after = (textarea.value).substring(selEnd, selLength);

		var parts = selected.match(/^(\s*\[list[\w\d=]*\])((?:.|[\r\n])*)(\[\/list\]\s*)$/i);
		if (parts)
		{
			before += parts[1];
			selected = parts[2];
			after = parts[3] + after;
		}

		var items = selected.split(/\r\n|\r|\n/);
		selected = '';
		var is_first = true;
		jQuery.each(items, function(index, value)
		{
			if (!is_first) selected += '\n';
			is_first = false;
			value = jQuery.trim(value);
			if (!value) return true;
			if (value.indexOf('[*]') !== 0) selected += '[*]';
			selected += value;
		});

		textarea.value = before + selected + after;
		textarea.selectionStart = before.length;
		textarea.selectionEnd = before.length + selected.length;
		textarea.scrollTop = scrollTop;
	}
	textarea.focus();
}
я этот код вставил с заменой функции bb кодов в свой файл editor.js + заменил в posting_buttons.html код кнопки на

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

	<input type="button" class="button2" accesskey="y" name="addlistitem" onclick="insert_listitem()" value="[*]" style="width: 40px" title="{L_BBCODE_LISTITEM_HELP}" />
но эта конструкция не работает.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10628
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3007 раз

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Татьяна5 »

В папке стиля для 3.1 нет editor.js
Вы там что-то своё вносили?

Отправлено спустя 10 минут 25 секунд:
Лучше дайте ссылку и тестовый аккаунт на форум, где функция есть. Думаю, её неплохо было бы оформить расширением (если это окажется возможно)
Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Татьяна5 писал(а): 22.10.2018 19:59 Лучше дайте ссылку и тестовый аккаунт на форум, где функция есть
Даю, но думаю для целого расширения тут слишком мало работы) Просто упускаю какую то деталь и поэтому перенесенный код кнопки и скрипта не работает на моем новом форуме. Да, скорее всего тема у меня модифицированная.

Ссылка на форум, где работает: http://crmp.su/forum/posting.php?mode=post&f=18 (сразу даю ссылку на страницу создания темы)
Логин и пароль для авторизации (одно и тоже): phpbbguru
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10628
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3007 раз

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Татьяна5 »

А как оно должно работать?
Нажимаю на list, вставляется обычный ббкод. Пункты списка не появляются
Что-то делаю не так?

Отправлено спустя 1 минуту 50 секунд:
Поняла. Выделить и нажать пункт списка
Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Татьяна5 писал(а): 22.10.2018 20:17 Поняла. Выделить и нажать пункт списка
Напишите текст вроде:
Раз
Два
Три

а затем выделите эти три строки и нажмите на кнопку [*], затем увидите как этот тег поставится в начале каждой строчки.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10628
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3007 раз

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Татьяна5 »

Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Татьяна5 писал(а): 22.10.2018 21:08 Вот так [3.1][3.2][dev] Reformed bbcodes - улучшения для стандартных ббкодов
Благодарю.
Но честно сказать, вы меня сильно озадачили с установкой данного мода) Закидывал в каталог template стиля папку event и reformedbbcodes.js но ничего, собственно не изменилось. Кроме того не понятно, какие правки нужно вносить в файл posting_buttons.html, чтобы обрабатывалось событие по вызову скрипта.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10628
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3007 раз

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Татьяна5 »

Denka писал(а): 22.10.2018 22:20мода
Какой мод? Это расширение, под phpBB 3.1 и 3.2 (на 3.2 не проверяла, но не работать там нечему)
Моды уже несколько лет как не пишут

Отправлено спустя 2 минуты 40 секунд:
[FAQ] Как устанавливать расширения (на 3.0 работать не будет)
Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Татьяна5 писал(а): 22.10.2018 22:22Какой мод?
Закинул все с соблюдением такой структуры:
/forum/ext/tatiana5/reformedbbcodes-master
но в админке у меня нету пункта меню, связанного с расширениями. У меня в админке вообще ничего нет, связанного с расширениями.
Думал, что если сейчас закинуть в корень форума это viewtopic.php?forum_uri=&t=42361
то появится нужный пункт, но ничего подобного. Я вообще не понимаю, что мне делать)

upd: у меня изначально нету папки ext в корне форума
Версия phpBBex: 1.9.1 (phpBB 3.0.14)
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10628
Стаж: 9 лет 11 месяцев
Благодарил (а): 185 раз
Поблагодарили: 3007 раз

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Татьяна5 »

У вас 3.0, он уже очень давно не поддерживается. Если хотите получать поддержку, обновляйтесь до 3.2.3
(Стиль и моды при обновлении будут потеряны, но расширения устанавливаются там без правок кода, просто и быстро)
Denka
phpBB 1.2.0
Сообщения: 10
Стаж: 2 года 9 месяцев
Благодарил (а): 2 раза

Re: [3.1] Автоматическая проставка тега [*] возле каждого пункта списка

Сообщение Denka »

Татьяна5 писал(а): 22.10.2018 22:35 У вас 3.0, он уже очень давно не поддерживается. Если хотите получать поддержку, обновляйтесь до 3.2.3
(Стиль и моды при обновлении будут потеряны, но расширения устанавливаются там без правок кода, просто и быстро)
Понимаю, но 3.0 не удовлетворил меня скорость работы, поэтому сижу на старой версии.
По сути Ваше расширение это скрипт, который можно просто интегрировать в editor.js, не так ли? Я прошу подсказать простое решение, как внедрить это расширение ручками на старой версии движка форума ;)

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