2009年03月04日

〜Ruby&Railsについて学んだこと〜 3rd Railsプロジェクトの作成

<Ruby on Rails プログラミング>
Rubyはオブジェクト指向プログラミング
Rubyはスクリプト言語(インタプリタ型言語)

1)Railsの新規プロジェクトの作成
 任意の箇所に「rails」フォルダを作成し、cdコマンドで移動する

 【DOSコマンドプロンプト】------------------------
        >rails (プロジェクト名)
            create
            create  app/controllers
            create  app/helpers
            create  app/models ........
            create  log/test.log
    -------------------------------------------------

 2)Railsプロジェクトのフォルダ構成
    -------------------------
    \rails
        |-\(プロジェクト名)
                |-\app
                        |-\controllers  ※コントローラ格納フォルダ
                        |-\helpers  ※モデル格納フォルダ
                        |-\models   ※モデル格納フォルダ
                        |-\views    ※ビュー格納フォルダ
                |-\config
                |-\db
                |-\doc
                |-\lib
                |-\log
                |-\public
                |-\script
                |-\test
                |-\tmp
                |-\vender
                |-Rakefile
                |-README
    -------------------------

3)コントローラ
■コントローラ・・・ユーザーの入力を受取る
   ※処理はModelに渡す
      ※出力はViewに渡す

■コントローラの作成
   ※プロジェクトフォルダに移動し、以下のコマンドで作成する
   >ruby script\generate controller (コントローラ名) (アクション1) (アクション2)

4)クラス
■クラス・・・オブジェクトの種類を表す
    ※Rubyは全てオブジェクトとして扱う。その種類によりクラスに分類
        (全てのオブジェクトは何れかのクラスに属する)

    <クラスの定義> ※コントローラ処理
    ※RULE:クラス名の先頭は大文字
    ※RULE:コントローラのクラス名は"Controller"を付ける
    ※RULE:クラスの宣言により定義済みのクラスを継承する
    ●==============================================●
    class (クラス名) < (継承元クラス名)
        クラスの定義
    end
    ●==============================================●

5)メソッドの定義
    ●==============================================●
    def メソッド名 (引数1,引数2,...)
        実行したい処理
    end
    ●==============================================●

6)インスタンス変数の定義
    ※メソッドを抜けても値が保持される変数
    ●==============================================●
        @インスタンス変数名=引数
    ●==============================================●
    attr_reader  :指定したメソッドに対し参照のみ可能
    attr_writer  :指定したメソッドに対し変更のみ可能
    attr_accessor:指定したメソッドに対し参照・変更が可能

7)ビュー
   画面への表示・出力を行う
    ※Railsのコントローラで作成されたビューファイル(HTML)
    ※RULE:html内でRubyスクリプトの記述は <%〜%>で囲う
    ※RULE:Rubyスクリプトの実行結果の表示は <%=〜%>で囲う
    ※RULE:HTMLタグの出力は <%=h〜%>で囲う

