January 13, 2010

なんてかしこいphpMyAdmin

こんばんは。

前回のエントリーの中に書いた問題点
ブログ記事プレビューでは表示されているカテゴリ名が実際のエントリには、表示されない。

が解決しました。

DBの削除

まっさらのMT5を再インストール

xmlバックアップファイルをアップ

再構築

カテゴリが表示されました!


ご協力いただいたせなっち♪さんに超感謝です。

データベースなんて気にもかけない状態というかSQliteのデータなんか見る気もせんわい!が染み付いた私。

なぜロリポはSQliteを推奨したのか謎。

MySQLに移行してから再構築が遅いですが勉強になります。

phpMyAdminってなんのこっちゃいだったのですがログインしてみてなるほどでした。

見てわかるデータベースってことですね。

とにかくようやく正常に戻りました。

と思ったらプラグインめ!

SortCatFldプラグインのカテゴリの並び替えで

Cannot find column 'order_number' for class 'MT::Category エラーが...。

うう。心が折れます。

大丈夫。わたしにはphpMyAdminがあるわ。

「Cannot find column 'order_number' for class 'MT::Categoryがでた場合の対処法」
※私が実際やった手順です。なんの保証もできませんのであしからず...

phpMyAdminにログイン

MTのデータベースのmt_categoryテーブルに、手作業で「category_order_number」フィールドを追加。

フィールドの種類は「INT」

長さは「11」

デフォルト値は「NULL」

「NULL」のチェックはオン。

それ以外の項目は空欄のまま。

phpMyAdminでの作業は以上です。

次にFTPにあるlib\MT\Category.pmファイルをDLして開く。

25行目「'basename' => 'string(255)',」の後に、「'order_number' => 'int(11)',」を追加。

保存して上書きアップ。



これでCannot find column 'order_number' for class 'MT::Category エラーが消えました。

並び替えができます。

ただこれだけでは反映されません。

元のタグ書き換え後のタグ
MTTopLevelCategoriesMTSortedTopLevelCategories
MTSubCategoriesMTSortedSubCategories
MTTopLevelFoldersMTSortedTopLevelFolders
MTSubFoldersMTSortedSubFolders
MTCategoryPreviousMTSortedCategoryPrevious
MTCategoryNextMTSortedCategoryNext
MTFolderPreviousMTSortedFolderPrevious
MTFolderNextMTSortedFolderNext
MTEntryCategoriesMTSortedEntryCategories

といった具合にデザインテンプレートの中で使用しているタグの変換が必要です。

えっこんなに!

と思って全部検索したのですが私が使ってるのはTopLevelCategoriesとEntryCategoriesだけでした。

MTTopLevelCategoriesを一括置換で
MTTopLevelCategories sort_method="SortCatFld::Sort"

で試しに再構築したら反映されました。
MTEntryCategoriesは何も変えてないけど大丈夫かなと思いつつ放置。

特に何の問題も無いです。書き換え後のタグとか使うと他のに影響でそうで恐い。


本家はこちら。
http://www.h-fj.com/blog/archives/2009/09/24-190615.php


今年の目標の一つはwebのデザイン変更です。

読みにくいから。

ここまで読んでくれた方に感謝。


akane