管理 | 差分 || 新規作成 || カテゴリ一覧 | ページ一覧 | 更新履歴 | 差分履歴 || アンテナ || PUT || more≫ ≫omit
shortcut: FrontPage || WikiLab | StoreRoom/最新 | 日々の泡 | むず痒いパソコン日記/最新 || HelpPage ||[edit]
category: WikiLab/BeginnerGuidance

WikiLab/BeginnerGuidance/PageLayout - ページ内のレイアウトを変更する試み。

LastModified : Tue Jul 13 00:24:52 2004
[管理]

ページ内のレイアウトを変更する試み。

| WikiLab | WikiLab/BeginnerGuidance |

フッターにツールバーを追加。

[TOP↑] [管理]

sub print_footer

sub print_footer {
    my ($page) = @_;
+   my $editable = 0;
+   my $admineditable = 0;
+   if (&is_frozen($page) and $form{mycmd} =~ /^(read|write)$/) {
+       $editable = 0;
+       $admineditable = 1;
+       $bodyclass = "frozen";
+   } elsif (&is_editable($page) and $form{mycmd} =~ /^(read|write)$/) {
+       $admineditable = 1;
+       $editable = 1;
+   } else {
+       $editable = 0;
+   }
+   my $cookedpage = &encode($page);
+   my $escapedpage = &escape($page);
    print <<"EOD";
+<hr>
+<div class="tools">
+   <a href="$url_cgi?$CreatePage" "Create New Page">$resource{createbutton}</a> | 
+   @{[ $editable
+       ? qq(<a title="$resource{editthispage}" href="$url_cgi?mycmd=edit&amp;mypage=$cookedpage">$resource{editbutton}</a> | )
+       : qq()
+   ]}
+   @{[ $admineditable
+       ? qq(<a title="$resource{admineditthispage}" href="$url_cgi?mycmd=adminedit&amp;mypage=$cookedpage">$resource{admineditbutton}</a> | )
+       : qq()
+   ]}
+   @{[ $admineditable
+       ? qq(<a href="$url_cgi?mycmd=diff&amp;mypage=$cookedpage">$resource{diffbutton}</a> | )
+       : qq()
+   ]}
+   <a href="$url_cgi?$SearchPage" title="Word Search">$resource{searchbutton}</a> | 
+   <a href="$url_cgi?$FrontPage" title="Top Page">$FrontPage</a> | 
+   <a href="$url_cgi?$IndexPage" title="Page List">$resource{indexbutton}</a> | 
+   <a href="$url_cgi?$RecentChanges" title="Change Log">$resource{recentchangesbutton}</a> | 
+   <a href="$url_cgi?$RssPage" title="Change Log(RSS format)">$resource{rssbutton}</a>
+</div>

コメント

[TOP↑] [管理]

お名前: タイムスタンプを更新: 荷札を付ける:

ページ内に検索フォームを表示。

[TOP↑] [管理]

一覧ページなど、特殊ページには表示しない

[TOP↑] [管理]
EOD
    @{[ $admineditable
        ? qq(@{[&print_searchform("")]})
        : qq()
    ]};
    print <<"EOD";    # rica add [search form]

print_searchform をそのまま表示するので、print_searchform のタグ部分を多少修正する必要があるかもしれません。ここの Wiki では

こんな感じで1行に収め、CSS でマージンを狭くとっています。

追加:2003/06/18(Wed)


検索ページと違う表示にしたい場合は、以下のように qq() に検索フォームのタグを記述します(下のものは wal3 の時の検索フォームです)。


    @{[ $admineditable
        ? qq(<form action="$url_cgi" method="get" class="search"><div class="tools"
        > <input type="hidden" name="mycmd" value="search"
        > <input type="text" name="mymsg" value="" size="20"
        > <input type="submit" value="$resource{searchbutton}"></form>)
        : qq()
    ]}

余計な追加をしていたのを修正:2003/06/14(Sat)

一覧ページなど全てのページに表示、検索へのリンクをなくす。

[TOP↑] [管理]
sub print_header {
    my $word = ($form{mycmd} eq 'search') ? &escape($form{mymsg}) : '';    #add
# ----- 略 -----
    print <<"EOD";
Content-type: text/html; charset=$charset
# ----- 略 -----
<!--<a href="$url_cgi?$SearchPage" title="Word Search">$resource{searchbutton}</a> |-->
# ----- 略 -----
EOD
    &print_searchform($word);    #add
# ----- 略 -----
    print <<"EOD";    # add
</div>
# ----- 略 -----
EOD
sub do_searchform {
    &print_header($SearchPage);
#    &print_searchform("");
    &print_footer($SearchPage);
}
sub do_search {
    my $word = &escape($form{mymsg});
    &print_header($SearchPage);
#    &print_searchform($word);

追加:追加:2003/06/18(Wed)

コメント

[TOP↑] [管理]

ページ先頭の index と本文をコンテナに入れ、CSS 制御する。

[TOP↑] [管理]

index 部分と本文テキストを汎用コンテナ <div> でくくり、CSS で調整できるようにします。 ボーダーで囲む・フロートさせるなど、柔軟なレイアウトが可能になります。

wiki.css の例(CSS は適当に調整してください。google検索:スタイルシート,リファレンス)

   div.toc  { float:left; width:30%; border:solid; }
   div.text { float:right; }
   /* フロート用 */
   br.clear { clear:all; }

sub text_to_html 内

    # yakty add [toc & text block] start
    unshift(@result, '<div class="text">');
    push(@result, '</div> <br class="clear">');
    # yakty add [toc & text block] end

   if ($option{toc}) {
       # Convert @toc (table of contents) to HTML.
       # This part is taken from Makio Tsukamoto's WalWiki.
       my (@tocsaved, @tocresult);
       foreach (@toc) {
           if (/^(-{1,3})(.*)/) {
               &back_push('ul', length($1), \@tocsaved, \@tocresult);
               push(@tocresult, '<li>' . $2 . '</li>');
           }
       }
       push(@tocresult, splice(@tocsaved));
       # yakty add [toc & text block] start
       if (@toc){
           unshift(@tocresult, '<div class="toc">');
           push(@tocresult, '</div>');
       }
       # yakty add [toc & text block] end

コメント

[TOP↑] [管理]
shortcut: FrontPage || WikiLab | StoreRoom/最新 | 日々の泡 | むず痒いパソコン日記/最新 || HelpPage || [edit]
select css: default | sakura | mono | greenheck | snow | NN4.x用(多分) || LinuZau!! | VikiWiki!? || others |

管理 | 差分 || 新規作成 || カテゴリ一覧 | ページ一覧 | 更新履歴 | 差分履歴 || PUT