8)サンプルプロジェクト(hello)
■動作:画面1に「名前」を入力 ⇒ 画面2に[入力した名前]を表示
    【DOSコマンドプロンプト】------------------------
        \rails>cd hello
        \rails\hello>ruby script\generate controller hello name1 name2
    -------------------------------------------------
            exists  app/controllers/
            exists  app/helpers/
            create  app/views/hello
            exists  test/functional/
            create  app/controllers/hello_controller.rb
            create  app/controllers/hello_controller_test.rb
            create  app/helpers/hello_helper.rb
            create  app/views/hello/name1.html.erb
            create  app/views/hello/name2.html.erb
    -------------------------------------------------

    <フォルダ構成>------------------------
    \rails\hello
                    |-\app
                            |-\controllers
                                    |-application.rb
                                    |-hello_controller.rb
                            |-\helpers
                                    |-application_helper.rb
                                    |-hello_helper.rb
                            |-\models
                                    |-hello_helper.rb
                            |-\views
                                    |-\hello
                                            |-name1.html.erb
                                            |-name2.htnl.erb
    -------------------------------------------------

 <コントローラの作成>------------------------
    \app\controllersフォルダ内
    ★hello_controller.rb
    ※name1のアクションの結果をname2に出力する
    ------------------------------------------------
    class HelloContoroller < ApplicationContoroller
        def name1
        end
        def name2
        end
    end
    ------------------------------------------------

    ★application.rb(定義済み)
    ※ActionControllerクラスのBaseメソッドを継承
    ------------------------------------------------
    class ApplicationContoroller < ActionControler::Base
        helper :all # include all helpers, all the time
    end
    ------------------------------------------------

    ★user.rb
    ※name1で入力した名前を保持する
    ------------------------------------------------
    class User
        def initialize(name="お名前")
            @name = name
        end
        attr_accessor :name
    end
    ------------------------------------------------

    ★def initialize(name="お名前")
    ※initializeメソッド:newメソッドでオブジェクトを生成すると呼ばれる
    ※設定した引数がnewに渡される
   
    ※インスタンスの定義
    @name = name

   <コントローラの変更>
    ★hello_controller.rb
    ※user.rbによりname1で入力したuserをインスタンス変数@userに保持
    ※newメソッドでオブジェクトuserに新しい値を設定
    ※WEBで入力したデータを"params"で取り出す。
    ------------------------------------------------
    class HelloContoroller < ApplicationContoroller
        def name1
        end
        def name2
            @user = User.new(params[:user][:name])
            session[:guest] = @guest
        end
    end
    ------------------------------------------------

   ※WEBで入力したデータを取り出す。
    ●==============================================●
        params[:オブジェクト名][:属性名])
    ●==============================================●
    params[:user][:name]
    ※WEBページ上のオブジェクト"user"の"name"属性で取り出す

    session[:guest] = @guest
    ※このセッション間は"guest"オブジェクトの値を保持する

    \app\views\helloフォルダ内
    ★name1.html.erb
    ------------------------------------------------
    <h1>Input Your Name !</h1>
    <% form_tag :action => :name2 do %>
            <%= text_field :user, name %>
            <%= submit_tag '実行' %>
    <% end %>
    ------------------------------------------------

    ★name2.html.erb
    ------------------------------------------------
    <h1><%= h "Hello!" #{@user.name}さん" %></h1>
    <% form_tag :action => :name1 do %>
            <%= submit_tag '戻る' %>
    <% end %>
    ------------------------------------------------
posted by MyTy at 01:01| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2009年02月06日

Movable TypeのCMS利用 (8)変数によるテンプレートのカスタマイズ

1)変数の定義(設定)
※変数名と値を設定する。
****************************
 ・ファンクションタグ・・・SetVar
 ・変数名・・・nameモデファイアに設定
 ・変数値・・・valueモデファイアに設定
****************************
 注)設定する変数値は数値・文字列のみ(テンプレートタグは不可)

 例1)変数numAに"10"(数値)を設定 ⇒ <$MT:SetVar name="numA" value="10"$>
 例2)変数strBに"Moji"(文字)を設定 ⇒ <$MT:SetVar name="strB" value="Moji"$>


2)変数の利用(取得)
※SetVarで設定した変数値を取得してページに出力する。
****************************
 ・ファンクションタグ・・・GetVar        
 ・変数名・・・nameモデファイアで指定
****************************

 例1)変数numAで指定した値を取得 ⇒ <$MT:GetVar name="numA"$> ⇒10
 例2)変数strBで指定した値を取得 ⇒ <$MT:GetVar name="strB"$> ⇒Moji


3)SetVarBlockタグ
※ブロック内にコンテナされた内容を値として、変数に設定する。
****************************
 ・ブロックタグ・・・SetVarBlock
 ・変数名・・・nameモデファイアで指定
 ※タグのブロック内に値(テンプレートタグやサブテンプレート)を設定
  ⇒<MT:SetVarBlock name="numA"> (値) </MT:SetVarBlock>
****************************

 例1)ブログ記事のタイトルリストを出力するサブテンプレート変数
  <MT:SetVarBlock name="entrylist">
  <MTEntries>
    <$MT:EntryTitle$>
  </MTEntries>
  </MT:SetVarBlock>
  <$MT:GetVar name="entrylist"$>
  ※ブログ記事が3件あるとき、3つの記事タイトルがリスト表示される。
  注)このタグ内でファンクションタグは、値をファイル出力せず、変数値として設定される。

 例2)変数foo1に設定した値をブロック内で取得しfoo2に設定⇒GetVarでページに出力(bar)
  <MT:SetVar name="foo1" value="bar">
  
<MT:SetVarBlock name="foo2">
    <$MT:GetVar name="foo1">
  </MT:SetVarBlock>
  <MT:GetVar name="foo2">


4)SetVarTemplateタグ
※ブロック内にコンテナされた内容を値として、変数に設定する。
****************************
 ・ブロックタグ・・・SetVarTemplate
 ・変数名・・・nameモデファイアで指定
 ※タグのブロック内に値(テンプレートタグやサブテンプレート)を設定
  ⇒<MT:SetVarTemplate name="(変数名)"> (値) </MT:SetVarTemplate>
