*[[一覧:http://pukiwiki.sourceforge.jp/?cmd=list]]で見出しの目次が横に長く並んでしまう [#d7a99b3d]

-ページ: BugTrack
-投稿者: [[reimy]]
-優先順位: 低
-状態: 完了
-カテゴリー: 本体バグ
-投稿日: 2002-07-15 (月) 03:06:15
-バージョン: 

**メッセージ [#k3be06e1]
ページ一覧表示で見出しの目次が横に長く並んでレイアウトを乱すので、アルファベットは16個ずつで折り返すようにしてみました。

html.phpの525行めあたり。function get_list。
 // 一覧の取得
  function get_list($withfilename)
  {
 	global $script,$list_index,$top,$non_list,$whatsnew;
 	global $_msg_symbol,$_msg_other;
 	
 	$retval = array();
 	$files = get_existpages();
 	foreach($files as $page) {
 		if(preg_match("/$non_list/",$page) && !$withfilename) continue;
 		if($page == $whatsnew) continue;
 		$page_url = rawurlencode($page);
 		$page2 = strip_bracket($page);
 		$pg_passage = get_pg_passage($page);
 		$file = encode($page).".txt";
 		$retval[$page2] .= "<li><a href="$script?$page_url">".htmlspecialchars($page2,ENT_QUOTES)."</a>$pg_passage</li>n";
 		if($withfilename)
 		{
 			$retval[$page2] .= "<ul><li>$file</li></ul>n";
 		}
 	}
 	
 	$retval = list_sort($retval);
 	
 	if($list_index)
 	{
 		$head_str = "";
 		$etc_sw = 0;
 		$symbol_sw = 0;
 		$top_link = "";
 		$link_counter = 0;
 		foreach($retval as $page => $link)
 		{
 			$head = substr($page,0,1);
 			if($head_str != $head && !$etc_sw)
 			{
 				$retval2[$page] = "";
 				
 				if(preg_match("/([A-Z])|([a-z])/",$head,$match))
 				{
 					if($match[1])
 						$head_nm = "High:$head";
 					else
 						$head_nm = "Low:$head";
 					
 					if($head_str) $retval2[$page] = "</ul>n";
 					$retval2[$page] .= "<li><a href="#top:$head_nm" id="$head_nm" name="$head_nm"><strong>$head</strong></a></li>n<ul>n";
 					$head_str = $head;
 					if($link_counter) $top_link .= "|";
 					$link_counter = $link_counter + 1;
 					$top_link .= "<a href="#$head_nm" name="top:$head_nm"><strong>&nbsp;".$head."&nbsp;</strong></a>";
 					if($link_counter == 16){
 						$top_link .= "<br />";
 						$link_counter = 0;
 					}
 				}
 				else if(preg_match("/[ -~]/",$head))
 				{
 					if(!$symbol_sw)
 					{
 						if($head_str) $retval2[$page] = "</ul>n";
 						$retval2[$page] .= "<li><a href="#top:symbol" id="symbol" name="symbol"><strong>$_msg_symbol</strong></a></li>n<ul>n";						$head_str = $head;
 						$top_link .= "<a href="#symbol" id="top:symbol" name="top:symbol"><strong>$_msg_symbol</strong></a><br />";
 						$symbol_sw = 1;
 					}
 				}
 				else
 				{
 					if($head_str) $retval2[$page] = "</ul>n";
 					$retval2[$page] .= "<li><a href="#top:etc" id="etc" name="etc"><strong>$_msg_other</strong></a></li>n<ul>n";
 					$etc_sw = 1;
 					if($link_counter) $top_link .= "<br />";
 					$top_link .= "<a href="#etc" id="top:etc" name="top:etc"><strong>$_msg_other</strong></a>";
 				}
 			}
 			$retval2[$page] .= $link;
 		}
 		$retval2[] = "</ul>n";
 		
 		$top_link = "<div style="text-align:center"><a id="top" name="top">$top_link</a></div><br />n";
 		
 		array_unshift($retval2,$top_link);
 	}
 	else
 	{
 		$retval2 = $retval;
 	}
 	
 	return join("",$retval2);
  }

----

-日本語のBracketNameが増えてくると、日本語項目も「日本語」ではなく「記号」「ひらがな」「カタカナ」「漢字」というように分けたほうがいいかも… -- [[reimy]] SIZE(1):2002-07-15 (月) 03:12:35
-手パッチ当てたらちょっとうまく行かなかったんで、ちょっと付け加えてみました>[[cvs:html.php]]  -- [[ゆう]] SIZE(1):2002-07-15 (月) 16:44:03
-記号と日本語はアルファベットと別の行にしたかったので上記のリストのようにしてました。 -- [[reimy]] SIZE(1):2002-07-15 (月) 17:43:30
-タブは空白として見なされない為にえらい事に。。。(^^; -- [[seagull]] SIZE(10):2002-07-15 (月) 21:01:30
-ぐぇ、すごいことになってる。 -- [[kawara]] SIZE(10):2002-07-15 (月) 21:09:40
-そう、必ず行頭スペースという扱いにしてました。ってことでいま、Wikiデータのほうを修正しましたけど、タブも空白としてあ使ったほうがイイのかな…。 -- [[kawara]] SIZE(10):2002-07-15 (月) 21:12:46
-タブは空白扱いにしてほしい。 -- [[reimy]] SIZE(10):2002-07-15 (月) 21:27:45
-タブは空白として扱ったほうがソースを貼るときは便利ですもんね…。 -- [[kawara]] SIZE(10):2002-07-15 (月) 21:30:35
-行頭タブは、PREってことですか? -- [[ゆう]] SIZE(10):2002-07-16 (火) 17:48:38
-そういうことになっちゃいますね。 -- [[kawara]] SIZE(10):2002-07-16 (火) 18:23:07
#comment
//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u8. HTML convert time: 0.051 sec.

OSDN