[ 新規 | 編集 | 差分 ] [ 検索 | 一覧 | 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 sort(keys %categories);
}
# yakty add [create page in category] end

02663