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

Мод "Шаблон запроса"

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
betterqn
phpBB 1.4.4
Сообщения: 123
Стаж: 12 лет 1 месяц
Благодарил (а): 25 раз

Мод "Шаблон запроса"

Сообщение betterqn »

Кто подскажет, данный мод (шаблон запроса, как на этой конференции) возможно где-нибудь найти? Очень интересная штука.
Мод post tpl не предлагать, так как юзеры тупят с ббкодами :)
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 11 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 374 раза
Поблагодарили: 730 раз

Re: Шаблон запроса

Сообщение владимир1983 »

betterqn
Один в один такого мода нет.
Но есть что то отдалённо похожее, вот тут про это: Re: Шаблоны тем (первых сообщений)
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
betterqn
phpBB 1.4.4
Сообщения: 123
Стаж: 12 лет 1 месяц
Благодарил (а): 25 раз

Re: Шаблон запроса

Сообщение betterqn »

Это все читал...
Может гуру когда-нибудь выложат общественности свой туфля... :)
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 11 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 374 раза
Поблагодарили: 730 раз

Re: Шаблон запроса

Сообщение владимир1983 »

"свой туфля" делался по месту, и скорее всего не оформлялся в качестве МОДа.
Проявите инициативу, заинтересуйте материально возможного автора нужного вам функционала.
Так как функционал востребован, и довольно гибок в области возможного применения, то думаю тяготы по возможным расходам вам помогут нести те кому нужен такой функционал.
Ну а найти людей кто заинтересован в таком МОДе, вы можете просмотрев похожие темы.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
betterqn
phpBB 1.4.4
Сообщения: 123
Стаж: 12 лет 1 месяц
Благодарил (а): 25 раз

Re: Шаблон запроса

Сообщение betterqn »

Посмотрим сначала на этот мод [BETA] Template add fields forum ACP 1.0.0
Warlock75 вроде как обещал.
Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 12008
Стаж: 14 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2755 раз

Re: Шаблон запроса

Сообщение Sheer »

betterqn писал(а):Может гуру когда-нибудь выложат общественности свой туфля...
Могу свой туфля, почти один в один по функционалу. Не спер, чесс слово, сам сваял.
Аватара пользователя
Di_Mok
Former team member
Сообщения: 814
Стаж: 11 лет 6 месяцев
Откуда: Родной Гондурас ;)
Благодарил (а): 146 раз
Поблагодарили: 118 раз

Re: Шаблон запроса

Сообщение Di_Mok »

Sheer, с удовольствием заменил бы не сильно удобный post models на подобный мод
Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 12008
Стаж: 14 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2755 раз

Re: Шаблон запроса

Сообщение Sheer »

Файлы для редактирования: posting.php, language/ru/common.php, includes/function_posting.php, styles/стиль/templates/posting_body.html
posting.php
Найти

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

case 'popup': 
Перед вставить:

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

case 'pattern':
    $sql = '';
    generate_pattern();
break; 
Найти

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

// Start assigning vars for main posting page ...         
Перед вставить:

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

$pattern_enable = 0;
$forum_pattern = array(13, 14, 15, 24, 16, 17, 23); // список id форумов, где шаблон будет работать
if (in_array($forum_id, $forum_pattern)) // в этом форуме шаблон будет работать?
{
    $pattern_enable = 1;
} 
Тут array(13, 14, 15, 24, 16, 17, 23);ваш собственный список, если шаблон нужен везде, просто закомментруйте условие if
Найти

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

'S_POST_ACTION'            => $s_action, 
Перед вставить:

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

'S_PATTERN'                => ($pattern_enable) ? true : false, 
ncludes/function_posting.php
Найти

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

/**
* Fill smiley templates (or just the variables) with smilies, either in a window or inline
*/ 
Перед вставить:

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

function generate_pattern()
{
    global $user, $template;

    $user->setup('mods/pattern');
    page_header($user->lang['PATTERN']);

    $template->set_filenames(array(
        'body' => 'posting_pattern.html')
    );

    page_footer();
} 
language/ru/common.php
Найти:

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

$lang = array_merge($lang, array( 
После вставить

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

'PATTERN'            => ' Шаблон запроса ', 
styles/стиль/templates/posting_body.html (тут для subsilver2, но для prosilver разница невелика, сами справитесь :) )
Найти

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

<td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}" />
После вставить

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

	<!-- IF S_PATTERN -->
		<input type="button" class="btnbbcode" value="{L_PATTERN}" onclick="window.open('posting.php?mode=pattern', '_pattern', 'HEIGHT=600,resizable=yes,scrollbars=yes,WIDTH=540'); return false;">
	<!-- ENDIF -->
Далее в папке language/ru создать папку mods (если ее еще нет), туда записать файл pattern.php примерно следующего содержания

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

<?php
if (!defined('IN_PHPBB'))
{
    exit;
}
if (empty($lang) || !is_array($lang))
{
    $lang = array();
}
$lang = array_merge($lang, array(
    'PATTERN'            => 'Шаблон запроса',
    'QUEST_1'            => 'Вопрос 1: ',
    'QUEST_2'            => 'Вопрос 2: ',
// и так далее...
    ));