****************************
※SetVarBlockはブロック内を評価した結果を値として保持。SetVarTemplateは実行時にブロック内を評価せず、GetVarタグで呼び出した時点で評価する。

 例1)ブログ記事のタイトルをブロック内で取得、GetVarで出力する
  <MT:SetVarTemplate name="entrytitle">
  ブログ記事タイトル:<$MT:EntryTitle$>

  </MT:SetVarTemplate
>
  

  <MTEntries>
  <$MT:GetVar
name="entrytitle">
  </MTEntries>
  注)GetVarタグで呼び出された時点で変数の内容が評価され、タイトル名が出力される。


5)SetVarsタグ
※複数の変数をまとめて設定する。
****************************
 ・ブロックタグ・・・SetVars
 ・変数名&値・・・等式を列記して定義
  <MT:SetVars>
  変数名1= 値1
  変数名2= 値2
  変数名3= 値3
  </MT:SetVars>
****************************

 例1)ブログ記事の各項目を設定し出力する
  <MT:SetVars>
  blogname<$MT:BlogName$>
  blogdescripton<$MT:BlogDescripton$>
  blogurl<$MT:BlogURL$>
  </MT:SetVars>

  ブログ名:<mt:getvar name="blogname">
  ブログの説明:<mt:getvar name="blogdescription">
  ブログURL:<mt:getvar name="blogurl">


6)SetVarモデファア
※変数の値として取得したいブロックタグまたはファンクションタグに直接設定する。
****************************
 ・モデファイア名・・・setvar
  <テンプレートタグ名 setvar="変数名">
  (変数の値)
  </テンプレートタグ名>
 例1)ブログ記事の各項目を設定し出力する
  <MTEntries setvar="entrylist">
  <$MTEntryTitle$>
  </MTEntries>
  <mt:getvar name="entrylist">
   注)設定したタグの評価内容は出力されず、変数に設定される。
posted by MyTy at 02:00| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

Movable TypeのCMS利用 (7)テンプレートの利用

1)テンプレートモジュール
 ※テンプレートモジュールは単体では再構築されない。(他のテンプレートから呼び出され、それらと組み合わせて再構築される)
 ※テンプレートモジュールから別のテンプレートモジュールを呼び出すことも可能。
 ※インデックステンプレート(メインページなど)内で、テンプレートモジュールを呼び出す。
   <$mt:Include module="モジュール名"$>


2)ウィジェット
 ※サイドバーに表示する内容を細かくパーツ化したテンプレート。ウィジェットセットに組み込み出力を簡単に管理できる(テンプレートモジュールはできない)。
 ※テンプレートモジュール(既定:サイドバー)内で、ウィジェットセットを呼び出す。
   <$mt:WidgetSet name="ウィジェットセット名"$>
posted by MyTy at 01:00| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

2009年02月05日

Movable TypeのCMS利用 (6)テンプレートタグ

テンプレートタグ・リファレンス

<テンプレートタグの区分>

F:ファンクションタグ

 ※目的・・・テンプレート内に記述したタグを対応する情報(名前、URLなど)に置き換える。

 ※書式・・・<$タグ名$> $は無しでも機能するが、ブロックタグと区別するために付ける。

 ※タグ名に大文字・小文字の区別はない。(ver4以降)  <$mtblogurl$>

 ※「MT」に区切り文字「:」を使用できる。(ver4以降)   <$MTBlogURL$><$MT:BlogURL$>
  ※タグにより使用できる場所(記述範囲)に制限がある。(EntryTitleタグは、Entriesブロック内部でしか使えない。)


B:ブロックタグ

 ※目的・・・情報を出力する制御を行う。

 ※書式・・・<ブロックタグ名></ブロックタグ名> ※開始タグと終了タグで括る(コンテナ)

 ※サブテンプレート・・・ブロックタグにコンテナされたテンプレートタグの集合(中にファンクションタグまたはコンテナタグを記述)

 ※ブロックタグの制御

  ・繰り返しループ

   <ブロックタグ名>

   繰り返し処理の内容

   </ブロックタグ名>

  ・条件分岐(コンディショナル・ブロックタグ)

   <ブロックタグ名>

   条件を満たしたときに実行する内容

   </ブロックタグ名>



<モディファイア>
グローバル・モディファイア

  ※テンプレートタグで共通して利用可能なオプション

 1)ブロックタグのモディファイア・・・ブロックタグの処理を制御(出力条件、出力結果)
  ・lastnモデファイア・・・ブログ記事リストを最近の指定件数分のみ表示
   <MTEntries lastn="10">
    
