カテゴリ内へのページ作成を容易にします。
[create page in category]
新規作成ページにカテゴリを選択するコンボボックスを表示します。
そこでカテゴリを選択してページを作成するとカテゴリ名/ページ名でページが作成できます。
resource.txtへの追加
selectcategory | ページを作成するカテゴリを選択してください。 |
init_form()内の変更
# # $form{mycmd} is frozen here. # $form{mypage} = "$form{mycategory}/$form{mypage}" if(length($form{mycategory}) > 0); # yakty add [create page in category] $form{mymsg} = &code_convert(\$form{mymsg}, $kanjicode); $form{myname} = &code_convert(\$form{myname}, $kanjicode);
do_create()内の変更
sub do_create { &print_header($CreatePage); # yakty add [create page in category] start my @categories = &get_categories; my $categorylist; $categorylist = qq(<select name="mycategory"><option value=""></option>); foreach (@categories){ $categorylist .= qq(<option value="$_">$_</option>); } $categorylist .= qq(</select>); # yakty add [create page in category] end print <<"EOD"; <form action="$url_cgi" method="post"> <!-- input type="hidden" name="mycmd" value="edit" --><!-- yakty del [login/logout] --> <!-- yakty add [create page in category] start --> <strong>$resource{selectcategory}</strong><br /> $categorylist<br /> <!-- yakty add [create page in category] end --> <input type="hidden" name="mycmd" value=@{[&valid_password($form{mypassword}) ? "adminedit" : "edit"]}><!-- yakty add [login/logout] --> <strong>$resource{newpagename}</strong><br> <input type="text" name="mypage" value="" size="80"> <input type="submit" value="$resource{createbutton}"><br> </form> EOD &print_footer($CreatePage); }
get_categories()追加
# yakty add [create page in category] start sub get_categories { my %categories; foreach (keys %database){ if(/^(.+)\//){ $categories{$1} = 1; } } return sort(keys %categories); } # yakty add [create page in category] end