Naoki Takezoe
takez****@gmail*****
2005年 11月 13日 (日) 14:38:36 JST
竹添です。 05/11/13 に あき<attin****@kk*****> さんは書きました: > あきです。 > > > 竹添です。 > > > > > > 確認してみましたが、どうもこれだけでは目的は満たせないようです。 > > > どんな要望がありそうなのか具体的に書いた方が良さそうですね。 > > > あくまで例ではありますが… > > > > > > 1.例えば、タイトルの表示を > > > > > > 現在 :ページ名 - サイト名 > > > 改良案:サイト名:ページ名 > > > > > > のようにしてみたいとか… > > > > > > 2.トップページの時だけページ名を表示させない(下記参照)とか… > > > > > > FrontPageをWebサイトのIndexページらしく変更 > > > http://fswiki.poi.jp/wiki.cgi?page=BBS%2D%A5%B5%A5%DD%A1%BC%A5%C8%B7%C7%BC%A8%C8%C4%2F266 > > > > > > 3.設定画面を拡張して、サブタイトルも付けられるようにしたい、とか…。 > > > > > > つまり、$templateに詰め込む部分も「print $output」で実際に出力する部分も > > > wiki.cgiの中で記述されクローズされてしまうと、外部からは手も足も出せない、 > > > ということです。 > > > > テンプレートのカスタマイズで対応できるよう変数を増やすとか、そういったレベル > > の対応で要望は満たせるのではないでしょうか? > > はい、まさしくそういったレベルで対応できます。 > ですが、その「変数を増やす」ということが、プラグインからはどう頑張っても > できないのです。(できませんよね?) > もちろん、その「変数に何を代入するか?」という部分もプラグインから操作 > できないことには(固定では)あまり意味がありません。 > (たとえ固定のもので我慢するにしても、要望がある度にコア側で変数を増やし > ていってもらう必要があります。ですが、そんな要望はまず通らないでしょう) 必要と思われる変数については要望があれば追加しますよ。 EXIST_PAGE_XXXXやHEAD_INFOなどはその例です。 > > > 出力に関しては、出力する一歩手前で、プラグイン側で操作できるような仕組み > > > にしておくのが理想かと思います。 > > > できれば、$template->paramをセットした後、「$output = $template->output」 > > > を実行するまでの間に、操作できる過程があると嬉しいのですが…。 > > > > いまいち何をしたいのかが実装レベルで伝わってこないのですが、セットされたパラ > > メータをいじれるようにする感じでしょうか?それともテンプレートをプラグインから > > いじったり、outputされるHTMLを直接プラグインでいじるような感じでしょうか? > > はい、前者です。セットしたパラメータを弄れればいいです。 > セットしたパラメータの差し替えと、追加です。 > これらができれば、後はtmpl/*.tmplの方で好きなように表現できます。 > 少なくとも私の要望に関しては…。 サイトテンプレートが特定のプラグインに依存してしまうという点に関してはどうでしょう? 例えばタイトルに関してですが、今はSITE_TITLEという変数でタイトルを指定する ようになっていますが、SITE_NAME、PAGE_NAMEという2つの変数をフレーム ワーク側で設定するようにすれば、あとはテンプレート側でほとんどの要望に対応 できるんじゃないかと思います。 KGさんがパッチの例として挙げられたPRINT_MODEに関しても、フレームワーク側 で追加してもよいと思いますし、プラグインから自由に追加できるようにておく必要は ないんじゃないかなぁと思います。 > > > 決して、ニーズの無さそうな要望ではありませんよね? > > > なのにスマートな実装方法がありません。 > > > > 「ニーズがなさそうな要望ではない」というレベルであまりオーバースペックな実装 > > を行うのも考えものです。確かに柔軟性と拡張性は重視していますが、なんでも > > かんでもできるようにしておく必要はないと思っています。 > > 「何でもかんでも」は必要ないと思いますが、例に挙げたものは「それくらいは > 操作したいなぁ」と思うレベルのものです。(少なくとも、個人的には高い > レベルで望んでいます) > 細かな挙動を弄れることより、こういった表面的な部分を弄れることの方が > 本来であれば優先度を高く設定すべきだったのでは、と思うのですが…。 プラグインから自由に変数を追加できるようにするのは簡単ですが、一度これを やってしまうとサイトテンプレートに関してはなんでもあり状態になってしまうので、 与える影響について懸念しています。同じ要望に関してより制約が強い形で実現 できるのであれば、そのほうが望ましいわけです。 > ま、ただ、「細かな挙動を弄れる」のは、「敢えてそのように設計したのはなく > 偶然そうなっていった」ということであれば納得ではあります。 > また、「それが(タイトル等を弄れないのが)FSWikiというもののカラーです」 > と言われてしまえば、私達にはそれ以上立ち入れない聖域であったりもします。 いやいや、そんなことはないですよ。 > 以下、CMS用途として考えた場合… > > SEO対策を考えた場合、以前に挙げた「PATH_INFOを使ってCGIっぽく見せない > 対策」もさることながら、「<title>タグに何を出力するか?」はSEO対策の筆頭 > にも挙げられるほど重要なものです。 > 実際、同タグは検索結果の順位に最も大きく影響します。 > ですから、このタグの先頭に「FrontPage」と出力されてしまうのは、SEO的に > 考えるととても大きなハンデなのです。 > (商業サイトなら「広告キーワード」+「サイト名」で記載するのが効果的。 > FSWiki公式ページの場合、「FreeStyleWiki」より「FrontPage」の方が高い > ポイントが付いてしまっています。ま、非営利目的のサイトなら関係ないで > しょうが…) > > 予め先に言っておきますが、これを「CMS用途に特化した要望」だとは捉えない > で頂きたいです。 > ここで挙げた理由は確かに「CMS用途として考えた場合」ですが、「表面的な > 部分を弄りたい」という要望は、CMS用途に限らず、最も自然に生まれうる発想 > (要望)だと思うからです。 > できれば、他の方の意見も聞いてみたいです。 要望に関しては理解してるんですけど、実現方法として「プラグインから自由に…」 というのは、サイトテンプレートの立ち位置から考えるとちょっとやりすぎじゃないかと 思います。やるとすればサイトテンプレートもプラグイン化して、特定のプラグインに 依存する場合はその依存関係を宣言するような形にすべきです。逆に変数を増やす だけであれば3.5系ですぐに実装してしまってもよいと思ってます。 -- Naoki Takezoe <takez****@gmail*****>