(処理)
   </MTEntries>
  ・categoryモデファイア・・・ブログ記事リストを特定のカテゴリのみ表示
   <MTEntries category="カテゴリ名">
        (処理)
     </MTEntries>
  ・sort_byモデファイア・・・ブログ記事を並び替えてリスト表示(投稿日順、タイトル順)
   <MTEntries sort_by="title">
    (処理)
   </MTEntries>
  ・sort_orderモデファイア・・・ブログ記事を並び順を指定してリスト表示(昇順・降順)
   <MTComments sort_order="descend"> ※降順(新着順)
    (処理)
   </MTComments>

 2)ファンクションタグのモディファイア
  例1)ブログ記事タイトルの最後に!を表示 ⇒ <$MT:EntryTitle cat="!"$>
          タイトル="こんにちは" ⇒”こんにちは

  例2)ブログ記事タイトルをHTMLエンコード ⇒ <
$MT:Entries escape="html"$>
          タイトル="<こんにちは>" ⇒”
&lt; こんにちは &gt;
  例3)コメント本文に含まれるHTMLを除去し、先頭から10文字を出力 ⇒
     <
$MT:CommentBody remove_html="1" trim_to="10" $>

ローカル・モディファイア
  ※特定のテンプレートタグでのみ利用可能なオプション

 

<主なテンプレートタグ>


1)ブログ関連

  • MTBlogNameF)・・・ブログ名
  • MTBlogDescriptionF)・・・ブログの説明
  • MTBlogURLF)・・・ブログURL
  • MTBlogSitePathF)・・・ブログのサイトパス(公開パスで設定されているサイトパス)
  • MTBlogArchiveURLF)・・・ブログのアーカイブURL(公開パスで設定されているアーカイブURL)
  • MTBlogIDF)・・・ブログのID番号
  • MTBlogEntryCountF)・・・公開されているブログ記事数
  • MTBlogPageCountF)・・・公開されているウェブページ数
  • MTBlogCategoryCountF)・・・ブログのカテゴリ数

2)ブログ記事関連
  • MTEntriesB)・・・ブログ記事の一覧を表示(categoryモデファイアなど)
  • MTEntriesCountF)・・・MTEntriesブロック内のブログ記事数
  • MTEntriesFooterB)・・・ブログ記事の最後だけで実行
  • MTEntriesHeaderB)・・・ブログ記事の最初だけで実行
  • MTEntryTitleF)・・・ブログ記事のタイトル
  • MTEntryBodyF)・・・ブログ記事の本文
  • MTEntryExcerpt(F)・・・ブログ記事の概要
  • MTEntryID(F)・・・ブログ記事のID番号
  • MTEntryBasenameF)・・・ブログ記事のファイル名
  • MTEntryCreatedDateF)・・・ブログ記事の作成日時
  • MTEntryDateF)・・・ブログ記事の公開日時
  • MTEntryKeywordsF)・・・ブログ記事のキーワード
  • MTEntryTagsB)・・・ブログ記事のタグ一覧を表示(ブロック内でMTTagを使用)
  • MTEntryCategoriesB)・・・ブログ記事に指定したカテゴリ一覧を表示(ブロック内でMTCategoryを使用)
  • MTEntryCategoryF)・・・ブログ記事に指定したメインカテゴリ
  • MTEntryLinkF)・・・ブログ記事を含むアーカイブのパーマリンク(typeモデファイアなど。アンカーにブログ記事へのフラグメント(#)が付加されない。)
  • MTEntryLinkF)・・・ブログ記事を含むアーカイブのパーマリンク

 3)ウェブページ関連
  • MTPageTitleF)・・・ウェブページのタイトル
  • MTPageBodyF)・・・ウェブページの本文
  • MTPageExcerptF)・・・ウェブページの概要
  • MTPageBasenameF)・・・ウェブページのファイル名(拡張子なし)
  • MTPageIDF)・・・ウェブページのID番号
  • MTPageDateF)・・・ウェブページの投稿日時
  • MTPageModifiedDateF)・・・ウェブページの更新日時
  • MTPageKeywordsF)・・・ウェブページのキーワード
  • MTPagePermalinkF)・・・ウェブページのパーマリンク
  • MTPagesB)・・・ウェブページの一覧を表示
  • MTPagesHeaderB)・・・ウェブページの一覧で最初だけ実行
  • MTPagesFooterB)・・・ウェブページの一覧で最後だけ実行
  • MTPageTagsB)・・・ウェブページで使用されているタグを表示

4)画像関連
  • MTImageURLF)・・・アップロードした画像のURL
  • MTImageHeightF)・・・アップロードした画像の高さ
  • MTImageWidthF)・・・アップロードした画像の幅
  • MTIfImageSupportB)・・・サムネイル画像を作成するために必要なImageMagickがインストールされているときに実行