?>
В папку styles/стиль/templates/ записать файл posting_pattern.html

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

<!-- INCLUDE simple_header.html -->

<script type="text/javascript">
<!--
	var form_name = 'postform';
	var text_name = 'message';

	var optionsNumber = 2;
	var optionsList = new Array(2);
	var optionsKeys = new Array(2);

	optionsList[0] = '{L_QUEST_1}';
	optionsKeys[0] = 'q_1';

	optionsList[1] = '{L_QUEST_2}';
	optionsKeys[1] = 'q_2';

	function put_pattern()
	{
		var r = 0, text = '';
		for (r = 0; r < optionsNumber; r++)
		{
			text += '[b]'+optionsList[r]+'[/b] '+document.forms['pattern'].elements[optionsKeys[r]].value+'\r\n';
		}
		insert_text(text, false, true);
	}

//-->
</script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>

<form id="pattern" method="post" action="" onsubmit="return checkForm(this);" name="pattern">
<div class="panel" id="patternbox">
	<table class="tablebg" width="95%" cellspacing="1" cellpadding="4" border="0">
		<tr>
			<th colspan="2">{L_PATTERN}</th>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_1}</b></div></td>
			<td><input type="text" tabindex="1" name="q_1" id="0" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_2}</b></div></td>
			<td><input type="text" tabindex="1" name="q_2" id="1" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td colspan="2" align="center" valign="middle" class="row1">
		    <input type="submit" name="post" value="{L_SUBMIT}" class="btnmain" onclick="put_pattern();window.close();return false;" /><br />
			<br /><a class="nav" href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a></td>
		</tr>
	</table>
</div>
</form>
<!-- INCLUDE simple_footer.html -->
Обратите внимание! var optionsNumber = 2; Значение должно точно соответствовать количеству вопросов optionsList и optionsKeys, иначе работать не будет.
Почистить кеш. Не ставить на рабочий форум, сначала потестить на локалке!
Последний раз редактировалось Sheer 12.03.2011 11:57, всего редактировалось 1 раз.
Причина: Торопился... Подправил маленькие бяки
Аватара пользователя
Di_Mok
Former team member
Сообщения: 814
Стаж: 11 лет 6 месяцев
Откуда: Родной Гондурас ;)
Благодарил (а): 146 раз
Поблагодарили: 118 раз

Re: Шаблон запроса

Сообщение Di_Mok »

Sheer писал(а):но для prosilver разница невелика
Разница, всё же, есть: не в posting_body.html, а в posting_editor.html По логике, после

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

	<dl style="clear: left;">
		<dt><label for="subject">{L_SUBJECT}:</label></dt>
		<dd><input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" /></dd>
	</dl> 
Но мне показалось, что кнопка будет роднее среди ббкодов. Вставил в posting_buttons.html перед <!-- END custom_tags -->

Чтобы кнопка не "возвышалась" над остальными заменил btnbbcode на button2 Т.е.:

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

<!-- IF S_PATTERN -->
		<input type="button" class="button2" value="{L_PATTERN}" onclick="window.open('posting.php?mode=pattern', '_pattern', 'HEIGHT=600,resizable=yes,scrollbars=yes,WIDTH=540'); return false;">
<!-- ENDIF -->
Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 12008
Стаж: 14 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2755 раз

Re: Шаблон запроса

Сообщение Sheer »

Di_Mok
Беру в соавторы ;)
Аватара пользователя
iМаньяк
phpBB 2.0.0
Сообщения: 200
Стаж: 11 лет
Благодарил (а): 32 раза
Поблагодарили: 3 раза

Re: [FAQ] Пользовательские BBCode

Сообщение iМаньяк »

Di_Mok спс, но подскажите как закомментировать для всего форума?
Sheer писал(а):Тут array(13, 14, 15, 24, 16, 17, 23);ваш собственный список, если шаблон нужен везде, просто закомментруйте условие if
Аватара пользователя
iМаньяк
phpBB 2.0.0
Сообщения: 200
Стаж: 11 лет
Благодарил (а): 32 раза
Поблагодарили: 3 раза

Re: Шаблон запроса

Сообщение iМаньяк »

Di_Mok писал(а):Разница, всё же, есть: не в posting_body.html, а в posting_editor.html По логике, после
ну тогда уже и для тех у кого установлен Advanced BBCode Box 3.

открываем posting_abbcode_buttons.html

находим

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

<!-- END custom_tags -->
после вставляем

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

<!-- IF S_PATTERN -->
		<input style="margin:4px 0 0 0;" type="button" class="button2" value="{L_PATTERN}" onclick="window.open('posting.php?mode=pattern', '_pattern', 'HEIGHT=600,resizable=yes,scrollbars=yes,WIDTH=540'); return false;">
<!-- ENDIF -->
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 10590
Стаж: 11 лет 8 месяцев
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 1520 раз
Поблагодарили: 1316 раз

Re: Шаблон запроса

Сообщение Пчелкин »

