コメント及びトラックバックは、スパム対策のため、承認制となっておりますが、今次、TypeKey IDをお持ちの方については、サイン・インしていただいた上で、コメント登録をしていただくと、即時公開となる設定にいたしました。

3.3日本語版が出てから、はやくも2回目のマイナーバージョンアップとなり、いろいろ情報収集した結果SQLite+ロリポップでの不具合も概ね解消されてきたようなので、本日、3.2-ja-2からバージョンアップした。所要時間は確認作業も含めて、約2時間で比較的スムーズに完了。

3.32になったにもかかわらず、まだ、ダイナミックパブリッシング関連に重大なバグ(MTタグの動作)があるようだが、おいらは、現在、静的生成で運用しているので、問題はない。今回の目玉商品である「Tags」は興味がないから導入しないし。だって、「キーワード」があるやん。だいだいMTタグとTagsってネーミングがカブってるじゃん。もう少しオツム賢くならんかね。6アパさん。

以降は、作業メモ。

DynamicPublishing(ダイナミック・パブリッシング)のおかげで、再構築エラーをとりあえず回避することには成功したのだが、この1ヶ月いろいろ手を加えていくうちに、細かな問題も含めて、障害が多くてイヤになります。トホホ。ある程度は自力で修正してきましたが、今回は無理です。当該不具合というのは、以下のとおりです。どなたか分かる方がいらっしゃったらご教示願います。(完全にお手上げ)

1 six apart公式サイト、技術ドキュメントにあるページレベルのキャッシングを試してみたところ、解説では「実験的」と言い訳をしている割には、ものの10分程度の設定ですんなり上手くいった。→アクセスが早くなって、快適になった。(わーい!わーい!!)
2 ついでに、条件付リクエスト対応にしてみた。→ブラウザのキャッシュを有効に活用するらしい。(さらに早くなった気がする?)
3 ところが、Smartyコードを使ったページ分割が機能しなくなった!!→「?offset=**」のリンクは正常に生成されているが、アクセスに対する応答が、常に1ページ目。(なぜ??)

1,2までアゲアゲだったのが、3で一気にサゲ?、です。
おそらく、「?offset=」が付加されたリンクアドレスのブラウザ要求に対して、システム側が認識できていないため、キャッシュされている原ページ(1ページ目)ばかりが表示されるものだと推察されます。しかし、おいらの知識レベルでは、これはもう解決できる範疇をはるかに超えてます。誰か助けて…。

MovableType(ムーバブル・タイプ)って、日本ではユーザが多いらしいけど、使ってみた感じ、あんまりいいソフトではないような気がする。ま、タダなんだからあまり文句は言えないけどさ。もっとよさげなCMSがあったら、あわせて教えてくだせーまし。なんだか、NucleusCMS(ニュークリウス)とか、SereneBach(セレーナ・バッハ?)とかのほうがよさそうでんなー。(隣の芝は青く見える?)

 小粋空間テンプレートで、リキッドレイアウトは、左右のサイドバーにPOSITION:ABSOLUTEプロパティ値を使用していることから、ヘッダーブロックの高さが可変してしまう環境の場合、サイドバーブロックがヘッダーブロックに食い込んでしまいます。これに対する、ひとつの解消法としては、

#box(
#banner(ヘッダーブロック)
#main(POSITION:RELATIVE
  #links-left-box(#links-left(左サイドバー))
  #content(#blog(.entry(中央カラム)))
  #links-right-box(#links-right(右サイドバー))
)--/main--
)--/box--

というように、ヘッダーブロックすぐ下に、サイドバーと中央カラムを包含するブロックをつくり、POSITION:RELATIVEとした上で、サイドバーブロックのTOPプロパティ値を「0」指定することで解消します。(※テンプレートにおけるブロックイメージを表現しています。)

 これは、ABSOLUTEの位置決め規則が、「直近する親の布置ボックス(Static以外のRelativeかAbsoluteかFixedの3つを指す。)のパディング辺を基準にする。」仕様を利用したものです。つまり、絶対値指定されているサイドバーブロックを包含する#mainブロックを、RELATIVE布置ブロックとして追加することで、左右サイドバーが、これ(#mainブロック)を基準に配置されるようになるためです。「絶対配置」という言葉が分かりにくくしているため、使い方がよくわからなくなることがありますが、こんな使い方もあります、みたいな。

基本的に長さの指定を”PX《ピクセル》”指定している場合は、画面の解像度に対する相対指定であることから、特にそのままで不具合は生じませんが、”em《エムクワド》”指定した場合、上記のようにしておくと「食い込み」を防ぐことができます。

ただ、この処置をした場合、IE《インターネット・エクスプローラ》ではエントリー内の画像が消えてしまうという現象が発生してしまうことがあります。(FireFoxでは発生しません。)
img要素は、インライン要素なので、そのままの場合は、画像が消えてしまうという現象は発生しませんが、FLOAT:《浮動化》指定したり、DISPLAY:BLOCK《ブロックラインレベル要素》指定した場合は、ブロック要素となり、包含ブロックのPOSITIONプロパティに気をつける必要があります。画像が消えてしまう場合は、img要素をブロック要素とした上で、POSITION:RELATIVEを指定してみると解決する場合があります。

