MT4

  • MT4でMTIfを使う時の簡単ガイド

    ·

    MovableTypeはvar.4になってかなり使いやすくなった。
    テンプレートで<MTIf name=”main_index”>として設定するだけで、その部分は「メインページのみで表示されるもの」となる。

    例:
    <MTIf name=”main_index”>
    メインページのみで表示させたいもの
    </MTIf>

    もし、「
    メインページのみで表示させたいもの」、「メインページ以外で表示させたいもの」が同時にある場合は

    例:
    <MTIf name=”main_index”>
    メインページのみで表示させたいもの
    <MTElse>
    メインページ以外で表示させたいもの
    </MTIf>

    これで、メインページでは「
    メインページのみで表示させたいもの」、それ以外のページでは「メインページ以外で表示させたいもの」、が表示されるようになる。

    では、メインページのみ表示させたくない場合はどうするか。

    例:
    <MTIf name=”main_index”>
    空白
    <MTElse>
    メインページ以外で表示させたいもの
    </MTIf>

    上に習い、上記のようにしておけば、メインページは「空白」、となり、それ以外のページでは「メインページ以外で表示させたいもの」、が表示されるようになるが、もっと簡単にできるように関数が用意されている。

    例:
    <MTUnless name=”main_index”>
    メインページ以外で表示させたいもの
    </MTUnless>

    これだけでいい。「If」に対しての「Unless」ということ。

  • サイトマップの作成は、GoogleやYahoo!やMSNにクロールされやすくなり、SEO対策としてはとても有効な手段。
    Movable Type 4を使っているなら、簡単にテンプレートの追加で作成できるから、是非作成してSEOに役立ててもらいたい。
    サイトマップ用テンプレートの作り方(Movable Type 4)
    管理ページにログイン
    「デザイン」→「ブログのテンプレート」→「インデックステンプレートを作成」
    設定(一例)
    テンプレートの名称→Google Sitemaps
    テンプレートの種類→カスタムインデックステンプレート(そのまま)
    出力ファイル名→sitemaps.xml
    インデックステンプレートを再構築するとき、このテンプレートも再構築する→チェック
    テンプレート



    <$MTBlogURL encode_xml="1"$>
    <$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>
    daily




    <$MTEntryPermalink encode_xml="1"$>
    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$> 1.0






    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>







    <$MTArchiveLink encode_xml="1"$>

    <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$>





    ※いろいろなサイトで公開されているから「MT4 google sitemap/0.9」等で検索するといい。

  • PC2M Website Transcoder for Mobile Clients(pc2m)を利用し、ホームページを携帯対応にする場合の改造ポイント。

    pc2mを通したサイトを、通常の携帯サイトと比較した場合、どうしても「ツールを使っている感じ」がする場所。

    • 設(設定)

    さまざまなユーザーのアクセスが予測される場合は、ユーザーにより「パケット定額」ではない場合もあるが、ユーザーやサイトの方針で、「半角にしない」「画像は表示」と規定するのであれば、「設定」のメニューは削除してしまうといい。

    設定ファイル:Template.inc.php

    ただし、そのままではデフォルトの「カタカナ半角」「画像はリンク」のままなので、別の設定を望む場合は、以下のファイルを修正する。

    設定ファイル: index.php

        if ($local_args[‘v’] === null and isset($_SESSION[‘settings’][‘v’])) {
            $local_args[‘v’] = $_SESSION[‘settings’][‘v’];
        }
        if ($local_args[‘l’] === null and isset($_SESSION[‘settings’][‘l’])) {
            $local_args[‘l’] = $_SESSION[‘settings’][‘l’];
        }
        if ($local_args[‘k’] === null and isset($_SESSION[‘settings’][‘k’])) {
            $local_args[‘k’] = $_SESSION[‘settings’][‘k’];
        }

    の部分を

        if ($local_args[‘v’] === null and isset($_SESSION[‘settings’][‘v’])) {
            $local_args[‘v’] = 1;
        }
        if ($local_args[‘l’] === null and isset($_SESSION[‘settings’][‘l’])) {
            $local_args[‘l’] = 1;
        }
        if ($local_args[‘k’] === null and isset($_SESSION[‘settings’][‘k’])) {
            $local_args[‘k’] = 1;
        }

    とすれば、デフォルトで「カタカナ全角」「画像表示」になる。

  • PC2M Website Transcoder for Mobile Clients(pc2m)を利用し、ホームページを携帯対応にする場合の改造ポイント。

    アクセス制限設定(踏み台対策)(その4)参照 を施していても100%安全とは言えないため、 URLに自分のサイト以外のURLが書かれた場合は無効になるようにしておくと安心。

    設定ファイル:index.php

    function sendRequest($_url, $_client_param = array(), $_post_data = array(), $_is_framesrc = false){

    の部分、各種 global の次あたりに
       
        if (!ereg(“^http://digital-gate.com/”, $_url)){$_url = “”;}

    を追加。
    ※http://digital-gate.com/は、自分のサイトのURL

    これで、http://digital-gate.com/を含まないURLが記入された場合、$_urlの値は空になる。

    この修正を施したものでURLのテキストボックスに他のURLを入れてみると、

    「〜から応答がないわけで、サーバが見つからないとかDNSエラーとかそんなんだと思われ」

    とエラーが表示されるようになる。
    このエラーメッセージが気になる人は、

    修正ファイル:ErrorMessages.inc.php

    ‘ERROR_SERVER_NORESPONSE’    => ‘<a href=”r.php?{%1}”>{%1}</a>から応答がないわけで、サーバが見つからないとかDNSエラーとかそんなんだと思われ’,

    の部分を修正するといい。

  • PC2M Website Transcoder for Mobile Clients(pc2m)を利用し、ホームページを携帯対応にする場合の改造ポイント。

    pc2mを通したサイトを、通常の携帯サイトと比較した場合、どうしても「ツールを使っている感じ」がする場所。

    • URL記入ボックス

    通常のサイトであれば、そこから他のサイトに行くのは本来の目的とは違うはず(検索サイトや変換サービスとして構築の場合を除く)なので、URL記入ボックスは削除してしまうといい。

    修正ファイル:Template.inc.php

    同様に、配布サイトにおいて「アクセス制限設定(踏み台対策)」として書かれているように、このスクリプトを悪意をもって利用されることは防がなくてはいけない。
    モバイルキャリアのネットワーク以外からのアクセスを禁止は設定として用意されているから簡単にできる。

    修正ファイル:Config.inc.php

    // define(‘ALLOW_ONLYMOBILE’, true);

    define(‘ALLOW_ONLYMOBILE’, true);

    当然のことながらPCからの確認も出来なくなるから、ちゃんと動くことを確かめてから設定すること。

  • MovableTypeで作成したサイトを携帯で見られるようにするための方法を探していて見つけたもの。
    (カスタマイズ編)

    元になるスクリプトはこれ

    PC2M Website Transcoder for Mobile Clients
    「PCサイト->携帯変換スクリプト」
    http://www.rcdtokyo.com/pc2m/note/

    インストール他は(その1)参照

    pc2mを導入して、MovableTypeで作成しているDigital Gateも携帯で見られるようになったが、デフォルトの設定のままではいくつかの不具合がある。

    • 不要なパーツの表示(その2)参照
    • 見出しタグのサイズ

    今回は、見出しタグのサイズ(文字サイズ)を本文と同じにする。

    今の携帯は見出しタグ(<H1>や<H2>)にある程度表示するため、見出しタグを使ったページを表示した場合、逆に見づらくなってしまうことがある。
    デジタルゲートの場合も、記事タイトルのフォントサイズが妙に大きく格好悪い。
    そこで、見出しタグは置き換えてしまうことにする。

    修正ファイル:FormatRule.inc.php

    このファイルの、

        ‘h1’ => array(
            ‘type’ => ‘block’,
            ‘children’ => array(‘#PCDATA’, ‘a’, ‘br’, ‘span’, ‘img’, ‘map’, ‘i’, ‘b’, ‘u’, ‘big’, ‘small’, ‘font’, ‘em’, ‘strong’, ‘dfn’, ‘code’, ‘q’, ‘samp’, ‘kbd’, ‘var’, ‘cite’, ‘abbr’, ‘acronym’, ‘sub’, ‘sup’, ‘input’, ‘select’, ‘textarea’, ‘label’, ‘button’),
            ‘attributes’ => array(‘align’)
        ),
        ‘h2’ => array(
            ‘type’ => ‘block’,
            ‘children’ => array(‘#PCDATA’, ‘a’, ‘br’, ‘span’, ‘img’, ‘map’, ‘i’, ‘b’, ‘u’, ‘big’, ‘small’, ‘font’, ‘em’, ‘strong’, ‘dfn’, ‘code’, ‘q’, ‘samp’, ‘kbd’, ‘var’, ‘cite’, ‘abbr’, ‘acronym’, ‘sub’, ‘sup’, ‘input’, ‘select’, ‘textarea’, ‘label’, ‘button’),
            ‘attributes’ => array(‘align’)
        ),
        ‘h3’ => array(
            ‘type’ => ‘block’,
            ‘children’ => array(‘#PCDATA’, ‘a’, ‘br’, ‘span’, ‘img’, ‘map’, ‘i’, ‘b’, ‘u’, ‘big’, ‘small’, ‘font’, ‘em’, ‘strong’, ‘dfn’, ‘code’, ‘q’, ‘samp’, ‘kbd’, ‘var’, ‘cite’, ‘abbr’, ‘acronym’, ‘sub’, ‘sup’, ‘input’, ‘select’, ‘textarea’, ‘label’, ‘button’),
            ‘attributes’ => array(‘align’)
        ),
        ‘h4’ => array(
            ‘type’ => ‘block’,
            ‘children’ => array(‘#PCDATA’, ‘a’, ‘br’, ‘span’, ‘img’, ‘map’, ‘i’, ‘b’, ‘u’, ‘big’, ‘small’, ‘font’, ‘em’, ‘strong’, ‘dfn’, ‘code’, ‘q’, ‘samp’, ‘kbd’, ‘var’, ‘cite’, ‘abbr’, ‘acronym’, ‘sub’, ‘sup’, ‘input’, ‘select’, ‘textarea’, ‘label’, ‘button’),
            ‘attributes’ => array(‘align’)
        ),
        ‘h5’ => array(
            ‘type’ => ‘block’,
            ‘children’ => array(‘#PCDATA’, ‘a’, ‘br’, ‘span’, ‘img’, ‘map’, ‘i’, ‘b’, ‘u’, ‘big’, ‘small’, ‘font’, ‘em’, ‘strong’, ‘dfn’, ‘code’, ‘q’, ‘samp’, ‘kbd’, ‘var’, ‘cite’, ‘abbr’, ‘acronym’, ‘sub’, ‘sup’, ‘input’, ‘select’, ‘textarea’, ‘label’, ‘button’),
            ‘attributes’ => array(‘align’)
        ),
        ‘h6’ => array(
            ‘type’ => ‘block’,
            ‘children’ => array(‘#PCDATA’, ‘a’, ‘br’, ‘span’, ‘img’, ‘map’, ‘i’, ‘b’, ‘u’, ‘big’, ‘small’, ‘font’, ‘em’, ‘strong’, ‘dfn’, ‘code’, ‘q’, ‘samp’, ‘kbd’, ‘var’, ‘cite’, ‘abbr’, ‘acronym’, ‘sub’, ‘sup’, ‘input’, ‘select’, ‘textarea’, ‘label’, ‘button’),
            ‘attributes’ => array(‘align’)
        ),

    の部分をコメントアウトし、

        ‘h1’ => array(
            ‘replace’ => ‘div’
        ),
        ‘h2’ => array(
            ‘replace’ => ‘div’
        ),
        ‘h3’ => array(
            ‘replace’ => ‘div’
        ),
        ‘h4’ => array(
            ‘replace’ => ‘div’
        ),
        ‘h5’ => array(
            ‘replace’ => ‘div’
        ),
        ‘h6’ => array(
            ‘replace’ => ‘div’
        ),

    を記入。

    これで見出しタグはdivとなりフォントサイズは本文と同じになる。

  • MovableTypeで作成したサイトを携帯で見られるようにするための方法を探していて見つけたもの。
    (カスタマイズ編)

    元になるスクリプトはこれ

    PC2M Website Transcoder for Mobile Clients
    「PCサイト->携帯変換スクリプト」
    http://www.rcdtokyo.com/pc2m/note/

    インストール他は(その1)参照

    pc2mを導入して、MovableTypeで作成しているDigital Gateも携帯で見られるようになったが、デフォルトの設定のままではいくつかの不具合がある。

    • 不要なパーツの表示
    • 見出しタグのサイズ

    Digital Gateでは3カラムのデザインがベースとなっているが、携帯から見た場合に必要だと思われるのは、記事本体のみで、広告はもちろん、ブログパーツも携帯に対応していないものも多い。

    pc2mには、ページの任意の箇所を非表示にする方法が用意されているから、それを利用することにする。
    なお、以下はDigital Gateでの場合。

    修正するのは「テンプレートモジュール」内にある「サイドバー (3カラム)」

    Digital Gateではメインコンテンツのメニューは上部にまとめてあるので、右の2カラムを丸ごと非表示にしても支障が無い。
    そこで「サイドバー (3カラム)」のファイルを開き、最上部に、<!–pc2m_void–>を挿入し、最下部に<!–/pc2m_void–>を追加する。
    保存、再構築を経て、携帯から確認すると、ちゃんと本文記事のみになっている。

    なお、MovableTypeではボトムに
    Copyright © 2001-2007 Six Apart. All Rights Reserved.
    等が入っているが、携帯では機種により© が文字化けし、また、表記も長いので、「テンプレートモジュール」内にある「フッター」のファイルを開き、上記部分を<!–pc2m_void–>と<!–/pc2m_void–>で囲む。

    ただし、このままでは何も表示されないので、
    Template.inc.phpのファイルを開き、</body>の前に
    (c) Digital Gate
    と追加し保存。

    これでボトムの表記もすっきりした。

    見出しタグの変更は次回。

  • MovableTypeで作成したサイトを携帯で見られるようにするための方法を探していて見つけたもの。

    PC2M Website Transcoder for Mobile Clients
    「PCサイト->携帯変換スクリプト」
    http://www.rcdtokyo.com/pc2m/note/

    ライセンスを確認すると、

    • Free Software FoundationによるGNU General Public Licenseのバージョン2あるいはそれ以降のバージョン(以下「GPL」と言う)に基づきライセンスされます。

    ということ。

    動作環境は「PHP 4.3.9/5.0.1以降」だから、多くの環境で使える。

    サイトのマニュアルが詳しく書いてあるからインストールは簡単。

    携帯でアクセスすると、上に「設下」や下に「上写直履TOP」と表示されているから、文字化けしているのかと錯覚するが設定メニューを省略して表示しているだけなので、これでOK。

    利便性から、pc2m.phpはindex.phpに変更。(以降、修正ファイル名はindex.phpと表記)

  • Movable Type 4 を携帯に対応させたい場合、代表的な方法として、

    MT4i
    http://www.hazama.nu/pukiwiki/index.php?MT4i

    ケータイキット for Movable Type
    http://www.ideamans.com/keitaikit/

    MT-Mobile
    http://lab.fancs.com/download.html

    その他、一度のエントリーで携帯用ページを書き出すという方法もあるが、単純に読めるようにするだけなら、もっと簡単にできるかもしれない。

    まずはcssでのコントロールあたりから試してみよう。

    <link rel=”stylesheet” href=”styles.css” type=”text/css”>
    <link rel=”stylesheet” href=”mobile.css” type=”text/css” media=”handheld”>

    のようにして携帯はmobile.cssを適用させる。

    新たにmobile.cssを設定して、Operaの「スモールスクリーン表示」で見てみると、ちゃんとmobile.cssが反映されている。

    display: none;
    の項目もちゃんと非表示。


    しかし、携帯からチェックしてと media="handheld" に対応している携帯では無いためPCのまま表示。


    Javascript か PHPで振り分けるのがよさそう。

    ※このエントリーは順次更新していきます。

  • Movable TypeのCMS機能を使いホームページを作成・構築している人も多いと思いますが、エントリーを追加しつつ、トップページは、会社の説明や概要などを表示させておきたい場合のヒントなど。

    デフォルトのままでは、最新記事がトップになってしまうため、最初に思いつくのが、トップにいて欲しい記事の日付を未来にすること。
    でも、これはちょっと格好悪いですね。

    同じようなことを考えている人は多いようで、便利なプラグインが公開されています。

    MovableTypeのプラグイン、CatEntries

    markpasc.org

    ダウンロード

    上記URLから、ファイルに保存とかで適当にテキストファイルとして保存。
    拡張子が.txtだったら拡張子を「.pl」にして完了。

    インストール

    MovableType本体が置いてあるディレクトリ下のplaginディレクトリにファイルをアップロード。

    使い方

    メインページテンプレートのIndexテンプレートを開き、

    <MTEntries>

    </MTEntries>
    の部分を

    <MTCatEntries lastn=”5″ include=”ホームページ制作”>

    </MTCatEntries >

    としてあげればいい。(「ホームページ制作」は例として)
    複数ある時は「,」で繋ぐ。(「ホームページ制作,ブログ構築,PHPプログラム」)
    lastnは件数。

    逆に表示したくないカテゴリーは
    exclude=”アフェリエイト,サイトマップ”
    とすればいい。

    でも、
    単に表示させたいカテゴリを決めるだけなら、プラグインは必要ない。

    <MTEntries category=”ホームページ制作 or Webアプリケーション開発” lastn=”5″>

    </MTEntries>

    こんな感じでOK。
    こっちの方が簡単で便利。