**カレンダーのリンクをwikipedia風にしたい [#rd70e54e] |RIGHT:70|LEFT:410|c |~バージョン|1.4.7| |~投稿者|[[kiyi]]| |~状態|完了| |~投稿日|&new{2007-09-14 (金) 14:25:38};| ***メッセージ [#ofa25b86] カレンダーのリンクについてです。~ [[Wikipedia]]のカレンダーで4月1日をクリックすると4月1日のページに飛びますが、calendar2でのリンクは >上位階層/2007-04-01 というようになっています。すでに作った4月1日のページにリンクさせるようなプラグインがほしいです。 ***コメント [#y46d418e] - #calendar2(*)ってこと? -- &new{2007-09-14 (金) 22:38:22}; - なんだ、そういうことじゃないみたいだな。ここに至る経緯があるのなら、リンクしておいてくれよ。[[質問箱4/155]] -- &new{2007-09-14 (金) 22:42:45}; - リンク先のページ名が yyyy-mm-dd というフォーマットなのを mm-dd になるように改造すればいいだけだよね。-- &new{2007-09-15 (土) 00:31:46}; // 自分が文章を理解できないから勝手にコメントアウトするとかって池沼じゃないの?どういう意味?って書けばいいだけだし、ほかの人は意味わかってるかもしれないじゃん?どんだけ自己中? - リンクありがとうございます。遅レスですみませんが、mm-ddならcalendar2.inc.phpの106行目辺りの$dtの代入を変えれば出来るのですが、mm月dd日という形が希望です。 -- [[kiyi]] &new{2007-09-19 (水) 10:50:08}; -- こういうこと? - $dt = sprintf('%4d-%02d-%02d', $year, $m_num, $day); + $dt = sprintf('%02d月%02d日', $m_num, $day); %%でも、次の月や前の月へのリンクはどうなるの?$prev_date_str とか$next_date_str とか。%%あと、年をまたぐ時。 -- &new{2007-09-20 (木) 15:22:22}; - $prev_date_str とかは$dtに依存するのですか。67行目や70行目辺りを見ると違うように思えるのですが・・・。間違っていたらすみません。 -- [[kiyi]] &new{2007-09-20 (木) 15:41:54}; -- ごめんなさい、線で打ち消したとこは関係なかったです。むしろ、150行目あたりの今日の日記があるかを見る場所、 if ($today_view) { $tpage = $prefix . sprintf('%4d-%02d-%02d', $today['year'], $today['mon'], $today['mday']); $r_tpage = rawurlencode($tpage); if (is_page($tpage)) { $_page = $vars['page']; $get['page'] = $post['page'] = $vars['page'] = $tpage; $str = convert_html(get_source($tpage)); $str .= '<hr /><a class="small" href="' . $script . '?cmd=edit&page=' . $r_tpage . '">' . $_calendar2_plugin_edit . '</a>'; $get['page'] = $post['page'] = $vars['page'] = $_page; } else { $str = sprintf($_calendar2_plugin_empty, make_pagelink(sprintf('%s%4d-%02d-%02d', $prefix, $today['year'], $today['mon'], $today['mday']))); } $ret .= ' </td>' . "\n" . ' <td valign="top">' . $str . '</td>' . "\n" . ' </tr>' . "\n" . '</table>' . "\n"; } にあるsprintf() の部分を上と同じような感じで修正する必要があります。~ ただ、ページ名に年を示すパーツが入っていないので、2006年の9月1日と2007年の9月1日、さらには2008年の…、がみんな「09月01日」というページになってしまう気が。これを回避するにはせめて「yyyy年/mm月dd日」でないと…。 &new{2007-09-20 (木) 16:22:49}; - 2007年9月1日も3000年9月1日も同じ9月1日にしたいです。106行目辺りの$dtを $dt = sprintf('%02d月%02d日', $m_num, $day); という風にすると、カレンダーの日付が1日から31日まで全く表示されなくなるので、どうしたらよいのでしょうか。-- [[kiyi]] &new{2007-09-20 (木) 16:35:30}; -- 変更点はこれ1行だけですよね。こちらでは全て表示され「上位階層/mm月dd日」というリンクになっています(文字コードのことを先に言われてしまった)。あれ、それともリンク先が「mm月dd日」でないとこまるのかな? -- &new{2007-09-20 (木) 16:50:22}; - 推測ですが、保存時に文字コードを EUC-JP (UTF-8 版 PukiWiki なら UTF-8) にしていないのでは? -- [[通りすがり]] &new{2007-09-20 (木) 16:44:58}; - 今やってみるとできました。アドバイスありがとうございます。 -- [[kiyi]] &new{2007-09-21 (金) 10:02:03}; - この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5021837.htm?info=viagra viagra >:-P -- [[viagra]] &new{2010-03-08 (月) 11:54:16}; #comment //#comment