我使用的是gallery3 php软件,它基于kohana框架。有人知道如何添加复选框到专辑信息表单吗?Gallery3中Kohana窗体上的复选框
我想是这样的:
静态函数get_edit_form($父){$ 形式=新的锻造( “专辑/更新/ {$父 - > ID}”, “”, “后”,数组(“id”=>“g-edit-album-form”)); $ form-> hidden(“from_id”) - > value($ parent-> id); $ group = $ form-> group(“edit_item”) - > label(t(“Edit Album”));
和
公共功能更新($ album_id){ 访问:: verify_csrf(); $ album = ORM :: factory(“item”,$ album_id); access :: required(“view”,$ album); access :: required(“edit”,$ album);
$form = album::get_edit_form($album);
try {
$valid = $form->validate();
$album->title = $form->edit_item->title->value;
$album->description = $form->edit_item->description->value;
/* MPK: information fields for albums */
$album->information = $form->edit_item->information->value;
$album->info = $form->edit_item->info->value;
$album->sort_column = $form->edit_item->sort_order->column->value;
$album->sort_order = $form->edit_item->sort_order->direction->value;
if (array_key_exists("name", $form->edit_item->inputs)) {
$album->name = $form->edit_item->inputs["name"]->value;
}
$album->slug = $form->edit_item->slug->value;
$album->validate();
} catch (ORM_Validation_Exception $e) {
// Translate ORM validation errors into form error messages
foreach ($e->validation->errors() as $key => $error) {
$form->edit_item->inputs[$key]->add_error($error, 1);
}
$valid = false;
}
if ($valid) {
$album->save();
module::event("item_edit_form_completed", $album, $form);
log::success("content", "Updated album", "<a href=\"albums/$album->id\">view</a>");
message::success(t("Saved album %album_title",
array("album_title" => html::purify($album->title))));
if ($form->from_id->value == $album->id) {
// Use the new url; it might have changed.
json::reply(array("result" => "success", "location" => $album->url()));
} else {
// Stay on the same page
json::reply(array("result" => "success"));
}
} else {
json::reply(array("result" => "error", "html" => (string)$form));
}
}
领域确实出现在表单上,但是字段值不会被保存到数据库中。在数据库中它是一个tinyint(1)。
您可能想要在问题开始时修复代码格式。 – Donovan 2011-01-21 17:25:00