Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2012-11-14 23:54:58

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

вопросы по работе плагинов

Обьясните пожалуйста следующие моменты.

1. Создан плагин, на нем страница по адресу /contacts/ с формой, я в эту страницу post'ом из новости передаю переменную "age". надо этой переменной заполнить input в форме которая на странице /contacts/

сейчас она просто выводится:

function plugin_contacts()
{global $twig, $template, $SYSTEM_FLAGS, $mysql;
    $tpath = locatePluginTemplates(array('contacts'), 'contacts', 1);
		echo $_REQUEST["age"];
		$_SESSION['captcha'] = rand(00000, 99999);
		$tvars['vars']['captcha'] = '';
		$tvars['regx']["'\[captcha\](.*?)\[/captcha\]'si"] = '$1';

	$xt = $twig->loadTemplate($tpath['contacts'].'contacts.tpl');
	
	$template['vars']['mainblock'] = $xt->render($tVars);
	
}

как быть?


2. Хорошо-бы эту страничку /contacts/ выводить не в шаблоне сайта, а просто как форму во всплывающем окошке.
я знаю что нужно использовать target_blank но как его к кнопке прилепить и убрать шаблон?

Не в сети

#2 2012-11-15 00:03:38

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: вопросы по работе плагинов

1. Перед

$xt = $twig->loadTemplate($tpath['contacts'].'contacts.tpl');

добавить

$tVars['age'] = secure_html($_POST['age']);

2. "Как прилепить к кнопке" - не понял вопроса; "Как убрать шаблон":

global $SUPRESS_TEMPLATE_SHOW;

$SUPRESS_TEMPLATE_SHOW = 1;

После этого на странице будет отображаться только содержимое $tvars['vars']['mainblock']

Не в сети

#3 2012-11-15 00:15:16

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вопросы по работе плагинов

спасибо
пункт 2 понял.
пункт 1 - непонял что писать в .tpl чтобы вывести

про прилепить к кнопке - окошко с формой нашей должно открываться при нажатии на кнопку формы которая отправляет "age" и надо задать окошку с формой размеры в пикселях, чтобы на весь экран форма не открывалась

Не в сети

#4 2012-11-15 00:22:44

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: вопросы по работе плагинов

fedor-jan,
1. Используй {{ age }}

<input type="text" name="age" value="{{ age }}"/>

2. Чтобы открылось в новом окне достаточно у тега <form> добавить параметр target="_blank"
Если же хочешь ещё и размер задавать, то открывай через Javascript (набери в поисковике "target blank задать размеры", получишь массу ссылок на эту тему)
Единственная проблема - параметр age надо будет передавать через GET и в коде плагина его получать через $_GET['age']

Не в сети

#5 2012-11-15 00:28:25

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вопросы по работе плагинов

спасибо, всё понятно, думаю я разберусь.
только вот интересен мне такой момент: в случае с заданием размеров окна, через GET будет передаваться email на который будут отсылаться данные формы. в этом нет серьёзной проблемы, спамом не засыпет?
т.е. к каждой новости добавляется через xfields заданный автором e-mail - для получения писем по обратной связи. его-то мы и будем GET'ом передавать.

Изменено fedor-jan (2012-11-15 00:30:17)

Не в сети

#6 2012-11-16 19:43:35

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вопросы по работе плагинов

обьясните пожалуйста как сюда вписать капчу:

function plugin_add()
{global $SUPRESS_TEMPLATE_SHOW; $SUPRESS_TEMPLATE_SHOW = 1;

    echo '<form action="added/" method="post"><input type="hidden" name="to" value="кому?"><input type="hidden" name="about" value="{title}">
Ф.И.О.: <input type="text" name="name" style="width:210px;"/> Ваш E-Mail: <input type="text" name="email" style="width:180px;"/> Телефон: <input type="text" name="telephone" style="width:170px;"/><br />
Ваше Сообщение:<br /><textarea cols="100" rows="10" name="message"></textarea><br />
<input type="submit" value="отправить"/>
</form>';

}

Не в сети

#7 2012-11-18 02:41:40

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: вопросы по работе плагинов

fedor-jan, раз пишешь свой плагин, то лучше GET'ом передавать не email, а ID новости.
А уже в плагине - заглядывать в новость и вытаскивать email.
Иначе могут быть проблемы (к примеру, заспамят кого-то через твой сайт).

обьясните пожалуйста как сюда вписать капчу:

Работа с капчей состоит из 3х моментов (где yourplugin - ID твоего плагина):
1. Назначение уникального кода:

$captcha_url = admin_url."/captcha.php?id=yourplugin&rand=".rand(00000, 99999);
$_SESSION['captcha.yourplugin'] = rand(00000, 99999);;

2. Вывода самой капчи:

echo '<input type="text" name="vcode" /> <img src="'.$captcha_url.'"/>'

3. Проверки правильности ввода папчи после того как пользователь нажмёт на "отправить"

if ($_REQUEST['vcode'] != $_SESSION['captcha.yourplugin']) {
// не прошли проверку
}

Не в сети

#8 2012-11-18 10:27:26

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вопросы по работе плагинов

всё понял, всё работает, спасибо.

Не в сети

Подвал раздела

Работает на FluxBB