|
|
11.05.2011, 21:58
|
|
dimidroll
Егоровых Дмитрий

Зарегистрирован: 2007-10-05
Сообщений: 81
|
Генерирую альтернативную форму публикаций. Задача - отметить разделы, в которых будет отобразаться текущая публикация. Нашел функцию в коде - вывод разделов в textarea (по аналогии компонента "Скидки"). Вставляю код Код:
".( $warnText ? "<div class='warnText'>$warnText</div>" : NULL )."
<form name='adminForm' id='adminForm' enctype='multipart/form-data' method='post' action='/netcat/add.php'>
<div id='nc_moderate_form'><div class='nc_clear'></div>
<input name='admin_mode' type='hidden' value='$admin_mode' />
".( $nc_core->token->is_use($action) ? $nc_core->token->get_input() : "")."
<input name='catalogue' type='hidden' value='$catalogue' />
<input name='cc' type='hidden' value='$cc' />
<input name='sub' type='hidden' value='$sub' />
<input name='posting' type='hidden' value='1' />
<input name='curPos' type='hidden' value='$curPos' />
<input name='f_Parent_Message_ID' type='hidden' value='$f_Parent_Message_ID' />
".( $admin_mode && !$systemTableID ? "".($moderationID==1 && !isset($f_Checked) ? opt($f_Checked=1,"") : "")."
<div id='nc_moderate_settings'>
".($admin_mode ? "<div class='left'>
".CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_KEYWORD." <input name='f_Keyword' type='text' size='20' maxlength='255' value='".$f_Keyword."'>
</div>
<div class='left'>
<img src='/netcat/admin/images/prior.gif' width='16' height='16' align='left' alt='Приоритет' title='Приоритет' />
<input name='f_Priority' type='text' size='3' maxlength='3' value='".$f_Priority."' />
</div>" : "")."
".(CheckUserRights( $current_cc['Sub_Class_ID'], "moderate", $posting )? "
<div class='left_checkbox'>
<input id='chk' name='f_Checked' type='checkbox' value='1' ".($f_Checked ? "checked='checked'" : "")." /> <label for='chk'>".NETCAT_MODERATION_TURNON."</label>
</div>"
: "<input id='chk' name='f_Checked' type='hidden' value='".($f_Checked ? 1 : 0)."' />")."
</div>
" : NULL )." <div class='nc_clear'></div>
</div>
".nc_string_field("Name", "maxlength='255' size='50'", $classID, 1)."<br />
<br />
".nc_date_field("Date", "", $classID, 1)."<br />
<br />
".nc_string_field("Autor", "maxlength='255' size='50'", $classID, 1)."<br />
<br />
".nc_text_field("Text", "", $classID, 1)."<br />
<br />
Выберите разделы, где отобразится статья:
<br>
<select name=f_Subdivisions0 size=10 multiple style='width:100%'>
";
$sections = GetStructure(830,"Checked=1");
$tp = ",$f_Subdivisions,";
foreach ($sections as $row)
{
print "<option value='$row[Subdivision_ID]'";
print ">".str_repeat(" ", ($row["level"]+1)*4).
"$row[Subdivision_Name]</option>\n";
}
$result .= "
</select>
<br><br>
".(!$AUTH_USER_ID && $current_cc['UseCaptcha'] && $MODULE_VARS['captcha'] ? nc_captcha_formfield()."<br/><br/>".NETCAT_MODERATION_CAPTCHA." (*):<br/><input type='text' name='nc_captcha_code' size='10'><br/><br/>" : "")."
<br/>".NETCAT_MODERATION_INFO_REQFIELDS."<br/><br/>
".nc_submit_button(NETCAT_MODERATION_BUTTON_ADD)."
</form>
разделы отображаются в куче сверху, а не там где нужно. Подскажи в чем может быть проблема?
ася - 97336016
|
|
|
11.05.2011, 22:42
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Вместо print используйте $addForm
|
|
|
11.05.2011, 22:56
|
|
dimidroll
Егоровых Дмитрий

