MT5(4.2)からコミュニティソリューションなるものが統合されて、MT5ではコミュニティブログや掲示板をテンプレートから選んでやるとそれが使えるようになるとのこと。
その前になぜか自分の環境で新規にブログを作成するも、「ヘッダー」「フッター」がモジュールテンプレートにないではないかっ!!!!(喝じゃ
調べてみると、なぜかインストール時に日本語選んだのに英語版のテンプレートがインストールされたせいではないかと思う。(ブログ作成時は日本語テンプレートで作成したから、呼び出せなかったのかな??)
ちなみにロリポです。
それはともかく、システムのテンプレート内に英語ですが「Sign in」(←サインインテンプレート)があったので見てみた。
デフォルトだとややこしくJavascriptで書かれていて最初はチンプンカンプン。
とりあえずそのままコピペしてウェブサイトの方にもっていったが何も反応せず。
ログとしてやってみたポイントは以下の通り
システムテンプレートのheader(ヘッダー)内を確認し、必要だと思う部分をコピー、ウェブサイト内テンプレートにペースト
GlobalJavaScript(英語の場合)がシステムテンプレートにあるので、それをヘッダー内にインクルードする。
場合によると思いますが、ウェブサイト内に不要なMTVarがあると競合してCSSとか読み込んでしまうので慎重に確認しながら整理してください。
Sign in(サインイン)テンプレートを確認しコピーして、該当テンプレートにペースト。ほとんどJavascriptですが、空のdivタグが重要で、
>div id="signin-widget-content" class="widget-content">>/div>
この中にJavascript内の項目が読み込まれる形になっています。
当然divでなくても、pでもliでもidが重要なので大丈夫です。
また、idがすでにデザイン上使われてる場合は、
Javascript内の
var el = document.getElementById('signin-widget-content');
の部分の
signin-widget-contentを任意に変えてやれば対応できます。
これでとりあえずは機能しますが、例えばリンクする文字部分を画像にする場合はJavascript内の
content = '<a href="javascript:void(0)" onclick="return mtSignInOnClick(\'signin-widget-content\')">Sign In</a>';
等の記述がよくみるとありますので、HTMLの知識があれば簡単に変えられますよね?(自分はわかるから説明省)
改めて見ると結構大変かも。
MultiBlogタグはあくまでエントリー周りにしか効かないらしい。
ウェブサイトにブログのカテゴリを表示させたい場合はMTBlogsタグで囲ってあげるとうまくいきました。
使い方はMultiBlogと同じです。参考→タグリファレンス
となると、MTBlogsを使った方が使い勝手がいいということかな?
ただ、MultiBlogのほうにはモディファイアがたくさんあるので、例えばカスタムフィールドとかで分岐させたい場合はMultiBlogじゃないと制御しにくいかも。でも、MTEntriesタグでもそこらへんいろいろできるっぽいので(MT5)、MTBlogs使ったも問題なさそうだ。
次はコミュニティ関係をせめて行こうと思います。
MT5は実に使える!
MT5はMultiBlogが鍵ですね。
ウェブサイトではブログやカテゴリは設定できないので、その子としてブログを作ります。その時にMultiBlogでウェブサイトにも反映できます。しかもブログを分ければ乱立せず、このブログには更新情報、このブログにはフォトブックなど用途によって使い分けられ、なおかつテンプレートもブログごとに設定しやすくなるので楽です。もちろんシステムに共通のグローバルテンプレートを設定すればウェブサイト、各ブログにもインクルードできますから、便利です。
もう一つカスタムフィールドも便利です。が、例えば複数あるブログを読み込むときに、MTMultiBlogタグのモディファイアでblog_idsがあり、ここにブログIDをまとめて記述するとエントリー一覧が表示されます。(モディファイアには他にmode="context"を設定すると複数のブログでもまとめてエントリーを出力できます。)
その中にMTEntriesを書いたんですが...カスタムフィールドでチェックボックスを設けた部分が反映されません。MTIf tag=""で設定すると真っ白。
MTEntriesのモディファイアにfield:カスタムフィールドの名前="1"を追加すると解消できました。
恐らく最新の記事から拾ってきて古いチェックが入った記事が入らなかった(?)のかなと思います。
これでチェックの入った記事だけが表示できて、必要ないときはチェックを外して...ということができました。告知とか期間限定に使えると思います。
MT5触り始めていろいろ挑戦中ですが、ウェブサイト(親)〜ブログ(子)的な概念があって、そういえば親であるウェブサイトのURLってブログでどう呼ぶのかと思い調べていたら結構ややこしい書き方をしなければならないことがわかりました。
こちらのサイトではそのややこしいやり方をスッキリさせる方法が書いてあります。
&glt;mt:SetVarBlock name="website_url"&grt;&gltmt:BlogParentWebsite&grt;&glt;$mt:WebsiteURL$&grt;
&glt;/mt:BlogParentWebsite&grt;&glt;/mt:SetVarBlock&grt;
上記でテンプレートの一番上にでも書いて上げて、後は
&glt;mt:GetVar name="website_url"&grt;
で呼び出してあげる方法です。
はブログの元URLになってしまうので、例えばウェブサイトからの階層でグロバールメニューとか他のブログにまたがってたりすると修正する時面倒なのが解消されます。
それとこちらではプラグインも紹介されています。
このプラグインはテンプレートを呼び出す際のネックを解消してくれます。
忘れないようにここでメモ。(02も多分ある)
今更ですが、MT5を現在検証しています。
MT5からはよりCMSとカスタマイズするユーザー側に配慮されたものになっていて、MT4以前のものとは別物という感じがします。
まず概念の違いとして、ウェブサイトとブログというのがくっきりを分かれています。
MT4以前に慣れていたためか、ここで結構つまずきました。一部バグも発見しましたし。。
バグの前に、まずウェブサイトという大枠を設定し、その中にブログ(従来の概念かな?)を設定します。
ウェブサイトにはカテゴリが設定できないため、新着情報を更新していきたい方は、新着情報というブログを設定して上げて、ここから更新していく流れになりますのでよりわかりやすく、なおかつ管理ユーザーの権限や管理も設定しやすくなっているので便利です。
まだ呼び出し方とかわかっていないので、結局ウェブサイトを無視し、従来通りブログから作っていこうとしたら...ここでバグ。
初期設定でドメイン/フォルダ名を設定して、これだとドメイン直下じゃないから設定>全般でフォルダ名を変更したら修正できません!
なので、新しくブログを新規作成し、今度はドメイン直下で設定したら無事公開できましたとさ。これに1時間くらいかかりました。
慣れたら、MT5のほうが断然使いやすいし、管理画面の変更なんかもできて独自CMSの作成も匂わせていますよね。