Создание темы без заполнения заголовка

Предложения по созданию модов на бесплатной основе и переводам уже имеющихся модов на русский язык. Если вы хотите какой-нибудь мод, но не хватает знаний, чтобы его создать - напишите в этот раздел. Кто-то из заинтересованных программистов может взяться за вашу идею.
Ответить
cefp
Сообщения: 44
Зарегистрирован: 15.10.13 02:28

cefp » 31.03.14 22:48

В стандартном форуме при создании новой темы нужно обязательно ввести заголовок темы. Форум проверяет наличие заголовка и если заголовок не введен, то предлагает его ввести. Необходимо сделать так, чтобы при незаполненном заголовке форум не предлагал заполнить заголовок, а сам его заполнял из текста темы и создавал тему без дополнительных вопросов.

cefp
Сообщения: 44
Зарегистрирован: 15.10.13 02:28

cefp » 02.04.14 18:27

Нашел как сделать необязательным заголовок в личном сообщении:

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

OPEN
includes/ucp/ucp_pm_compose.php

FIND
				$error[] = $user->lang['EMPTY_MESSAGE_SUBJECT'];

REPLACE WITH
				$subject = '...';

FIND
				$error[] = $user->lang['EMPTY_MESSAGE_SUBJECT'];
REPLACE WITH
				$subject = '...';

Думаю, с темами можно примерно также, только добавить копирование текста из сообщения в заголовок. В каком файле и какие строки редактировать?

Shredder
Администратор
Сообщения: 1064
Зарегистрирован: 22.08.13 09:05

Shredder » 02.04.14 23:34

В posting.php найти и удалить фрагмент кода:

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

	// Parse subject
	if (!$preview && !$refresh && utf8_clean_string($post_data['post_subject']) === '' && ($mode == 'post' || ($mode == 'edit' && $post_data['topic_first_post_id'] == $post_id)))
	{
		$error[] = $user->lang['EMPTY_SUBJECT'];
	}

В includes/functions_posting.php найти:

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

				'post_subject'		=> $subject,

Заменить на:

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

				'post_subject'		=> ($post_mode == 'post') ? utf8_substr($data['message'], 0, 32) : $subject,

Найти:

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

				'topic_title'				=> $subject,

Заменить на:

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

				'topic_title'				=> substr($data['message'], 0, 32),

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

Заменять только самые первые вхождения.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.

cefp
Сообщения: 44
Зарегистрирован: 15.10.13 02:28

cefp » 03.04.14 19:57

Shredder, спасибо, хороший мод получился, даже длину текста для заголовка учли, я об этом думал, как об отдельном сложном вопросе.

Werefire
Сообщения: 1
Зарегистрирован: 04.12.15 17:47

Немного офф-топ

Werefire » 04.12.15 17:52

А как сделать так, чтобы в заголовке темы при её создании, кроме названия отображался id темы. Например Ответ № (topic_id) (текст_заголовка_темы)

Shredder
Администратор
Сообщения: 1064
Зарегистрирован: 22.08.13 09:05

Shredder » 05.12.15 23:30

Werefire
Использовать уже имеющуюся в движке шаблонную переменную {TOPIC_ID}, не?
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.

Ответить