質問箱/4438

カテゴリ
サマリ階層下のページもオートリンクしたい(AutoBaseAlias 機能)
バージョン1.4.7
投稿者こしまえ
状態完了
投稿日2009-03-14 (土) 04:46:26

質問

例えば

aaa
aaa/bbb/
aaa/bbb/ccc
aaa/bbb/ddd
aaa/bbb/ddd/

というページがあったとして、aaaにはオートリンクをしてくれますが、それ以降はしてくれません。 そこで bbbでaaa/bbbにオートリンク、cccでaaa/bbb/cccにオートリンクしてくれることはできないでしょうか? もしもページ名がかぶった場合はリンクをクリックした時にユーザーがリンクを選択できる形だととても便利だと思います。 plusの方では可能らしいのですが、本家でも使えるかと思い、質問してみました。 質問箱/4436の方法でAutoAliasは導入したんですが、上記の機能の差分をAutoBaseAlias: AutoAlias にページ名の basename を自動的に設定する機能の追加からそのまま適用してみてもエラーで機能しませんでした。

回答

下記はAutoAliasです
[[google>http://www.google.co.jp/]]
[[zzz>aaa]]
[[zzzz>aaa]]
[[yyy>xxx]]

下記は結果です
zzz リンクは作成されましたが、指定したaaaでは無くabc/aaaへリンクに
zzzz ○

つまり別名で指定した文字が階層下で実在(abc/zzzはありますが、zzzはありません)する場合、その文字をAutoAliasで設定しても、AutoAliasで指定した本名よりAutoBaseAliasの方が優先されてしまう。
という状態なのだと思います、今までこれを表記せずに質問なんてしたりして本当に申し訳ありません。
この違いで何かわかることがありましたら。



*1 「ページ名がかぶった場合はリンクをクリックした時にユーザーがリンクを選択できる形」を実現している機能
*2 AutoAlias でのみコレを許すのか、それともplus と同じようにWikiName や、BracketName 、AutoLink からでもコレを許すのか
*3 デフォルトならlib/link.php のref とrel のキャッシュを作るところと、lib/make_link.php のAutoAlias のところ
*4 正確には、別名1つに対して本名1つというルールでget_autoaliases() が成り立っているんで、実質そこで決まっているんですが・・・
*5 実際には、[[abc]]でかこっていないのですがリンク作成状態となってます
*6 ルールを改ざんされると、想定外のサイトに飛ばされる可能性がありますが・・・(この場合、ルールを書くページには認証か凍結が必須になる)

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-23 (木) 19:14:24
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.282 sec.

SourceForge