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

WalWiki/カスタマイズ/カスタムツールバー

編集

編集可能なツールバー、およびユーザー毎のツールバーを定義します。

[[custom toolbar]

編集

CustomToolbarページでツールバーの定義を行います。
クッキーに保存されいるユーザー名のセクションがあればそのセクションの内容を追加ツールバーとして表示します。
ユーザー毎の定義がない場合には #default のツールバーを追加で表示します。

グローバル変数追加

編集
my $CustomToolbar = 'CustomToolbar';                        # yakty add [custom toolbar]

print_header()内の変更

編集
    @{[ &make_customtoolbar ]}<!-- yakty add [custom toolbar] -->
</div>
<h1 class="header">@{[&make_headline($page)]}</h1><!-- yakty mod [modify header(h1)] -->
EOD
}

make_customtoolbar()追加

編集
# yakty add [custom toolbar] start
sub make_customtoolbar {
    my $barname;
    my %toolbar;
    my ($name) = ($form{myname} =~ /(\S+)$/);
    foreach (split /\n/, $database{$CustomToolbar}){
        if(/^(\*{1,$header_level})(?:\s*)(.*)/){
            $barname = ((length($1) == 2) ? $2 : "");
            $toolbar{$barname} = "";
            last if($name and $toolbar{$name});
        } elsif($barname) {
            $toolbar{$barname} .= &inline($_);
        }
    }
    my $bar;
    if($name and defined $toolbar{$name}){
        $bar = $toolbar{$name};
    } elsif(defined $toolbar{'#default'}){
        $bar = $toolbar{'#default'};
    } else {
        return "";
    }
    return ($bar) ? "<br>$bar" : "";
}
# yakty add [custom toolbar] end

02246