注)これは、ダイナミックパブリッシングを愛してやまない(;´д`)自分のためのメモでもあります。

(1)トラックバックのデータをリストアップする<MTPings>タグ(コンテナ)については、仕様書によると、メインページ(インデックス)において、受信した全てのトラックバックが、エントリ・アーカイブやカテゴリ・アーカイブにおいては、そのエントリやカテゴリに対して送信されたトラックバックが表示されることになっている。しかし、動的生成において静的生成と同じタグコーディングをした場合、全く表示されないことがある。

StaticDynamic
メインインデックス全部表示せず
エントリアーカイブ当該エントリのみ当該エントリのみ
カテゴリアーカイブ 当該カテゴリのみ表示せず
日付アーカイブ当該日(または月または週)のみ表示せず

なんでこんなに動作が違うのか全くワケがワカリマセンな。これは完全にMTのバグでしょう。

(2)日付アーカイブにおいて、当年初投稿日の日付アーカイブページ(type=Daily)に自動作成される前日へのリンクが、前年の最終投稿日ではなく、前年の最初の投稿日になる。また、(type=Monthly)も同様。
これも全くワケワカメ。MTのバグであると思はれ。

3.3ではちゃんとフィックスされていることを願いますよ。

注)当エントリーはダイナミックパブリッシングを使用している自分のためのメモでもあります。
分割でお願いします by invisible blog
にダイナミックパブリッシング時のページ分割方法があります!
MTのダイナミックパブリッシングは、もともとページ分割機能を持っている(offset属性)ので、Smartyコードをページに埋め込んでやればいいだけです。プラグインは必要ありません。とっても簡単。時代にあった省エネ方式だね。
おいらんちの場合↓

<div class="content-nav">
{{assign var="epp" value=10}}(1ページあたりの記事数10エントリをここで設定します。)
{{capture assign="count"}}<$MTCategoryCount$>{{/capture}} {{if $count > $epp}}
<div class="nav-left">
{{if $smarty.request.offset < $count-$epp}}
<a href="?offset={{$smarty.request.offset+$epp}}">« 前ページ</a>
{{else}}
« 前ページ
{{/if}}
</div>
<div class="nav-right">
{{if $smarty.request.offset > 0}}
<a href="?offset={{$smarty.request.offset-$epp}}">次ページ »</a>
{{else}}
次ページ »
{{/if}}
</div>
{{/if}}
</div>

んで、
<MTEntries lastn="epp" offset="`$smarty.request.offset`">

と書き直せば、ばっち、ぐ。
※ちなみに「`」は、バッククォートといいます。「'」シングルクォートとは違うのでご注意を。

注)これは、ダイナミックパブリッシングを使用している自分のためのメモでもあります。
同種のカスタマイズについては、「個別エントリーアーカイブに同一カテゴリーのエントリーを表示」 by 小粋空間をはじめいろいろなサイトで紹介されていますが、動的生成の場合は、MTTagInvokeプラグインがPerlで書かれているため、使用できません。ここでは、なぜPerl版プラグインがダイナミックパブリッシングで使用できないかは省略します。手抜き( ̄◇ ̄;)
また、「ダイナミックパブリッシング下でPerlのプラグインを使用する方法」 by Wing Memo(Perl版プラグインを使用する部分だけを静的生成にして部品ファイルを作成し、MTInclude file="○○.html"で動的ページに取り込むという方法)をやろうとしても、この部品ファイル(インデックステンプレート)を再構築する際、「<$MTEntryCategory$>が<MTEntries>タグ内で使用されていません!」とのエラーメッセージで再構築エラーになってしまい使用することができません。なぜかは、ナゾ…。
そこで、ダイナミックならではのSmartyを使用した表示方法を紹介します。困ったときのSmarty!(需要があるかは別にして。)(;´д`)
まず、当該エントリーのサイドバーあたりに、”関連記事”として、同一カテゴリのリストを表示するには、

<MTEntries lastn="○" category="<MTEntryCategory>">

が使用できればよいわけですが、MTタグをcategory属性に書くことはできません。そこで<MTEntryCategory>の内容を文字列として取得して、<MTEntries>のcategory属性に代入してあげればよいのです。簡単でしょ?
ちなみにおいらが使用しているコードを紹介します。
<div class="sidetitle">
関連記事
</div>
<div class="side">
{{capture name="entry_category"}}<$MTEntryCategory$>{{/capture}}
<MTEntries lastn="20" category="`$smarty.capture.entry_category`">
<a href="<$MTEntryPermalink$>" title="e<$MTEntryID$>"><$MTEntryTitle$></a><br />
</MTEntries>
</div>

※CSSクラス宣言は、小粋空間テンプレートに対応しています。

アーカイブ

MovableType FireFox FEEDS1 FEEDS2 track feed 人気ブログランキング にほんブログ村 クラシックブログ ピアノ・鍵盤楽器へ

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMovableTypeカテゴリに属しているものが含まれています。

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