Forums / National / Russian / Сборка «Фриланс-биржа» / Использование плагинов в других шаблонах

Yusupov
#36043 2012-11-01 06:50

Во-первых вам нужно создать не отдельную страницу а встроить свою форму в существующую страницу. Для этого вместо хука standalone используйте тот хук, который находится в том месте, куда вы хотите вставить свой фрагмент. То есть в вашем случае это страница списка пользователей, соответственно, это раздел users.inc.php, хук называется users.tags

Получается такой файл: top_freelance.users.tags.php c с кодом:

<?php
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=top_freelance
Part=users
File=top_freelance.users.tags
Hooks=users.tags
Tags=
Order=10
[END_SED_EXTPLUGIN]
==================== */
 
defined('SED_CODE') or die("Wrong URL.");
 
$plugin_title = 'Пример плагина'; //Заголовок плагина
$plugin_subtitle = 'Мы все чему нибудь учились ...'; //Подзаголовок плагина
$plugin_body  .= <<<EOT
<form name="form1"  method="post" action="">                       
    Введите первое число: <input type="text" name="formtext1"><br><br>
    Введите второе число: <input type="text" name="formtext2"><br><br>
    <input type="submit" name="formbutton1"><br><br>
</form>
EOT;
 
$plugin_body  .= '<b>Произведение ваших чисел = '.$_POST[formtext1]*$_POST[formtext2].'</b>';
?>

Чтобы перенести форму в шаблон надо ее поместить в свой тэг, то есть создаем тэг для формы:

$t->assign('MYFORM', $plugin_body);

Соответственно, созданный тэг {MYFORM} помещаем в шаблон users.tpl (или в вашем случае для биржи users.freelancers.tpl). 

Добавлено 3 минуты спустя:

В итоге получается такой код: 

<?php
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=top_freelance
Part=users
File=top_freelance.users.tags
Hooks=users.tags
Tags=
Order=10
[END_SED_EXTPLUGIN]
==================== */
  
defined('SED_CODE') or die("Wrong URL.");
  
$plugin_title = 'Пример плагина'; //Заголовок плагина
$plugin_subtitle = 'Мы все чему нибудь учились ...'; //Подзаголовок плагина
$plugin_body  .= <<<EOT
<form name="form1"  method="post" action="">                       
    Введите первое число: <input type="text" name="formtext1"><br><br>
    Введите второе число: <input type="text" name="formtext2"><br><br>
    <input type="submit" name="formbutton1"><br><br>
</form>
EOT;
  
$plugin_body  .= '<b>Произведение ваших чисел = '.$_POST[formtext1]*$_POST[formtext2].'</b>';

$t->assign('MYFORM', $plugin_body);

?>