MT

マークアップエンジニアとかWEBディレクターとかをやってる僕が、自分が詰まって、解決したことをここに残しておきますよ。

MT管理画面の本文フィールドとタイトルを非表示にする

カスタムフィールドを使って、MTをお客さん用にガッツリカスタマイズするとき、
本文フィールドが邪魔になったりする。

本文フィールドってサイズがでかいし。 
でも、表示オプションで消そうとしても、ロックされてて消せないんだ。

なんかそういうプラグインあるのかな?と
思って調べたら、プラグイン使わずに設定ファイルをいじってやる方法が書いてあった。

http://www.tinybeans.net/blog/2011/02/17-151618.html


やりかたも優しく書いてあります。

ただ、バージョンが変わってくると、
edit_entry.tmplの変更する部分の行数が違ったり
Entry.pmの変更する 部分の行数が違ったりするので、
テキストエディタでひらいて、文字列を検索して該当箇所を探したほうがいいですよ。

MTでカスタムフィールドにいれた数字の順番に記事を表示させる

記事の順番は、日付順にしたりタイトル順にしたり、といったことはこれまでもできたんだけど、企業サイトのCMSとしてMTを使っていると、お客さんの側で順番をコントロールしたい、という要望がたいてい出てくる。

こういうときはプラグインを使うしかなかったのかもしれないけど、
MT5になってからは、標準でお客さんのコントロールしたいように順序をコントロールできるようになった。

カスタムフィールドを使って、その入力値を順序のバロメータにできるんすね。


■やりかた

①まずカスタムフィールドを新規作成しましょう。
 種類はなんでもいいけど、使いやすいのは「テキスト」だと思う。
 「トップ記事順序」などと名前をつけ、
 テンプレートタグも「topentryorder」などと名前をつけます。

②つぎに、ページのテンプレートをひらき、記事を吐き出していた部分

<MTEntries>
  <a href="<$MTEntryLink$>"><$MTEntryTitle$></a>
</MTEntries> 

を次のようにします。

<MTEntries sort_by="field:topentryorder">
  <a href="<$MTEntryLink$>"><$MTEntryTitle$></a>
</MTEntries>  

まぁ見ればわかると思いますが、カスタムフィールドの値を順序のキーとして使うには

sort_by="field:◯◯◯◯"

という書き方をします。
◯◯◯◯の部分にはテンプレートタグが入る。


③ そのままだと降順になっている。降順ってのは大きいほうが上になる。
それだとちょっと使いにくいよね。

表示順のフィールドには、「001」と入れたり「015」と入れたりするとおもうんだけど、普段使うときは、数が小さいほうが上になったほうが直感的で使いやすい。

なので、表示順序は昇順にしてあげる。

sort_order="acsend"

ということで、完成版はこちら 

<MTEntries sort_by="field:topentryordersort_order="acsend">
  <a href="<$MTEntryLink$>"><$MTEntryTitle$></a>
</MTEntries>   
便利になりました。 

MTでページ分割プラグインpagebuteを使ったときに1を出さない

MTをやるなら、絶対に必須のプラグインのひとつ

pagebute
http://www.skyarc.co.jp/engineerblog/entry/2642.html

とても便利なので、もし知らない人がいたなら、知ってほしい。

使うときのちょいコツで、

<MTPageContents count="10">

などと設定して、10記事ごとにページを分割する場合、

10記事以下しかなければ、一覧ページのページ分割部分に

「1」

とだけ出てしまう。

お客さんにとっては、見栄えが悪いということによくなるので、

<$MTPageLists show_always="0"$>

というように

show_always="0"

というアトリビュートを付けるのが◎です。

MT5の管理ページがIEで崩れるのの直し方

お客さんに指摘されて初めて知った。

MT5はIE7以下をまったく考慮しないで管理画面などもマークアップされている。

お客さんがIE7環境なので、ちゃんと崩れないようにしてほしい、
という要望があったので、直した。

一番ひどかったのがカテゴリの表示

↓こんな風につぶれちゃう。

mtcategorykuzure

見た感じ、これ、floatの解除で失敗してるときによく見るやつだね。


なので、この部分をcssで表現している部分を探してきてなおすことにします。

クロムの右クリックで「要素を検証」を使うとそのcssがわかりやすい。


んで、見てみると、この部分は、

main.cssの

.sortable-item

という部分らしいことがわかる。


そこで、FTPで

mt-static/css/main.css

を落としてきて、

126行目にあった.sortable-itemの中に

/zoom:1;

を追加。

 
cssを見てみると案の定、floatの解除をafter擬似クラスを使ってやっていた。
(IEの古いのではafter擬似クラスが使えない)

なので、同様の崩れがあったら、

①そこのcssを見つける
②/zoom:1;を入れる

で解決できるよ。

MT5エラー対処

'Daily'はアーカイブタイプとして登録されていません

というエラーが再構築中にでた。

このエラーは初めてだったので、困った。

ググっていても何も出てこない。


20分ほどうなって、あぁ、Dailyって日付アーカイブのことか、と。


んで、解決したのでメモ

■解決法

①アーカイブテンプレートの「ブログ記事リスト」を新規作成

②中身は使わないのでタイトルを「日別記事リスト」とでもしておく(なんでもいい)

③一度保存

④テンプレートの設定で、
 新しいアーカイブマッピングの作成→種類を日別にする

⑤再構築


OK!


とはいえ、普通にMT使ってる人はこんなエラー出ないと思いますが、

万が一同じエラー出た人のためにメモを残しておきます。


記事検索

リモキュー

お仕事のご依頼・お問い合わせはこちら

コーディングのお仕事が得意です。

https://twitter.com/tacshock
タグクラウド
QRコード
QRコード
  • ライブドアブログ