5)カテゴリ関連
  • MTCategoryLabelF)・・・カテゴリの名前
  • MTCategoryDescriptionF)・・・カテゴリの説明
  • MTCategoryIDF)・・・カテゴリのID番号
  • MTCategoryArchiveLinkF・・・カテゴリアーカイブURL
  • MTCategoryBasenameF)・・・カテゴリのパス名
  • MTCategoryCountF)・・・カテゴリに属する公開ブログ記事数
  • MTCategoriesB)・・・カテゴリの一覧を表示
  • MTSubCategoriesB)・・・カテゴリ一覧を階層化して表示
  • MTEntriesWithSubCategoriesB)・・・ブログ記事の一覧にサブカテゴリのブログ記事を含めて表示
  • MTEntryCategoryB)・・・ブログ記事が指定したカテゴリに属しているときに実行(nameモデファイアで指定)
  • MTIfCategoryB)・・・指定したカテゴリに属しているときに実行(typeモデファイアなど。namelabelモデファイアでカテゴリを指定)
  • MTParentCategoriesB)・・・最上位のカテゴリから現在のカテゴリまでを全て表示
  • MTSubCategoryPathF)・・・親カテゴリから現在のカテゴリまでを階層表示
  • MTTopLevelParentB)・・・現在のカテゴリ階層に関わりなく最上位のカテゴリのみを表示
posted by MyTy at 11:07| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

Movable TypeのCMS利用 (5)アーカイブテンプレート

MTを利用したサイト制作/アーカイブテンプレートの設定・作成

1)アーカイブテンプレート
 
※複数のファイルを出力するためのテンプレート

  • ブログ記事 ⇒ 1つのブログ記事に対し1つのファイルを出力(パーマリンクファイル)
  • ブログ記事リスト ⇒ ブログ記事をリスト形式で出力(指定したアーカイブの種類の単位で記事をまとめる)
    ※アーカイブの種類:{日別、週別、月別、年別、カテゴリ、月別カテゴリ、その他}
    ※指定した種類に応じて複数のファイル(リスト)を出力
     (月別アーカイブ⇒記事が1年分あるとき、12ページ(12月分)出力され
  •  ウェブページ ⇒ 1つのウェブページで1つのファイルを出力(アーカイブはされない)

2)アーカイブマッピング

 ※アーカイブテンプレートと出力されるファイル(ブログ記事、リスト)を対応づける。
 ※1つのアーカイブテンプレートに対し、4つのアーカイブマッピングを設定
   ⇒4種類のアーカイブファイルが出力される。

 <アーカイブファイルへのリンク設定>
  ※各アーカイブ
テンプレートの編集画面の下部で設定
  • 「新しいアーカイブマッピングを作成」をクリック
  • 「種類」{日別、週別、月別、年別、カテゴリ、月別カテゴリ、その他}を選択 ⇒「追加」ボタン
  • アーカイブマッピングのパスを確認(変更するときは「カスタム…」を選択して指定)
  • 同じ種類のアーカイブマップが2つ以上存在するとき、他のページからリンク(アンカー)を表示するアーカイブテンプレート(アーカイブの種別)を指定する。

<アーカイブファイルへのリンク設定>

<a href=”<$MTArchiveLink$>”><$MTArchiveTitle$></a>

<$MTArchiveLink$>で優先アーカイブファイルのリンクURLを指定

<$MTArchiveTitle$>で優先アーカイブファイルのタイトルを指定


3)アーカイブテンプレートの作成

  ※アーカイブテンプレートの作成手順
  
⇒デザイン>テンプレート>アーカイブテンプレート
  • アーカイブテンプレートを作成・・・{「ブログ記事」「ブログ記事リスト」「ウェブページ」}より選択クリック
  • テンプレート名、内容、ファイルへのリンクを入力 ⇒保存
  • 「新しいアーカイブマッピングを作成」
  • セレクトボックスから種類を選択 ⇒「追加」ボタン
  • パスを変更する場合は「カスタム」を選択し、テキスト欄の内容を修正 ⇒「保存」
  • 構築画面/セレクトボックス「月別アーカイブのみ」を選択 ⇒再構築 ⇒ファイルが出力される。

posted by MyTy at 01:10| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

Movable TypeのCMS利用 (4)インデックステンプレート

MTを利用したサイト制作/インデックステンプレートの設定・作成
1)インデックステンプレート
 
