ハイパーリンク:3 header image 2
カテゴリ

2010年02月23日(火) 23:32:26 · コメント(0) · ブログ関係

今はブログの模様替えの最中なのだ。
とはいってももう3日ほどこれに費やしている。
それというのもカテゴリごとに昇順、降順の切り替えをしようと思っていたのに
それがデフォルトではできないらしいからなのだ。
なんでもバージョン4.1からはカスタムなんちゃらでできるようになったらしいんだが、
残念ながらこれは3.1とかなので全然だめなの。
バージョンアップするという選択肢はあんまり考えたくない。
何しろ前にそれをして大変な目にあって苦労して元に戻したので。
と言うわけなので面倒くさい条件分岐をするcompareというプラグインを入れて、
それでカテゴリの名前を本に分岐するという手はずを踏んだ上で
なんとかカテゴリ毎のエントリーの並び順の変更はできるようになった。
ついでにデザインも個々に設定できる様になったので気が向いたらさわやか君にしてみたい。
しかしさらにまだ問題は続いていて、今取り組んでいるのはカテゴリの順番を調整するやつなんだが
調べたところ category_priorities というものをなんとかしてpmファイルにした上で
extlibフォルダに入れれば順番指定ができるという話があったのだ。
しかしそれをしてみたところ全くよくわからない並びになってしまうのであります。
photo23.jpg
こういった感じ。
日本語のカテゴリだとうまくいかないとか、変数の返値がおかしいとか
そういう問題があるという話も調べたところ出てきたのでそれを直しながら何回か試している。
でもだめなんだよなぁ。
perlのこともよくわかってないので、一体なにをする関数なのかあやふやなのもいけないんだと思う。
いい加減疲れてきたので数字付きの方法にした方がいいんだろうか。


なんとか思い通りの順番にすることができた。
結局またもや問題は文字コードだった。

package CategorySort;
my %category_priorities = (
‘GTAなど’ => 10,
‘その他の何か’ => 20,
‘パソコン関係’ => 30,
‘ファイル’ => 40,
~略~,
‘東北 09年03月’ => 235,
);
sub cat_sort ($$) {
my ($a, $b) = @_;
my $a_pri = $category_priorities{$a->label} || 1000;
my $b_pri = $category_priorities{$b->label} || 1000;
unless ($a_pri == 1000 && $b_pri == 1000) {
return $a_pri <=> $b_pri;
}
return $a->label cmp $b->label;
}

これを
CategorySort.pmとか言うファイル名にしてextlibにアップロードしてみるわけ。
あとテンプレートも多少いぢくる必要がある。
で、このコードなんだが文字コードをブログ自体が日本語EUCにしていたのに
ANSIとかなんとかで保存していて、それがまずい原因だったようでございます。
まぁ解決してよかったね。
これで次のステップに進むことができるようになった。

関連記事:

    • カテゴリ3 - [2010年3月9日]
    • MTEntriesWithSubCategoriesをつかってサブカテゴリに投稿したときに 自動で親カテゴリにも表示され…

    • カテゴリ2 - [2010年2月27日]
    • 前にいろいろいぢくったカテゴリなんだが、トップページでの表示があまりに長すぎることに気がついた。 こりゃながい。 なので…

    • 関連記事をカテゴリー縛りにする弊害 - [2023年5月12日]
    • ちょっと前から関連記事をカテゴリー縛りにしているのである。 たが、「どこかにいった」カテゴリーの下は縛りをしてしまうと関…

    • カテゴリー構造変更 - [2014年2月15日]
    • カテゴリの「旅の記録」の記事数が1となっているのがちょいちょい気になっていたのだ。 別に自分しか気にしていないんだが、そ…

    • カテゴリー - [2013年4月3日]
    • うーん?アプリからカテゴリ追加すると変。 親カテゴリを旅に設定して作っても勝手にGTA系になってしまうようなのだ。 日本…

タグ :

コメント(0)

コメントを受け付けておりません。