カテゴリ | |
サマリ | タイトルメニュのタイトルのについて |
バージョン | 1.4.6 |
投稿者 | こうき |
状態 | 完了 |
投稿日 | |
タイトルをここのサイトと同じように表示したいのですが、どうのようにすればよいのでしょうか?
以下がポイントです。
- 下位階層のページの場合、階層の部分は表示せず、ページ名のみにしたい。
- タイトルの下のリンクをhttpからはじまるアドレスにしたくない。
- タイトルの下にあるリンクを日本語のページは日本語で表示させたい。
他の質問箱を探したのですが、さがしきれなかったです>努力が足りないかも。。。
もしすでに同じ質問&対応方法があるページがありましたら教えてください。
よろしくお願いします。
- 私も以前にかなり探しましたが、どこにもありませんでした。多分どこにもないんじゃないのではないかと思います。なので個人的に改造しましたが、私もPHPは不慣れなのでかなり適当な改造を施しました。(なので、アップは恥ずかしくて出来ないのでご勘弁を。(^^ヾ)改造部分は、1.4.6ならば、86行目の<div id="header">から101行目の</div>の間です。例としては、<?php echo $page ?>の部分でページのでっかい文字の方のタイトルを表示しています。そして<?php if ($is_page) { ?>以下がURIを表示している部分です。この辺を変更する事で表示を変えられます。 --
- ちなみにこれやっちゃうとバージョンアップのときに大変になりますよ。それだけは覚悟がいるかと。(と言うか私は既にバージョンアップは諦めました。) --
- タイトルの下のリンクなら・・・pukiwiki.skin.phpの
define('SKIN_DEFAULT_DISABLE_TOPICPATH', 1);
を
define('SKIN_DEFAULT_DISABLE_TOPICPATH', 0);
これだけでいいはず --
もうひとつのページ名に関することは$pageが名前を保持しているから、上と同じファイルの始めの方で「/」で切り出してページ名を$pageに入れなおせば良いのかな?試してないんでわからんけど
HTML出力直前くらいに以下4行追加で出来そう
$name_legth = strlen($title);
$name_part_pos = strrpos($title, '/');
$title = substr($title,$name_part_pos+1 , $name_legth);
$page = $title;
-
- よくみたら2階層以下ならまともみたいだけど浅いとぼろぼろ・・・
なおしてみてくだされ --
- ちなみに私は、以下のようにしています。 --
$planepage = strip_tags($page);
$i = strrpos($planepage,'/');
if ($i <> 0) { $i = $i + 1; };
$page = substr($planepage,$i);
これならば一応、1階層でも大丈夫です。但し、ページ名に”/”(半角スラッシュ)を入れられないと言う欠点があります。(^^;
3行目がかなりやっつけっぽいですが....。
- topickpathが何の事か判らなかったので、自分で作りましたが、そんなに簡単に出来るなら元にもどすことにします。情報サンクスです。 --
- あ、そうそう、私の方法だとリンクになりません。(と言うかタイトルをリンクにしたくなかったからなんですが。) --
- タイトル下のリンクは'SKIN_DEFAULT_DISABLE_TOPICPATH'の設定を0にしたら期待通りできましたありがとうございます。~タイトルのスラッシュを切り出す処理はPHPぜんぜん知らないので、少し勉強してから組み込みたいとおもいます。ありがとうございました^^ -- こうき
- basename --
<h1 class="title"><?php echo basename($title) ?></h1>
- まあどうせなら・・・
<h1 class="title"><?php echo ($is_page) ? htmlspecialchars(basename($vars['page'])):$page ?></h1>
- おお、こりゃ、かなりスマートになりますね。これはいいことを教えてもらいました。早速修正させてもらいます。 --
- おお!簡単に修正できた~!ありがとうございます^^ -- こうき