※1つのファイルを出力するためのテンプレート
  ・メインページ ⇒ ブログのトップページを出力(index.html)
  ・アーカイブインデックス ⇒ 公開ブログ記事のタイトルを一括表示するページを出力
   (A
rchive.html
  ・
スタイルシート ⇒ スタイルシートを出力。ブログ各ページのlink要素から読み込まれる
   (
styles.css ※スタティックDirのスタイルシートをインポート
  ・Atom ⇒ Atomフィード(ブログの更新情報)を出力(atom.xml
  ・RSS ⇒ RSSフィードを出力(rss.xml

2)インデックステンプレートの作成

 ※ファイルを出力するインデックステンプレートの作成手順

  ⇒デザイン>テンプレート>インデックステンプレート

  ・「インデックステンプレートを作成」をクリック

  ・テンプレート名、内容、テンプレートの種類、出力ファイル名を入力

  ・保存 ⇒再構築

  ・公開されたテンプレートを確認」(ブラウザ表示)


 <作成上の留意事項>
  1.スニペット・・・よく使用されるテンプレートタグがセレクトボックスに登録されており、
    選択するとカーソルが置かれているいる位置にタグが埋め込まれる。
  2.構文強調表示(内容欄の右上/左のアイコン)・・・MTタグ等が強調表示される
  3.出力ファイル名・・・パスを含めてユーザーが自由に設定できる。
    例)contents/index.html ⇒ ブログディレクトリにcontentsディレクトリが自動生成
      され下に出力される
  4.再構築オプション・・・「インデックステンプレートを再構築するとき再構築する」のチェック
   ※自動的に更新が必要なインデックステンプレートはチェックする
    @メインページ⇒ブログ記事が投稿されたときにそれがメインページに表示される。
    ARSS⇒ブログ記事が投稿されたときにそれがRSSに配信される。
    Bスタイルシート⇒再構築不要
    CJavaScript⇒コメント関連の設定と連動。設定変更したときに反映するよう必ずチェック
    Dファイルへのリンク・・・Dreamweaverなどで作成した外部ファイルをMTと同期させる
     
フィールド。ツールで作成したテンプレートのパスをフルパスで指定する。
     (テキストエリアは空のままでOK)

 <作成例>-----------------------------------------------

 MTEntryTitle=“こんにちは”

 MTEntryBody=“MTをCMSとしてWEBサイトを構築”

 template=“テスト”  URLhttp://domain/test.html


 <p>タイトル:<$MTEntryTitle$></p>

    ⇒XHTMLファイル出力 {タイトル:こんにちは}

 <p>本文:<$MTEntryBody$></p>
    ⇒
XHTMLファイル出力 {本文:MTをCMSとしてWEBサイトを構築
 
<a href=”<$MTLink template=”テスト”$>”>テストページへリンク</a>
    ⇒ファイル出力
{テストページへリンク}
-----------------------------------------------------------

posted by MyTy at 01:00| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

2009年02月04日

Movable TypeのCMS利用 (3)事前設定

MTを利用したサイト制作/事前設定
※MTをブログとしてではなく、サイト制作のCMSとして利用する場合の事前設定項目

1)フォルダ設定
 ※カテゴリ別のアーカイブ関連ファイル(ブログ記事)や、各ウェブページのパスを分類別に
  設定するときは、予めフォルダを決めて設定しておく。
 ⇒ダッシュボード>ブログ名>一覧>フォルダ
 
<フォルダの管理画面>
  • 「トップレベルのフォルダを作成・・・クリック
  • 表示する名前・・・各フォルダの表示名(例:サービス)
  • パス・・・各フォルダのパス名(例:http://domain.jp/blog/service)
  • サブフォルダを作成するとき・・・「新規作成」をクリック

2)カテゴリ設定
 ※アーカイブ記事(ブログ記事)を作成する前に、予めカテゴリを設定しておく
 ⇒ダッシュボード>ブログ名>一覧>カテゴリ
 
<カテゴリの管理画面>
  • 「トップレベルのカテゴリを作成・・・クリック
  • カテゴリ・・・カテゴリ名を入力し「新規作成」ボタン
  • サブカテゴリを作成するとき・・・「新規作成」をクリック

 注)アーカイブのカテゴリ名の表示は、自動的にアイウエオ順になるため、任意の並び順を
   指定するときは、カテゴリ名の頭に"1.","2.","3."等をふれば指定は可能。

posted by MyTy at 18:08| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

Movable TypeのCMS利用 (2)モジュール化

MTを利用したサイト制作/モジュール化
※MTから出力されるファイルをPHP形式にして、サイドバーの情報を別ファイルとして読み込
 ませるモジュール化によって、再構築の短縮化やMTタグ以外の制御が可能になる。

※PHP・・・サーバー環境によりモジュール版とCGI版があるが、モジュール版の方が良い。
 (実行プロセスがサーバーでの処理、レスポンスが早い、サーバー負荷が少ない、
  セキュリティはセーフモード(suEXECでない)、パーミッションは604等)

1)インデックステンプレート/拡張子の変更
 ⇒ダッシュボード>デザイン>テンプレート>メインページ
  
