ダブルクオテーション「”」を置き換える
2011.10.03

MovableTypeにて、entrytitleやentrybody内の文字列にダブルクオテーション「"」を使うと、javascriptを使用した際にエラーになってしまいます。

以前、この問題で悩んだ際に解決方法を教えてもらったような、検索したような気がしますが、急に対応が必要でなかったこともあり放っておいてしまいました。今、対応が必要となり探ります。


MT タグとあわせて利用する「グローバル・モディファイア」というものがあるようです。アトリビュートですね。


まずは、replaceというものがあるようです。

たとえば、「&」を「&」に置き換えるには
<$mt:entrytitle replace="&","&"$>
となります。


便利そうですが、今回の「"」の置き換えは、これで解決できそうにありません。

ここで、違うグローバルモディファイアを発見しました。
Movable Typeの『グローバル・モディファイアリファレンス』(encode_htmlとかencode_js)

-----
●encode_js
javascriptで「"」を入れるとエラーになるので変換してくれます。
「"」を「¥"」という形に変換してくれます。

『<$mt:EntryTitle encode_js="1" $>』

こんな感じで使用します。
-----

1 に設定すると、MT タグの値が javascript の文字列の値として使えるようにエンコードするようです。解決方法はまさにこれです。


この他にも

●encode_html
1 に設定すると、MT タグの値が 「<」を「&lt;」、「&」を「&nbsp;」などの形にHTMLエンコード

『<$mt:EntryTitle encode_html="1" $>』

こんなのが、かなり使えそう。助かりました。

ブログ記事アーカイブを使用しないサイト作り
2011.04.19

『TOPページ内のある箇所のテキスト更新に関しては
 自社スタッフで出来るようにしたい、何か良いシステムは無いか?』
 
という要望をクライアント様より頂く場合があります。
 
こういったタイプの案件の場合、
トップページのみ公開されればいいので、
ブログ記事単体ページは公開しません。

ですので、インデックステンプレートとして
【インデックステンプレート:メインページ】だけを
カスタマイズすればいいと思われがちですが、
 
公開しない【アーカイブテンプレート:ブログ記事】の
カスタマイズも必要になります。
 



MT:指定日公開について
2010.08.11
MTの指定日公開機能は、そのままでは動作しません。
すでに多くの方々がまとめていますが、cronの設定が必要です。

基本的には、

・MTディレクトリ/tools/ にある「run-periodic-tasks」のパーミッションを「755」などの実行可能なものにする

・「run-periodic-tasks」を定期実行させるようcronに設定

これで指定日公開が可能になります。
弊社環境(CPIサーバー)の場合、これに加えて、

・「run-periodic-tasks」内の一部を修正する

という作業が必要でした。

修正内容は以下↓

----------------------------------------------------------
use lib 'lib', '../lib', 'extlib', '../extlib';
----------------------------------------------------------

という部分を探し、
サーバー内の絶対パスに修正します。

(修正後)
----------------------------------------------------------
use lib 'lib', '/usr/home/ユーザーID/html/mtディレクトリ/lib', 'extlib', '/usr/home/ユーザーID/html/mtディレクトリ/extlib';
----------------------------------------------------------

この状態でアップしなおせば完了です。
MT:記事を保存したときに自動で再構築
2010.04.08
記事を投稿したとき、基本的にはその記事に関係するページしか
再構築されないと思います。
けどそれだと、ブログのメニューに最新記事のリストなどを
表示してる場合、ページごとにリストの内容がまちまちになってしまいます。

これを何とかしようといろいろ調べてみたんですが、
なかなか良い方法が見つからず・・
そもそも最初からSSIで読み込むようにするとか、PHPで読み込むとか
更新のいらない賢い方法で皆さんやっていらっしゃるようです^^;

今回は修正が加えにくかったので、
自動で再構築させるプラグインを探してみました。

■RebuildBlogByIDプラグイン
http://weeeblog.net/blog/2008/11/30_2334.php

こちらで公開されています。
記事を保存したときに、指定したブログを再構築してくれるプラグインです。
今回の用途以外にも上手く使えそう(むしろそっちがメインでしょうか・・)。

デフォルトでやったらタイムアウトエラー?が出てしまったので、
サーバーによっては再構築をバックグラウンドで行わせる設定に
したほうがよさそうです。
MT5:CSVで一括登録っぽいこと5
2010.01.21
前回の続きです。

4.MTのインポート機能を使って一括登録

最後はもうわざわざ書くほどのことではないのですが、
できた記事データをMTにインポートします。

メニューの「ツール」から「記事のインポート」を選び、
作成した記事データを指定します。
他の設定はデフォルトでやりました。

ちなみに前回の文字コード変更がうまくいってない場合、
インポートしても記事が登録されません。


これで、無事にすべての記事が登録されれば完了です。

月別アーカイブ