Зарегистрирован: 2007-10-05
Сообщений: 81
|
спасибо, получилось!
НО один момент, опять слегка съезжает надпись "Звездочкой (*) отмечены поля, обязательные для заполнения." оказывается вверху всех полей 
Код:
".( $warnText ? "<div class='warnText'>$warnText</div>" : NULL )."
<form name='adminForm' id='adminForm' enctype='multipart/form-data' method='post' action='/netcat/add.php'>
<div id='nc_moderate_form'><div class='nc_clear'></div>
<input name='admin_mode' type='hidden' value='$admin_mode' />
".( $nc_core->token->is_use($action) ? $nc_core->token->get_input() : "")."
<input name='catalogue' type='hidden' value='$catalogue' />
<input name='cc' type='hidden' value='$cc' />
<input name='sub' type='hidden' value='$sub' />
<input name='posting' type='hidden' value='1' />
<input name='curPos' type='hidden' value='$curPos' />
<input name='f_Parent_Message_ID' type='hidden' value='$f_Parent_Message_ID' />
".( $admin_mode && !$systemTableID ? "".($moderationID==1 && !isset($f_Checked) ? opt($f_Checked=1,"") : "")."
<div id='nc_moderate_settings'>
".($admin_mode ? "<div class='left'>
".CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_KEYWORD." <input name='f_Keyword' type='text' size='20' maxlength='255' value='".$f_Keyword."'>
</div>
<div class='left'>
<img src='/netcat/admin/images/prior.gif' width='16' height='16' align='left' alt='Приоритет' title='Приоритет' />
<input name='f_Priority' type='text' size='3' maxlength='3' value='".$f_Priority."' />
</div>" : "")."
".(CheckUserRights( $current_cc['Sub_Class_ID'], "moderate", $posting )? "
<div class='left_checkbox'>
<input id='chk' name='f_Checked' type='checkbox' value='1' ".($f_Checked ? "checked='checked'" : "")." /> <label for='chk'>".NETCAT_MODERATION_TURNON."</label>
</div>"
: "<input id='chk' name='f_Checked' type='hidden' value='".($f_Checked ? 1 : 0)."' />")."
</div>
" : NULL )." <div class='nc_clear'></div>
</div>
".nc_string_field("Name", "maxlength='255' size='50'", $classID, 1)."<br />
<br />
".nc_date_field("Date", "", $classID, 1)."<br />
<br />
".nc_string_field("Autor", "maxlength='255' size='50'", $classID, 1)."<br />
<br />
".nc_text_field("Text", "", $classID, 1)."<br />
<br />
Выберите разделы, где отобразится статья:
<br>
";
$addForm .= "<select name=f_Subdivisions0 size=10 multiple style='width:100%'>";
$sections = GetStructure(830,"Checked=1");
$tp = ",$f_Subdivisions,";
foreach ($sections as $row)
{
$addForm .= "<option value='$row[Subdivision_ID]'";
if (strpos($tp, ",$row[Subdivision_ID],")!==false) $addForm .= " selected";
$addForm .= ">".str_repeat(" ", ($row["level"]+1)*4).
"$row[Subdivision_Name]</option>\n";
}
$addForm .= "</select>";
echo "
<br><br>
".(!$AUTH_USER_ID && $current_cc['UseCaptcha'] && $MODULE_VARS['captcha'] ? nc_captcha_formfield()."<br/><br/>".NETCAT_MODERATION_CAPTCHA." (*):<br/><input type='text' name='nc_captcha_code' size='10'><br/><br/>" : "")."
<br/>".NETCAT_MODERATION_INFO_REQFIELDS."<br/><br/>
".nc_submit_button(NETCAT_MODERATION_BUTTON_ADD)."
</form>
ася - 97336016
|
|
|
12.05.2011, 10:09
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Как устроен вывод альтернативной формы? - сначала все собирается в переменную $addForm, после чего она выводится:
eval("\$addForm = \"КодФормыДобавления\";");
echo $addForm;
Если в форме будет echo/print, то, естественно, строка, которую они печатают, будет "выше" $addForm.
Замените
на
|
|
|
12.05.2011, 12:43
|
|
dimidroll
Егоровых Дмитрий

Зарегистрирован: 2007-10-05
Сообщений: 81
|
каким образом получить значения выбранных элементов? из select и вывести (для примера) на экране. Запутался... Денис спасибо, с формой разобрался
ася - 97336016
|
|
|
12.05.2011, 14:40
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
$f_Subdivisions0
в случае с multiple - это массив
|
|
|
12.05.2011, 23:24
|
|
dimidroll
Егоровых Дмитрий

Зарегистрирован: 2007-10-05
Сообщений: 81
|
Цитата:Как устроен вывод альтернативной формы? - сначала все собирается в переменную $addForm, после чего она выводится:
eval("$addForm = "КодФормыДобавления";");
echo $addForm;
Если в форме будет echo/print, то, естественно, строка, которую они печатают, будет "выше" $addForm.
с альтернативным добавлением все понятно, все работает как надо, а как быть с изменением и удалением? Там каким образом формируется форма?
ася - 97336016
|
|
|
13.05.2011, 12:04
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
через echo
|
|
|
13.05.2011, 18:57
|
|
dimidroll
Егоровых Дмитрий

Зарегистрирован: 2007-10-05
Сообщений: 81
|
Денис, спасибо! Ты МЕГА-мозг!
ася - 97336016
|