PHPしか動かなくてデータベースが使えないサーバー向けに、CMS導入するということで PivotX を利用して現在サイトを作っているわけだけど、これ、テンプレート作成もそんなに難しくなくて結構便利だし、かなり気に入ったので作業内容を少しメモしておく。
1個だけなら簡単だけど、例えば更新情報と簡単なお知らせ的プレスリリースとか載せたい場合は、ちょっと分かりづらかった。
例えばカテゴリが A B と2つあるときは、name に 共通の名前を入れて、カテゴリー設定で両者の出力を使い分ける。
<div> [[ subweblog name="standard" category='A' ]][[ literal ]] <p>[[ date format="%year%/%month%/%day%" ]]</p> <p>[[title]] [[ editlink format="Edit" prefix=" - " ]]</p> <p>[[introduction]]</p> <p>[[more]]</p> [[ /literal ]][[ /subweblog ]] </div> <div> [[ subweblog name="standard" category='B' ]][[ literal ]] <p>[[ date format="%year%/%month%/%day%" ]]</p> <p>[[title]] [[ editlink format="Edit" prefix=" - " ]]</p> <p>[[introduction]]</p> <p>[[more]]</p> [[ /literal ]][[ /subweblog ]] </div>
この場合、サイト管理?ウェブログ?サブウェブログ で、サブウェブログに両方のカテゴリを出力させること。サブウェブログ設定は結構便利で、1ページに出力する記事数などもここでコントロールできる。
ただ、アーカイブページで使いたい subweblog name と、トップページで使う subweblog name が違う場合だと、トップページに
[[ subweblog name="other" noresult ]][[ literal ]] [[ /literal ]][[ /subweblog ]]
なんて、何も出力しない subweblog name を追加で埋め込んでやらないと、サイト管理?ウェブログ?サブウェブログ にその subweblog name が出てこないので設定できない。
こんな事例はあまりないかもしれないが、自分の場合はデザイン上分けざるを得なかった。(ニュースリリースによくある、左右のフロートしたボックスを同じ高さに揃えるデザインにした場合、繰り返し出力するとデザインが崩れるため。力業で subweblog name をたくさん作って対処しました・・・)
ブログアーカイブのカテゴリ一覧は、トップページに対して出力されるため(ブログ的に)、トップページにアーカイブ一覧を出力するのが厳しいことがある。その場合、
index.php?c=カテゴリ名&o=0
とリンクすれば、アーカイブのテンプレートを使ってカテゴリ記事の一覧が表示できる。他のテンプレートタグを使う方法だと、
<ul> [[category_list format="<li><a %active% href='%url%&o=0'>%display%</a></li>" isactive="id='active'"]] </ul>
みたいに category_list タグを使う方法もある。(余談だが、category_list タグでも %active% とか isactive が使える。ドキュメントには全く書かれてないけど、これのおかげでサイトナビゲーション作成がとても便利だった)
ただ、エントリーページ(個別記事ページ) で自分の今いるカテゴリーをパンくずリストでリンクするのがどうしてもできなかったため、コードを変更した。
pivotx/modules/module_smarty.php 436行目辺りを
$output[] = sprintf("<a href='%s&o=0'>%s</a>", makeCategoryLink($value, $params['weblog']), htmlentities($thiscat['display'], ENT_QUOTES, "utf-8"));
こんな風に変更。これで
[[category link="true"]]
できちんとリンクが張られるようになる。
アーカイブのテンプレートを使ってカテゴリ記事の一覧を表示するとき、パンくずリストに自分がいるカテゴリ名を表示しようとしても、何故か
[[category]]
では表示されないため、以下のようなちょっとトリッキーな方法を採った。
<div id="breadcrumb"> <a href="[[home]]">トップページ</a> > [[category_list format="<span %active%>%display%</span>" isactive="id='print'"]] </div>
追加で、以下のような CSS を書いておく。
#breadcrumb span { display: none; } #breadcrumb span#print { display: inline; }
これで、自分がいるカテゴリだけパンくずリストに表示される。
ということで、ざっとしたメモ。何か思い出したらまた追記するかも。
半年ほどいろいろ絶賛放置中ですが、生きてはいます、一応。死ねばいいのに。
えー、この間というかこの前から各種勉強会やらセミナーやらいろんな所に出て、いろいろ興味深い話をたくさん聞いたり勉強したりしていたのですが、もう今更メモ書きから記事を起こすのも面倒なので、適当に書いたメモデータを公開することでお茶を濁したいなーと思います。近日中に。
で、今回日記を書いた理由は、少し前から話題になってたクロマグロ捕獲禁止の件・・・についてではなく、以下の件について。
「非実在青少年」問題とは何なのか、そしてどこがどのように問題なのか?まとめ – GIGAZINE
http://gigazine.net/index.php?/news/comments/20100319_hijituzai_seisyounen/
しばらく前から経過を見てはいたんですが、仕事が忙しくイマイチ流れを追いかけきれなかったんですけども、東京都はとりあえず今回は継続審議ということで事なきを得たようで良かったかなと(まあ全面勝利ってわけでもないし、その上大阪も検討するとか知事が馬鹿なこと言い出してるようですが。ちなみに子供をたくさんお作りになられている大阪府知事に聞きたいんですが、その知識はどこから仕入れたものですかー?ww 非実在じゃなくて実在のエロビデオですかねー、リア充っぽい知事のことだからww マンガとかアニメとかゲームだけがダメで、エロビデオだけがいい理由って何なんですかねー、知事ぃ?www まー答えは聞かなくてもだいたい分かってますけどねー)。
っと話がずれましたが、「非実在青少年」問題に関するまとめ記事がGIGAZINEさんの所に上がっているわけなんですけど、その中程辺りに
この「非実在青少年」という造語を新しく作り出し、表現規制を推進する改正案を作ったのが「東京都青少年問題協議会」、略して「青少協」なわけですが、この協議会を構成するメンバーの発言がかなりひどく、ここに至るまでも山のように問題発言を議事録に残して公開するというとんでもないことを繰り返しており、以下のページが非常に詳しいです。こういった発言をすることに対して何の問題意識もないほど独善的で、自分たちこそが正義であり、自分たちの常識こそが世界の常識でなければならないという潔癖症の方々です。
という記述があって、なかなか痛い 潔癖な発言をされている方の紹介が続くのですが、こういう潔癖症の方のためにあるような言葉を、たまたまこの記事を読んでる最中に思い出したので、ちょっと書いておこうかなと。
If you want divine justice, die. (神の正義を求めるなら、死になさい) – Nick Seldon
これ、確か昔使ってた Slackware の fortune cookie に入ってた言葉で、米田さんという方が書かれた Slackware の解説書にも訳文とともに載ってたような記憶が。当時はまだ学生でしたけど、かなりお気に入りの言葉だったのを覚えています。
まあ、他人に迷惑を掛けずに自らと戦っておられる潔癖症の方に対しては、お気の毒と思いますし、その戦いを応援してもいいとも思いますが、他人に対して敵意を振りまく潔癖症の方はこの名言にあるように、いわば神の正義(=決して手に入らないもの) を求め続けているわけで。それならいっそのこと、
死ねばいいのに。
死ねばいいのに。
死ねばいいのに。
はい、これ大切なことなので3回書きましたww
死ねばきっとそこはあなただけの楽園(ユートピア)☆ まーユートピアの語源自体「どこにも存在しないもの」って意味だったような気もするし、やっぱり死ぬしかないっすね、自分だけの理想郷を得るためにはね。
・・・あー、俺もとっとと死ねばいいな、うんwww