トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BBS-サポート掲示板/801

ページの作成や編集にはユーザ登録が必要です。

 アウトラインとレイアウトプラグインの rollout その2 - けんた (2008年03月25日 06時55分26秒)

Aというページに rollout でBというページを埋め込んで(include して)あるとします。Aで、アウトラインを使うと見出しのそれぞれのところにジャンプするのですが、rollout を開いて、そこにあるBというページの見出しをクリックすると、Bの該当部分ではなく、Aのページのその部分にジャンプしてしまいます。これを何とか解決できないでしょうか? よろしくお願いします。

  • plugin/info/OutlineParser.pm の 47行目あたり(l_header 関数内)を以下のように修正してみてください。(FSWikiのバージョンによって多少の誤差あり) - KG (2008年03月25日 14時34分03秒)
$self->{outline_html} .= "<li><a href =\"#p".$self->{outline_cnt}."\">$text</ a>";
   ↓
my $href = $self->{wiki}->create_url({page => $self->{wiki}->get_CGI->param('page')});
$self->{outline_html} .= "<li><a href =\"".$href."#p".$self->{outline_cnt}."\">$text</ a>";
  • ちなみに、この現象は rollout (レイアウトプラグイン)とは関係なく発生します・・・と言っておきます。(^^; - KG (2008年03月25日 14時39分15秒)
  • レス、ありがとうございました。やってみました。しかし、Aページの中にinclude してあるBページのアウトラインをクリックすると、Aページの中のBページではなく、直接Bページのそのリンクにジャンプしてしまいます。そうではなく、Aページの中のBページのアンカーにジャンプするようにできないでしょうか? また、outline3のほうもやってみましたが、同じ結果でした。 - けんた (2008年03月25日 17時00分21秒)
  • そういう動作でしたら・・・以下のようにすれば可能かもしれません。outlineプラグインとしての動作はチェックしましたが他のプラグインとの関連で動作がおかしくなるかもしれませんので、自己責任でお願いしますね。変更箇所は plugin/info/Outline.pm の36行目の後に以下の記述を挿入してください。この修正は「複数行プラグイン」が導入済みという前提条件があります。 - KG (2008年03月25日 18時03分22秒)
::36行目
my $parser = plugin::info::OutlineParser->new($wiki);
    ↓
::36行目〜37行目
my $parser = plugin::info::OutlineParser->new($wiki);
$parser->{outline_cnt} = $self->{parser}->{p_cnt};
  • それと、この修正適用後は outline プラグインを使用する際に必ずヘッダーもしくはページの最上部に置いてください。そうしないと正しく動作しません。。。ってあんまりいい修正じゃないですね(^^;。 - KG (2008年03月25日 20時58分36秒)
  • 回答、ありがとうございました。outline3 プラグインのOutline3.pmに$parser->{outline_cnt} = $self->{parser}->{p_cnt};をいれましたが、うまく行きませんでした。複数行プラグインとは、複数行プラグインを可能にするプラグインのことですよね? - けんた (2008年03月25日 21時49分10秒)
  • そうです。あと、ここのコメントにある最初の修正は元に戻してくださいね。 - KG (2008年03月25日 22時00分11秒)
  • 回答、ありがとうございました。明日、もう一度挑戦してみます。おやすみなさい。 - けんた (2008年03月25日 23時03分52秒)
  • 今日、outlineプラグインで試してみました。ご指摘のとおり、コメントにある最初の修正は元に戻してみましたが、結果はうまくいきませんでした。埋め込んであるページへジャンプしないで、外側のページにジャンプしてしまいます。また、2,3度挑戦してみます。 - けんた (2008年03月28日 13時13分33秒)
  • 何度かやってみましたが、結局、できませんでした。あきらめて、最初に教えていただいたものを使わせていただきます。 - けんた (2008年04月03日 06時45分59秒)
お名前: コメント:

最終更新時間:2008年04月03日 06時45分59秒