[ 新規 ] [ 検索 | 一覧 | FrontPage ] [ 履歴 (RSS) | 差分履歴 (RSS) ] [ ログイン ]
【PR】Amazon | SL-C3000 | SL-C1000(3/18発売!) | SL-C860 | SL-6000W | SL-6000L | SL-6000N

WalWiki/カスタマイズ/カテゴリ内ページ作成

差分表示


編集前の状態に戻します。
カテゴリ内へのページ作成を容易にします。

* [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 keys %categories;
     return sort(keys %categories);
 }
 # yakty add [create page in category] end


02667