In the admin/pages/add.php file is a section of code that adds a new page, lines 120 - 138 ...
// Work-out if the page parent (if selected) has a seperate template or language to the default
$query_parent = $database->query("SELECT template, language FROM ".TABLE_PREFIX."pages WHERE page_id = '$parent'");
if($query_parent->numRows() > 0) {
$fetch_parent = $query_parent->fetchRow();
$template = $fetch_parent['template'];
$language = $fetch_parent['language'];
} else {
$template = '';
$language = DEFAULT_LANGUAGE;
}
// Insert page into pages table
$query = "INSERT INTO ".TABLE_PREFIX."pages (page_title,menu_title,parent,template,target,position,visibility,searching,menu,language,admin_groups,viewing_groups,modified_when,modified_by) VALUES ('$title','$title','$parent','$template','_top','$position','$visibility','1','1','$language','$admin_groups','$viewing_groups','".time()."','".$admin->get_user_id()."')";
$database->query($query);
if($database->is_error()) {
$admin->print_error($database->get_error());
}
Can I suggest that instead of always inserting "1" for the menu, can this be modified to insert the parent link menu value.
For a multi-menu template it is annoying to have to reset the new page to the correct menu when the value is already known.
Suggested mod...
// Work-out if the page parent (if selected) has a seperate template or language to the default
$query_parent = $database->query("SELECT template, language, menu FROM ".TABLE_PREFIX."pages WHERE page_id = '$parent'");
if($query_parent->numRows() > 0) {
$fetch_parent = $query_parent->fetchRow();
$template = $fetch_parent['template'];
$language = $fetch_parent['language'];
$menu = $fetch_parent['menu']; //GWB
} else {
$template = '';
$language = DEFAULT_LANGUAGE;
$menu = 1; //GWB
}
// Insert page into pages table
$query = "INSERT INTO ".TABLE_PREFIX."pages (page_title,menu_title,parent,template,target,position,visibility,searching,menu,language,admin_groups,viewing_groups,modified_when,modified_by) VALUES ('$title','$title','$parent','$template','_top','$position','$visibility','1','$menu','$language','$admin_groups','$viewing_groups','".time()."','".$admin->get_user_id()."')";
$database->query($query);
if($database->is_error()) {
$admin->print_error($database->get_error());
}
I find this very usable..
Might I suggest adding the parents template as well, and maybe even parents visibility?
John
The parent template is already used in the sql statement, and visibility is a value on the form when creating the page, so I think they are both OK?
Hmm didn't see it, must have dirt im my eyes :P
but yes, they are there ;)
John
Is there a process to get this implemented in future releases?
You can open a ticket and hope, that someone finds it useful............ :wink:
http://project.websitebaker2.org/newticket
rgds
erpe
Done, easier than modifying WB on every release! :-)