Вы не зашли.
вобщем обновился я до последней версии, получилось у меня вот-так
<form method="post" action="">
<input type="text" name="a"></input>
<input type="text" name="b"></input>
<input type="submit" name="submit" value="Отправить" />
</form>
<?php
if (!defined('NGCMS'))
exit('HAL');
register_plugin_page('test','','plugin_test');
function plugin_test()
{global $twig, $template, $SYSTEM_FLAGS;
$SYSTEM_FLAGS['info']['title']['group'] = 'Проверка тестовой страницы';
$tpath = locatePluginTemplates(array('test'), 'test', 1);
if($_REQUEST['submit']){
$a=$_POST['a'];
$b=$_POST['b'];
echo $a;
echo $b;
print 'Форма отправлена';
}
$xt = $twig->loadTemplate($tpath['test'].'test.tpl');
$tVars = array(
'test' => 'Првоеряем тег в шаблоне', //Для провекри в шаблон test.tpl нужно добавить {{test}}
);
$template['vars']['mainblock'] = $xt->render($tVars);
}
?>
всё работает, переменные выводятся.
в базе создана таблица ng_adds с полями "a" и "b"
ВОПРОС 1: как в неё через переменную $mysql фигачить записи?
ВОПРОС 2: если в tpl будет ещё одна форма, и добавлять она будет данные в другую таблицу. (формы будут в табах - одновременно на экране только одна будет отображаться)
как правильно развести с них данные в разные таблицы?
появились ещё вопросы.
допустим в test.tpl я создаю форму добавления новости <form><input1><input2>...</form> она добавляент простую текстовую информацию, в MySQL
скрипт добавления полей надо писать в test.php
как завязать исполнение формы на test.php (мне ведь ненужно чтобы он весь срабатывал)
в плагине uprofile это реализовано так
<form id="profileForm" method="post" action="{form_action}" enctype="multipart/form-data">
а переменная form_action - в php прописана так
'form_action'=>generateLink('core', 'plugin', array('plugin' => 'uprofile', 'handler' => 'apply')),
как это работает, подойдёт ли это для моих целей или можно сделать проще?
да, прошу прощения за невнимательность, всё заработало.
пока побую дальше разобраться сам, спасибо
0.9.2 Release [SVN646]
спасибо за ответ
вот тут что то не так
$xt = $twig->loadTemplate($tpath['test'].'test.tpl');
возвращает ошибку
Fatal error: Call to a member function loadTemplate() on a non-object in....
открыл мануалы twiq, и у меня возник вопрос а что это за переменная $xt?
непонимаю, ну начнём с малого, как сделать чтобы плагин выводил просто мою форму (input поля и кнопка submit)?
register_plugin_page($pname, $mode, $func_name, $show_template = 1)
как это использовать?
вобщем, решил разобраться
http://wiki.ngcms.ru/index.php/Готовый_пример_плагина вот такой плагин запилил, вроде работает (гы ну конфиг открывается)
у меня есть веб форма (html с полями + .php) которая добавляет в MySQL таблицу записи. надо её в этот плагин запихнуть, чтобы замутить проверку пользователя, перед добавлением в базу.
я видел в мануале скрипты для вывода в статику и для создания собственной страницы плагина, но невъеду чегото где их писать и что они именно выводить будут - я не программист.
поясните как это лучше сделать, и где подробнее вся эта система разжёвана.
чики программачики. дело в от в чём
есть самопальная вебформа и не одна.
это шаблон профиля пользователя (uprofile), ссылающаийся на .php бескомпромисно созданый прям в папке с шаблоном.
нужно сделать чтобы этот .php сам определял пользователя, который отправил в него запрос.
в данный момент информация о пользователе идёт из самой формы переменной {name}.
я правильно понял что в таком случае мне могут не шибко умные подонки на сайт херню размещасть с выдуманного акка или не со своего?
как обезопасится?
гы, действительно пашет, чёто я тупил. спасибо
вся загвоска в том что javascript в статике не пашет, через ads_pro незапихнёш.
как решают такие проблемы. скрип-то простой, надо кнопочки чтоб работали
эээ, хулиганы.
вобщем такой расклад...
есть одна вебформа рабочая
форма в статике, .php исполняющий лежит в папке scripts
там есть поле одно типа кто новость разместил, и надо чтобы туды, ежели юзер залогинен его имя подставлялось.
есс-но {name} непрокатывает, в статике [is-logged] непашет
чо делать на...
чё, доебаца решил?
всё зомутил кароче - создал в папке с шаблоном папку scripts для исполняющего .php фаила и на него ссылкку в статике с вертушки прописал.
теперь вопрос другой. .php выполняется и выводит сообщение что типа элимент дабавлен, но делает он это не на шаблоне а по хардкору - сразу в щщи.
как зомутить чтоб в шаблоне результат выводил?
статические страницы ёпта
встал колом вопрос замутить веб форму.
где хранится статика я непросёк, куда сунуть .php который будет обрабатывать форму и добавлять данные в MySQL я непросёк.
как зомутить леди и джентельмены?
в head добавляем <var type="php" />?
чё там писать, путь куда указывать?
а как правильно в main.tpl прописать переменную?
я юзал плагин cat_description "Описание категорий"
на странице категории перед выводом новостей выводит информацию
http://ngcms.ru/forum/viewtopic.php?id=849
Есть один денвер, на нём MySQL, на ней NGCMS в базе "basename"
на NG есть ADS там под {ads1} со свойством "сквозной" прописан php код:
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("basename", $con);
$result = mysql_query("SELECT * FROM basetable");
while($row = mysql_fetch_array($result))
{
echo $row['xfields_field1'] . " " . $row['field2'];
echo "hi" ; }
mysql_close($con);
?>
почему он не пашет - не выводит нихера даже ошибку.
(названия basetable и значения форм скопипастил непосредственно с самого mysql)
я гдето ошибся? как проверить работет код или нет?
/plugin/ublog/?uid=ID_ЮЗЕРА
у меня работает, тока по какому шаблону он их выводит я чёто не вьехал
fedor-jan, ну походу в новом ublog можно на отдельной странице
где его взять? у меня щас v0.01 что с последней версией ng установилась
fedor-jan, а смисл такое делать? поделись гемороем)
да там кароче дофига дополнительных полей - и новости состоят из них.
а эти не нужны т.к. по псех полях - выбор значения
при добавлении новости ng всёравно будет просить их заполнить
собственно сабж.
т.к. новости у меня состоят из дополнительный полей
надо всё остальное сделать нееобязательным а лучше удалить
не такой варик некатит, там список для редактирования, в админке.
а на отдельной странице на сайте как это сделать?
или я что-то опять недопонял
спасибо большое, всё понял.