Добрый день..а если надо шесть вопросов ?
В каких файлах необходимо продолжение?
в pattern.php у меня так....

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

<?php
if (!defined('IN_PHPBB'))
{
    exit;
}
if (empty($lang) || !is_array($lang))
{
    $lang = array();
}
$lang = array_merge($lang, array(
    'PATTERN'            => 'Дополнительная информация к сообщению',
    'QUEST_1'            => 'О какой аппаратуре будет речь в сообщении?: ',
    'QUEST_2'            => 'Параметры работы аппаратуры в данном случае?: ',
    'QUEST_3'            => 'Условия работы аппаратуры на момент проблемы?: ',
    'QUEST_4'            => 'Что еще вы можете сообщить об аппаратуре?: ',
    'QUEST_5'            => 'Пытались ли вы воспользоваться нашим поиском?: ',
    'QUEST_6'            => 'Сколько времени вы можете ждать ответы?: ',
	
// и так далее...
    ));
?>
А дальше? все по сценарию и только заменить цифру в строке var optionsNumber = 2; на 6 и все?
Или в posting_pattern.html должно выглядеть все так?

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

<!-- INCLUDE simple_header.html -->

<script type="text/javascript">
<!--
	var form_name = 'postform';
	var text_name = 'message';

	var optionsNumber = 6;
	var optionsList = new Array(2);
	var optionsKeys = new Array(2);

	optionsList[0] = '{L_QUEST_1}';
	optionsKeys[0] = 'q_1';

	optionsList[1] = '{L_QUEST_2}';
	optionsKeys[1] = 'q_2';

	optionsList[2] = '{L_QUEST_3}';
	optionsKeys[2] = 'q_3';

    optionsList[3] = '{L_QUEST_4}';
	optionsKeys[3] = 'q_4';

    optionsList[4] = '{L_QUEST_5}';
	optionsKeys[4] = 'q_5';
	
    optionsList[5] = '{L_QUEST_6}';
	optionsKeys[5] = 'q_6';	
	
	function put_pattern()
	{
		var r = 0, text = '';
		for (r = 0; r < optionsNumber; r++)
		{
			text += '[b]'+optionsList[r]+'[/b] '+document.forms['pattern'].elements[optionsKeys[r]].value+'rn';
		}
		insert_text(text, false, true);
	}

//-->
</script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>

<form id="pattern" method="post" action="" onsubmit="return checkForm(this);" name="pattern">
<div class="panel" id="patternbox">
	<table class="tablebg" width="95%" cellspacing="1" cellpadding="4" border="0">
		<tr>
			<th colspan="2">{L_PATTERN}</th>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_1}</b></div></td>
			<td><input type="text" tabindex="1" name="q_1" id="0" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_2}</b></div></td>
			<td><input type="text" tabindex="1" name="q_2" id="1" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_3}</b></div></td>
			<td><input type="text" tabindex="1" name="q_3" id="2" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_4}</b></div></td>
			<td><input type="text" tabindex="1" name="q_4" id="3" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_5}</b></div></td>
			<td><input type="text" tabindex="1" name="q_5" id="4" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td><div align="right"><b>{L_QUEST_6}</b></div></td>
			<td><input type="text" tabindex="1" name="q_6" id="5" size="25" value="" class="inputbox" /></td>
		</tr>
		<tr>
			<td colspan="2" align="center" valign="middle" class="row1">
		    <input type="submit" name="post" value="{L_SUBMIT}" class="btnmain" onclick="put_pattern();window.close();return false;" /><br />
			<br /><a class="nav" href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a></td>
		</tr>
	</table>
</div>
</form>
<!-- INCLUDE simple_footer.html -->
Добавлено спустя 4 минуты 20 секунд:
Sheer писал(а):if (in_array($forum_id, $forum_pattern)) // в этом форуме шаблон будет работать?
И это не понятно...
На всяк файлы приклепляю..что-то я не допетриваю...
Вложения
Правленные.rar
(61.62 КБ) 257 скачиваний
Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 12008
Стаж: 14 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2755 раз

Re: Шаблон запроса

Сообщение Sheer »

В твоем случае должно быть так

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

    var optionsNumber = 6;
    var optionsList = new Array(6);
    var optionsKeys = new Array(6); 
Пчелкин писал(а):И это не понятно...
Что ж тут непонятного? В этом месте осуществляется проверка: будет ли работать шаблон запроса в этом форуме (разделе конференции) или нет. Ведь шаблон запроса нужен не везде.

Остальное вроде бы верно.
Аватара пользователя
iМаньяк
phpBB 2.0.0
Сообщения: 200
Стаж: 11 лет
Благодарил (а): 32 раза
Поблагодарили: 3 раза

Re: Шаблон запроса

Сообщение iМаньяк »

Sheer писал(а):Что ж тут непонятного? В этом месте осуществляется проверка: будет ли работать шаблон запроса в этом форуме (разделе конференции) или нет. Ведь шаблон запроса нужен не везде.
т.е. так для всего форума?

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

if (in_array($forum_id))

Вернуться в «Запросы модов для phpBB 3.0.x»