Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

#1 2012-11-14 22: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-14 23:03:38

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

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-14 23:15:16

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

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

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

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

Вне форума

#4 2012-11-14 23:22:44

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

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-14 23:28:25

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

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

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

Отредактировано fedor-jan (2012-11-14 23:30:17)

Вне форума

#6 2012-11-16 18: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 01:41:40

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

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 09:27:26

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

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

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

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.010 сек, 7 запросов выполнено - Использовано памяти: 537.54 Кбайт (Пик: 558.54 Кбайт) ]