«  核燃料サイクル見直しへ―... | トップ | 記事一覧 | Winny制作者タイホ  »

サブカテゴリーの再構築

| トラックバック(1)

一週間ほど前に、indexページのCategory Archiveのリストを、主カテゴリーと副カテゴリーにツリー化してくれるプラグインSubCategories v0.3を導入した。

やり方は、なかよしこよしさんの「MTで主カテゴリーの中に副カテゴリーを作る」を参照して、SubCategoriesを準備・設定し、あとは、Main IndexのテンプレートのCategory Archiveのところの
<div class="side">と</div>の間の部分を、

<MTSubCategories show_empty="0">
<MTSubCatIsFirst><ul class="ul-catarc"></MTSubCatIsFirst>
<li class="li-catarc">-
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryDescription$>(<$MTCategoryCount$>)</a><br>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>

に置き換え、さらに、ulタグ、liタグの設定を、スタイルシートのテンプレートで適当に設定して完了した。

また、これに加えて、BLOG質問箱さんの「各エントリーにカテゴリ名を表示する」を参照して、各エントリーに主カテゴリーと副カテゴリーの名前が表示されるようにした。

と・こ・ろ・が!

今日になって、ちょっとカテゴリーの分類をちょっと変えてみようと思い、まずは該当するエントリーのカテゴリー設定を変更し、「Categoryの編集」で、一部カテゴリーを削除したのだが、SubCategories v0.3には、カテゴリー分類の変更・削除機能がついておらず、そのまま再構築したら、なんと途中で、「Can't call method "label".....sub_cats.pl line 67」なんてメッセージが出てきてエラーになってしまった。エラーといっても、削除したはずのカテゴリーが相変わらず残ったままで、他の部分はすべて正常に再構築されている状態なので、大きな問題ではないのだが、それでも気持ち悪い。なんとかしようとググったら、SubCategoriesの作者のページのComments and Trackbacksの18番に次のようなカキコを発見。

If you're using MySQL and you're somewhat MySQL-savvy, you can delete the appropriate row from the mt_plugininfo table.

The syntax to SELECT the proper row is:

SELECT * FROM mt_plugindata WHERE plugindata_plugin='SubCategories' AND plugindata_key='25'

I won't list the DELETE syntax here for fear of collecting blame for data loss, but it's very similar. :)

で、急いで、大学のサーバーにあるMySQLに接続したのだが、MySQLなんて、そもそも素人なもんだから、とりあえずMySQLクイック・リファレンスとか見ながら、「とにかく消せばいいんだな」ということで、なんとテーブルmt_plugindataを丸ごとDROPコマンドでデリってしまった!

今から考えれば、単にテーブルの中身をクリアすれば良かったのだが、とにかく、そのままもう一度SubCategoriesのCGI"mt-sc.cgi"を動かして、カテゴリー・ツリーを再構築しようとしたら、「Error saving MT::PluginData」というエラーメッセージ。そこでようやく、mt_plugindataそのものを削除しちゃいけなかったんだと気づいたが、すでに時は遅し。バックアップもとってなかったし。

で、かくなるうえは、MT再インストールかぁぁぁぁと暗然たる気持ちになったのだけど、なんとかmt_plugindataのテーブルを再度作れないかと思って、MySQLコマンドでテーブルを作るときは、「create table テーブル名」だから、ってことで「create table mt_plugindata」で検索すると、ありました。MovableBLOGのエントリー"PluginData"に、

create table mt_plugindata (
plugindata_id integer not null auto_increment primary key,
plugindata_plugin varchar(50) not null,
plugindata_key varchar(255) not null,
plugindata_data mediumtext,
index (plugindata_plugin),
index (plugindata_key)
);

という記述が。ちなみにこの記述そのものは、まだMTにMT::PluginDataというモジュールが入っていない頃に、これを導入してアップグレードするためのものみたいだが、とにかくこれをMySQLコマンドラインから打ち込んで、見事にmt_plugindataのテーブルを再生。で、もう一度mt-sc.cgiを動かして、ツリーの設定をやり直したら、バッチリうまく行きました。

というわけで、サブカテゴリーの再構築をする際は、MySQLをよく理解した上で慎重にやりましょう。
(ま、意図的に、mt_plugindataを丸ごと「drop table mt_plugindata;」コマンドで消去し、すぐに「create table mt_plugindata」を上記のような内容でやってもいいわけだが。 )

トラックバック(1)

トラックバックURL: http://hideyukihirakawa.com/mt/mt-tb.cgi/48

〓泣〓〓〓〓〓眼〓〓若〓篏〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓違〓〓潟〓〓贋〓〓〓〓〓〓br /> http://www.rayners.org/2004/01/21/subcategories_v03/index.php

篁〓〓罧級〓〓...

続きを読む

2017年3月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Access

Archive

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
Powered by Movable Type 4.22-ja
OpenID対応しています OpenIDについて

出版情報

 

 

Twitter

About this blog

▼当blogは大阪大学コミュニケーションデザイン・センター(CSCD)の平川秀幸の個人用blogです。▼トラックバック&コメントwelcomeです。ただし、記事にあまり関係がないもの、商品広告・宣伝のためのものなどは、当方の判断により削除させていただきますので、ご了解ください。

このブログ記事について

このページは、hirakawaが2004年5月10日 03:00に書いたブログ記事です。

ひとつ前のブログ記事は「核燃料サイクル見直しへ―政治家間の攻防?」です。

次のブログ記事は「Winny制作者タイホ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。