geeklog静的ページ改造

  • 2007年12月23日(日) 19:00 JST
geeklog1.41の静的ページでpublic_html/staticpages以下に静的ページで使用するファイル(cgi、画像ファイル等)を置いている。(やり方間違えている?)

ここでrewrite機能をONにした時に問題点が。。。

&が/に置き換わるために、通常の表示と印刷ページで静的ページで使用するファイルのパスが違うことである。
最初は印刷ボタンを消去してしまおうと思ったのだがrewriteをONにした時、印刷ページとパスが同じになるように改造

public_html/staticpages/index.phpの85行目あたりを以下のように
「&mode=」の部分を「__print」にして印刷ページの静的ページのIDに__printが付加されるように

if ($_CONF['hideprintericon'] == 0) {
     $retval .= ' <a href="' . COM_buildURL ($_CONF['site_url'] . '/staticpages/index.php?page=' . $page . '&amp;mode=print') . '"><img src="' . $_CONF['layout_url'] . '/images/print.' . $_IMAGE_TYPE . '" alt="' . $LANG01[65] . '" title="' . $LANG_STATIC['printable_format'] . '" border="0"></a>';
}

if ($_CONF['hideprintericon'] == 0) {
    $retval .= ' <a href="' . COM_buildURL ($_CONF['site_url'] . '/staticpages/index.php?page=' . $page . '__print') . '"><img src="' . $_CONF['layout_url'] . '/images/print.' . $_IMAGE_TYPE . '" alt="' . $LANG01[65] . '" title="' . $LANG_STATIC['printable_format'] . '" border="0"></a>';
}

160行目当たりを以下のように
($pageの文字列の最後が__printだったら$modeにprintを代入して$pageには__printを取り除いた文字列を渡す)

$page = COM_applyFilter (COM_getArgument ('page'));
$mode = COM_applyFilter (COM_getArgument ('mode'));

$page = COM_applyFilter (COM_getArgument ('page'));
/* change */
if (preg_match('/__print$/',$page)) {
  $page = preg_replace("/(.+?)__print$/","\\1",$page);
  $mode = 'print';
} else {
  $mode = COM_applyFilter (COM_getArgument ('mode'));
}

当り前だけど、この改造を行ったとき「__print」を行末に含むIDは作れません。忘れて自分がやりそう。。。(おぃ

ソース記述用のスタイルシートを作るべきか。。。(汗

トラックバック

このエントリのトラックバックURL:
http://web.fpso.jp/trackback.php/20071223190016387
表示形厼

コメントは投稿者の責任においてなされるものであり,サイト管理者は責任を負いません。

コメントの投稿

投稿情報
アカウントを作る
使用できるHTMLタグ: <a>, <b>, <blockquote>, <br>, <code>, <div>, <font>, <em>, <hr>, <i>, <li>, <ol>, <p>, <pre>, <strong>, <tt>, <ul>, [code], [story:], [staticpage:], [link:]
注意事項
  • 内容にそった話題で投稿してください
  • できるだけ新しいスレッドを立てず,コメントを追加してください
  • 他の人のコメントをよく読んで同じようなコメントを投稿しないようにしてください
  • 内容がよくわかるタイトルをつけてください
  • あなたのメールアドレスは表示されません!(保護されています)