<テンプレート編集画面>
  • 出力ファイル名・・・index.php
  注)サーバーのブログディレクトリ内にindex.htmlファイルが残っているときは、削除しておく。

2)アーカイブテンプレート/拡張子の変更
 ⇒ダッシュボード>ブログ名>設定>公開
  
<公開設定画面>
  • ファイルの拡張子・・・php
  • モジュールオプション/テンプレートモジュールをキャッシュする・・・チェック
  • モジュールオプション/サーバーサイドインクルード・・・「PHPのインクルード」

  注)各テンプレートモジュールのヘッダー先頭に以下のXML宣言がある場合は修正必要。
   <?xml version="1.0" encording="<$MTPublish Charset$>"?>
    ⇒表示ページが真っ白またはエラー表示
    (Parse error: parse error, unexpected T_STRING in [...] on line 1)
   ※XML宣言がPHPスクリプトとして誤解釈されてしまうためにエラー
   ※回避するためにXML宣言文をPHP解釈可能なフォーマットに変更

 
  <?php echo ('XML宣言文') ?>

posted by MyTy at 17:46| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

Movable TypeのCMS利用 (1)基本設定

MTを利用したサイト制作/事前準備
※MTをブログとしてではなく、サイト制作のCMSとして利用する場合の基本設定項目

1)ブログ設定/全般
 ⇒ダッシュボード>ブログ名>設定>全般
  • 名前・・・各テンプレート内でタグにより基本項目として使用する
  • 説明・・・各テンプレート内でタグにより基本項目として使用する
  • タイムゾーン・・・UTC+9(日本標準時)を選択
  • クリエイティブ・コモンズライセンス・・・サイト上のコンテンツ等に一定の条件を付与し第3者による利用を許諾する場合に設定する


2)ブログ設定/公開
 ⇒ダッシュボード>ブログ名>設定>公開
  • 公開パス/サイトURL・・・ブログを公開するURL(ドキュメントルートのDIR)を指定
  • 公開パス/サイトパス・・・ブログのメインページ(indexファイル)のDIRパスを指定
  • アーカイブをサイトパスとは別のパスで公開する・・・アーカイブ関連ページの公開URLをパスと別にするときにチェック
  • 優先アーカイブ・・・ブログ記事のパーマリンク用URLとして使用するアーカイブの種類を選択する。
     ※{ブログ記事/月別/カテゴリ}から「カテゴリ」を選択。ブログ記事が掲載されたカテゴリアーカイブページのURLをパーマリンクとして設定される。
  • 公開方法・・・DBにMySQL/PostgreSQL/SQLite(v2)選択時のみ表示。アーカイブをどのように公開するかを選択(ページ規模や更新の頻度により異なるが、再構築やページアクセスのパフォーマンスに影響する)。当初は「すべてのテンプレートを静的に構築する」を選択。
  • 公開キュー・・・チェックしない(バックグラウンドのキューを使って再構築を行う)
  • アーカイブの拡張子・・・html


3) ブログ設定/ブログ記事
 ⇒ダッシュボード>ブログ名>設定>ブログ記事
  • ブログ記事の表示数・・・10 「ブログ記事」
  • 表示順・・・「降順」
  • 概要の文字数・・・40
  • 日付の言語・・・「日本語」
  • ファイル名の文字数・・・100
  • 公開状態・・・「下書き」
  • テキストフォーマット・・・「リッチテキスト」 ※テキストエリアの内容をWYSIWYG表示
  • コメント許可・・・チェックしない
  • トラックバック許可・・・チェックしない


4) ブログ設定/登録認証
 ⇒ダッシュボード>ブログ名>設定>登録認証
  • ユーザー登録・・・チェックしない
posted by MyTy at 16:52| Comment(0) | TrackBack(0) | Movable Type | このブログの読者になる | 更新情報をチェックする

2008年12月13日

〜Ruby&Railsについて学んだこと〜 2nd Ruby on Rails

Railsとは?

"Ruby on Rails"(R on R)は、デンマークのプログラマ「Devid Heinemeier Hansson」氏が開発した、オープンソースとして進化を遂げるWEBアプリケーション・フレームワークです。

「Javaの10倍の生産性」をキャッチフレーズに2005年末に発表され、プログラミング言語に詳しくなくてもRubyを利用して手軽に短時間でWEBアプリケーションの開発が可能な、Rubyで書かれたフレームワークです。

<特徴>
データベースののテーブル、フィールドを追加し、簡単な設定で自動的にコードを生成してくれる。

<必要リソース>
1) Ruby・・・プログラミング言語
  Rubyコミュニティ (http://www.ruby-lang.org/ja/) で配布
2) データベース・・・MySQL,PostgreSQL,SQLite,H2,Apache Derby,Oracleなど
3)Rails・・・フレームワーク ※RubyGemsをインストールして利用し、インストール可能

<パッケージ>
1) Instant Rails・・・Instant Railsプロジェクト(http://instantrails.rubyforge.org/wiki/wiki.pl)
  Ruby,Rails,Apache,MySQL,Instant Rails Managerを1つにパッケージ
2)RadRails・・・JavaベースRails専用のビジュアル開発ツール

<Ruby インストール>
  アーカイブ:Rubyコミュニティ (http://www.ruby-lang.org/ja/) で配布
  1) メニューより「ダウンロード」をクリック
  2) 「Windows版Rubyバイナリ」の欄を確認
  3) 「One-Click Ruby Installer for Windows」をクリック
   ※Windows用に多数の便利なライブラリを同梱し一緒にインストールできる。
  4) 最新版のインストールファイル(exeファイル)をローカルにダウンロードし保存
  5) ファイルをWクリックし、セットアップ・ウィザードを起動
  6) コンポート画面で {■Ruby ■SciTE ■Enable RubyGems}を選択し[Next >]
  7) インストール先のフォルダ [C:\ruby]を指定しインストール [Install]
  8) Windowsの環境変数の設定:Rubyを実行するためにプログラムファイル(ruby.exe)へのパスを設定
   ⇒マイコンピュータ>プロパティ>[詳細設定]タブ>[環境変数]ボタン
   変数:Pathを選択し[編集]ボタン > 値に「c:\ruby\bin;」を追加し [OK]
  【DOSコマンドプロンプト】------------------------------------------------
   >ruby -v
   ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
  --------------------------------------------------------------------------

<RubyGems インストール>
  ※gemコマンドを利用してRubyのライブラリを管理できる。
  ※ 「One-Click Ruby Installer for Windows」に同梱し一緒にインストールされる。
  【DOSコマンドプロンプト】------------------------------------------------
   C:\ruby>gem -v
   1.3.1
  --------------------------------------------------------------------------

<Rails インストール>
  ※RubyGemsを利用し、インターネットに接続してインストールする。
  【DOSコマンドプロンプト】------------------------------------------------
   C:\ruby>gem install rails -y (ライブラリも同時にインストール)
   Select which gem to install for your platform (i386-mswin32)
    1. rails 2.2.x ()
    2. rails 2.2.2 (ruby)
    3. rails 2.x.x (ruby)
    4. rails x.x.x (ruby)
    5. Skip this gem
    6. Cancel Installation
     >2
     Successfully installed rails-2.2.2
     Successfully installed ........
  --------------------------------------------------------------------------

<MySQL インストール>
  アーカイブ:MySQLのサイト (http://www.mysql.com/) で配布
  1) メニューの「TEST DRIVE」より「Downloads」をクリック
  2) 「MySQL Community Server」より「MySQL 5.0 -- Generally Available(GA) release for production use」をクリック
  3) 「Windows」をクリック
  4) 「Windows Essentials(x86)」の「Pick a mirror」をクリック
  5) ミラーサイトよりインストールファイル(msiファイル)をローカルにダウンロードし保存
  6) ファイルをWクリックし、セットアップ・ウィザードを起動
  7) Setup Type画面で {■Typical}を選択し[Next >] > [Install] の後インストール完了
  8) Configuration Wizard画面で {■Detailed Configuration}を選択し[Next >]
  9) select a server type画面で {■Developer Machine}選択し[Next >]
  10) select database usage画面で {■Multifunctional Database}を選択し[Next >]
  11) InnoDB Tablespace Settings画面で初期設定{C:}のまま[Next >]
  12) 同時コネクション数設定画面で {Decision Support(DSS)/OLAP}を選択し[Next >]
  13) 接続ポート指定画面で初期設定 {Enable TCP/IP Networking/Port Number:3306}のまま[Next >]
  14) default character set画面で{Manual Selected}を選択し、{uth8}を指定し[Next >]
   15) Windows Options画面で{Install As Windows Service}を選択し[Next >]
  16) security options画面で{Modify Security Settings}を選択し、{password}を設定し[Next >]
  17) [Execute] > [Finish]でインストール完了
posted by MyTy at 22:00| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。