1. スキーマを作成する チュートリアル : 簡単な日記帳を作る 最初のステップとして 簡単な日記帳を作ってみましょう 件名 と 本文 があるだけの簡単なものです 1. スキーマを作成する では まず 日記帳 のスキーマを定義します スキーマは XML ファイル として作成します コラム :XML

Similar documents
CMS Designerインストール手順

<4D F736F F D A957A A A8FEE95F18F88979D DEC90AC E646F63>

■新聞記事

第21章 表計算

CMS Designer リファレンスマニュアル

アメブロは そのままで使えるおしゃれなテンプレートが豊富にそろっているのが特徴ですがさらにデザインをカスタマイズすることによって 見やすく集客しやすいブログにすることができます このテキストでは 2016 年 3 月にリリースされた CSS 編集用デザイン を使用して あなただけのデザインにアメブロ

JavaScript カスタマイズ入門 kintone university アプリデザイナープラス JavaScript カスタマイズ入門編演習問題回答 演習問題 第 2 章サンプルで試そう 1 cybozu.com developer network の サンプルで試そう ( 以下 サンプル と

Webプログラミング演習

(3) 本文を書く 実際にページを開いたときに表示される本文を書いてみましょう から の間に書きます <html > <head > <title > 武のホームページ </title > </head > </html > (4) ページを保存する ここで一度ページを保存してみましょう テキストエ

引き算アフィリ ASP 登録用の日記サイトを 作成しよう Copyright 株式会社アリウープ, All Rights Reserved. 1

XMLとXSLT

prg.indb

目次 新規ユーザー登録... 3 初期設定... 6 (1) 特定商取引法に基づくページのURLを設定する... 7 (2) コンバージョン測定タグを設定する... 7 サイトを作成してみよう

超簡単にWebページを作成

目次 1. サイトの概要 2. このサイトで行なうこと 3. ログインするには 4. 情報発信会員 管理画面の説明 5. 掲載情報を決める 6. マイページを作成する 6-1 マイページのトップ画面について 7. コンテンツを作成する 7-1 掲載場所を決める 7-2 ページを作成する プロフィール

1 フリーページを表示する 1-1 フリーページのカテゴリを作成します フリーページのカテゴリの情報を入力します 1 複数のフリーページを記事のジャンルや種類で分け その見出しを入力します お店ページの左サイドバーに表示します 2 消費者が 検索エンジンで検索するであろう 記事の特長や内容をあらわす

PowerPoint プレゼンテーション

1

Microsoft Word - 3章コンテンツ管理.doc

設定をクリックしてください 初期設定をクリックします

<8B9E93738CF092CA904D94CC814090BF8B818F B D836A B B B816A2E786C73>

サンプル CSS1 入力フィールドの輪郭 (outline) のトランジション 入力フィールドをクリックすると変化します InputOutlineTransition の説明 HTML の記述 (InputOutlineTransition.html) id 属性 field の div 要素を作り

プラグイン導入 プラグインとは何かと言うと 簡単に言えば 拡張機能 のことです ワードプレスを多くの人が推奨する理由は このプラグインの存在が大きいと言えるでしょう 普通のワードプレスはその辺の ブログと何も変わらないようなものですが プラグインを導入することでかなり便利になります

スライド 1

■デザイン

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

ホームページ 成功事例説明会

Microsoft Word - NEWSマニュアル docx

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

2

2 COPYRIGHT TempNate. ALL RIGHTS RESERVED.

目次 第 1 章 インストール編 1. ATHENAをインストールする 2. ATHENAを起動する 第 2 章 HTML作成編 1. HTMLを新規作成する 2.各ボックス機能の使い方 3.パーツ 4.ボタン画像 CSSボタン 見出し テーブル 5.ファイル出力とアップロード 6.ライブラリ 7.

「MT-3_2-ja

Microsoft PowerPoint - CSS(Cascading Style Sheets)の基本.pptx

二加屋様 Web B2B システム 商品 CSV データ取込マニュアル 2012 年 10 月 19 日 株式会社アイル 概要 このマニュアルは二加屋様の Web B2B システムに商品 CSV データから商品情報を登録す るための手順を示すものです マニュアル内で利用するツール このマニュアル内で

情報C 4月スクーリング プリント

ホームページ制作 基礎編 (HTML5 CSS3 コーディング )

目次 3 14P Wordpressテンプレートの設定方法 15P 17P livedoorテンプレートの設定方法 18P 21P FC2テンプレートの設定方法

情報C 4月スクーリング プリント

ホームページ公開方法

Microsoft Word - 206MSAccess2010

更新履歴 変更履歴 版数 リリース日 更新内容 第 1 版 2017/5/15 第 1 版発行 第 2 版 2017/7/13 更新履歴 変更内容を追加 (2ページ) 編集の前に を追加(8 ページ ) ブロックエディタ スマートモード エディタモード の説明を追加 (10~12 ページ ) ブロッ

コンテンツ登録の準備作業

履歴 作成日 バージョン番号 変更点 2016 年 9 月 19 日 新システム稼働本マニュアル ( 初版 ) 2016 年 10 月 6 日 システム公開に伴う 初版最終調整 2016 年 11 月 7 日 添付ファイルの公開設定について 追加 2

Moshimo Challenge Report

<48746D6C8AEE91628D758DC02E786C73>

Microsoft Word - データ保管サービス操作マニュアル(第二版).docx

1.WebClass( ウェブクラス ) とは WebClass を利用される前に 学生の立場で WebClass を利用してみましょう... 4 開始方法... 4 資料を閲覧する 先生の立場で WebClass を利用してみましょう... 8 資料を

サンプル CSS web ページを開くと同時にピエロの玉乗りが動き出すアニメーションを作ってみましょう AnimeAuto の説明 HTML の記述 (AnimeAuto.html) ピエロの画像に pierrot という id を 玉の画像に ball という id を付けておきます <!DOCT

Microsoft PowerPoint - 店舗ページ作業マニュアル.pptx

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

おがらすネットホームページ作成操作説明書

ファイルのアップロード. 上メニューから [ アップロード ] を選択します. [ アップロード ] 画面に移行しますので, 以下の手順で操作を行います アップロードするファイルを選択し, 指定場所へ [ ドラッグ & ドロップ ] します ドラッグ & ドロップ ファイルがリストアップされたことを

フォームとインナー HTML を使って動的にページ内の文章を変更しよう 問題 1. つぎの指示と画面を参考に HTML を組みなさい 仕様 テキストボックスに任意の文字を入力し [ コメント ] ボタンをクリックすると 下部の文章がテキストボックスの内容に置き換わる フォーム名 : f1 テキストボ

ステップ 2 テンプレートを はめ込む FC2 ブログ専用のセールスレターテンプレートをはめ込む方法を解説します 次のような手順です 1. テンプレートサイトにアクセス 2. セールスレターの背景色を決める 3. サンプルサイトを表示させておく ( 好みの背景色の ) 4. FC2 ブログのテンプレ

数のディジタル化

Microsoft Word - ニュース更新システム(サイト用).docx

スライド 1

Microsoft Word - manual.doc

スタイルシートでデザインを整えよう

World Wide Web =WWW Web ipad Web Web HTML hyper text markup language CSS cascading style sheet Web Web HTML CSS HTML

スライド 1

編集する ファイルを開く マイクロデータの設定を行うファイルまたはファイルを開きます 開かれたファイルは編集画面に表示されて ブラウザ表示した時のプレビューも同時に表示されます HTML ファイルの選択 編集する ファイルを開くためにメインメニューから ファイル 開く を選びます ファイル選択ダイア

はじめに このマニュアルは 2 ch まとめブログに色々なパーツを盛り込み 魅力的なデザインにするための マニュアルです 2 ちゃんまとめブログに相互 RSS を入れたい 2ch キャラクターのアニメーション画像を入れたい という方のために このマニュアルを用意させていただきました! 魅力的なデザイ

1. ログイン 1. インターネットに接続をします 2. ご利用のブラウザー (Internet Explorer,Netscape など ) を起動し アドレスバーに ( www は不要 ) と入力します 3.Log-in 画面にお客様のユーザー I

ファイルの内容本プログラムのファイルの内容は 以下の通りです form.cgi フォームプログラム ( パーミッション 755) form.html 入力及び確認画面用 html ファイル ( パーミッション 644) error.html エラー画面用 html ( パーミッション 644) fi

クイックマニュアル(利用者編)

intra-mart Accel Collaboration — ファイルライブラリ 管理者操作ガイド   第6版  

スライド 1

FTP とは? FTP とは File Transfer Protocol の略です 日本語訳すると ファイルを転送するときの決まり事という意味です 飛行機が世界中の空港で離陸 着陸できるのは 決められた手順 通信方式 が存在するからです パイロットでない私たちが聞いても よく分からないやり取りです

AuthorManual

FutureWeb3 Web Presence Builderマニュアル

XAMPP で CMS のお手軽 テスト環境を手に入れよう 2011/5/21 上村崇 1

コンテンツ作成基本編

Instruction to Authors

Word によるホームページ勉強会第 10 日目フレームページの製作 Ⅰ.menu.html の製作 改定三宅節雄 1. Word を起動し 表示 印刷レイアウトを選択します ページレイアウト ページ設定の をクリックし フォントの設定からフォントサイズは 12p とします 2

サンプル CSS OutlineAnimation.html の説明 HTML の記述 (OutlineAnimation.html) id 属性 stage の div 要素を作り その中に div 要素でボックスを記述します id 属性 div1 の div 要素を記述し 中にテキストで Out

子ボックスや孫ボックスなどに position: absolute; と指定すると それぞれ親ボックスに対する絶対位置で配置できるので親ボックスの上に複数の子ボックスや孫ボックスを重ねて配置することができます トランジションやアニメーションを作成するときに非常に便利なので覚えておきましょう top

ArcGIS for Server での Web マップの作成方法

eYACHO 管理者ガイド

1 グループ管理者とは ページ設定 ( グループページの設定 ) を行うことができるのがグループ管理者です グループ管理者はパーツのレイアウト変更や グループメンバーの権限設定 メンバーの招待などグループページ内の管理について様々に設定することができます 例えば町内会でグループページを作成し運用して

2007年度版

Microsoft Word MT操作マニュアル(ユーザ編).doc

ホームページ・ビルダー16

6 2 1

Webデザイン論

Outlook2010 の メール 連絡先 に関連する内容を解説します 注意 :Outlook2007 と Outlook2010 では 基本操作 基本画面が違うため この資料では Outlook2010 のみで参考にしてください Outlook2010 の画面構成について... 2 メールについて

Microsoft PowerPoint - 04WWWとHTML.pptx

目次 1. 概要 2. サーバーへの設置 3. 設定 4. ユーザーアクセス記録の収集 5. 利用規定 6. 更新履歴

PowerPoint プレゼンテーション

Web メール利用マニュアル ( 携帯版 ) Web メール利用マニュアル ( 携帯版 ) 株式会社イージェーワークス 2012/09/26 改定

2 COPYRIGHT TempNate. ALL RIGHTS RESERVED.

目次 1 文字数や行数を指定する 段組み 文書全体に段組みを設定する 文書の途中から段組みを設定する 段の幅 ( 文字数 ) や間隔を設定する ページ番号 ページ番号をつける 先頭ペ

NSS利用者マニュアル

ビジネスサーバ設定マニュアル_Standard応用編

ホームページにパスワード認証を設定します 会員限定のページなどに利用できます 設定の手順 を設定するには 以下の手順で行います ユーザ登録 を設定したページにアクセスするためのユーザを登録します の設定 を設定するページ アクセスを許可するユーザを選択し 設定します 設定完了 を設定したページにアク

コンテンツ作成基本編

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

Webプログラミング演習

POWER EGG V2.01 ユーザーズマニュアル 汎用申請編

Transcription:

目次 目次 1. スキーマを作成する... 2 2. スキーマを登録する... 5 3. エントリを定義する... 6 4. エントリを投稿する... 9 5. エントリを表示する ( デザイン定義 )... 11... 18 1 / 22

1. スキーマを作成する チュートリアル : 簡単な日記帳を作る 最初のステップとして 簡単な日記帳を作ってみましょう 件名 と 本文 があるだけの簡単なものです 1. スキーマを作成する では まず 日記帳 のスキーマを定義します スキーマは XML ファイル として作成します コラム :XML って何? XML について分からない方はご心配なく HTML と書き方はほとんど同じです <name> 名前 </name> のように < タグ名 > データ </ タグ名 > の形式になっているテキストデータのことです 理解しておく必要がある HTML との違いは次の2 点だけです 1 閉じタグが無いタグの場合について HTML の IMG タグ ( 例 :<img src="xxx.jpg">) のように 閉じタグが無い タグは <img src="xxx.jpg" /> のように書かなければいけません > の前に / をつけます <br> も <br /> になります もちろん 閉じタグとセットにして <br></br> と書けば OK ですが ちょっと冗長な書き方ですね <br /> だけの方がシンプルです 2 属性は必ず "" で囲う HTML では <form action=post > のように書けましたが 属性値は必ず "" で囲って <form action="post"> と書かなければいけません 気をつける必要があるのはこれぐらいです まずは とりあえずやってみましょう! [!] 注意 CMS Designer では スキーマファイルやデザインファイルなどの XML ファイルは UTF-8 の文字コード ( 漢字コード ) で保存する必要があります UTF-8 でファイルを保存するには Windows 標準添付の メモ帳でファイルを保存する際に 文字コード から UTF-8 を選んで保存すれば OK です 個人的には 秀丸エディタ をお勧めします では さっそくスキーマファイルを作ってみましょう 2 / 22

1. スキーマを作成する まず スキーマ名を決めます 半角英数字で名前をつけます 日記帳ですから 素直に diary としましょう 次のようなファイルを作成します diary.schema.xml <?xml version="1.0" encoding="utf-8"?> <schema name="diary" caption=" 日記帳 " > <data name="title" type="text" caption=" 件名 " /> <data name="body" type="textarea" caption=" 本文 " /> </schema> ファイル名は スキーマ名 +.schema.xml の形式になります 拡張子は "xml" です そして 保存します UTF-8 で保存するのをお忘れなく! これを見ていて 何か思い出しませんか? そう HTML の form の書き方にそっくりです form タ グが schema タグになり input タグが data タグになっているような感じです とりあえず一つ一つ 見ていきましょう 1 行目 : <?xml version="1.0" encoding="utf-8"?> これは おまじないだと思ってください 何も考えずにこのまま入力すれば OK です 2 行目 : <schema name="diary" caption=" 日記帳 " > 2 行目は schema というタグを使って ここからスキーマ定義が始まるよ と示しています HTML の form タグで ここからフォームが始まるよ というのと似ていますね ついでにここで スキーマ名とその日本語名を定義しています name 属性に先ほど決めたスキーマ名 "diary" caption 属性に " 日記帳 " と設定します 3 / 22

1. スキーマを作成する 3 行目 : <data name="title" type="text" caption=" 件名 " /> これが スキーマの項目の定義になります このように data タグを使って項目を定義します ここでは 件名 を定義しています 件名ですから 項目名を分かりやすく "title" としましょう ( スキーマ名と同じく半角英数で決めます ) type 属性には "text" を設定しています これは HTML の input タグの type="text" と似ていて この項目が1 行テキストボックスによる文字列の入力項目であることを指定します 件名 件名です こんなイメージです caption の " 件名 " は テキストボックスの横に表示されるラベルです 入力するときに分かりやすい よう 日本語で設定します 例えば " タイトル " とか " 見出し " でもいいかもしれませんね 4 行目 : <data name="body" type="textarea" caption=" 本文 " /> もう一つ入力項目を設定しています 本文 ですね 日記帳ですから件名だけでなく本文もないといけません 本文には項目名として ( なんでも構いませんがここでは )"body" という名前をつけましょう type には 件名と同じく "text" でもいいのですが 1 行テキストボックスでは本文を入力するには狭すぎるので "textarea" と設定します type="textarea" は この項目が複数行にわたる入力を受け付ける広いテキストボックス項目である事を指定します 本文 本文はある程度大きな領域でないと入力しづらいですよね 改行も入れたいですし こんなイメージです 5 行目 : </schema> 最後に スキーマ定義はここまでです という閉じタグを書いて完了です どうですか? 慣れるまでは戸惑うこともあるかもしれませんが form タグを書いていると思えば特に難しくないはず です 4 / 22

2. スキーマを登録する 2. スキーマを登録する 作成したスキーマファイル ( ここでは "diary.schema.xml") をサーバにアップロードします スキーマを登録する為のフォルダを作成して そこにファイルを置きます まず 下のフォルダへ移動してください /public-html/cmsdesigner/config/schema/ このフォルダの下に スキーマ名 ( ここでは "diary") でフォルダを新規作成してください /public-html/cmsdesigner/config/schema/diary/ そうしたら 先ほど作ったスキーマファイルをここにアップロードします /public-html/cmsdesigner/config/schema/diary/diary.schema.xml これで OK です パーミッションは特に指定する必要はありません 5 / 22

3. エントリを定義する 3. エントリを定義する スキーマを定義しただけではまだ エントリを投稿していくことはできません スキーマとは別に エントリ定義 を行います エントリ定義とは このスキーマを使って この場所に記事を保管していきますよ という情報です スキーマ定義とエントリ定義が別になっていることで 例えば 日記 というスキーマを元に 友達 向けの日記 というエントリと 一般向け日記 というエントリを別々に管理することが可能になります それぞれの日記毎に同じスキーマ定義をコピーする必要がなく 便利です 一般向け日記 のエントリ定義をしてみましょう エントリ名を public_diary とします エントリ保管用のフォルダを新規作成します まず 下のフォルダへ移動してください /public-html/cmsdesigner/data/entry/ このフォルダの下に エントリ名 ( ここでは "public_diary") でフォルダを新規作成してください /public-html/cmsdesigner/data/entry/public_diary/ ( パーミッションを 707 に設定 ) エントリ用フォルダ ( ここでは "public_diary") のパーミッションは "707" に設定してください 次に /public-html/cmsdesigner/config/site.config.xml ファイルをエディタで編集します このフ ァイルも UTF-8 の文字コードですので UTF-8 対応のエディタで編集してください 開いた状態では 次のようになっています site.config.xml <?xml version="1.0" encoding="utf-8"?> <site> <manager> <user name="*********" password="****************************" /> </manager> <entries> <entry name="news1" schema="news" caption=" 新着情報 " /> </entries> </site> entry タグで定義されている部分が エントリ定義です それ以外は無視して OK です 初期状態ではデモ用として 新着情報 というエントリが定義されています ( 太字の部分 ) これはデ モを確認した後なら消してしまって構いません 6 / 22

3. エントリを定義する ではここに public_diary の定義を追加します site.config.xml <?xml version="1.0" encoding="utf-8"?> <site> <manager> <user name="" password="" /> </manager> <entries> <entry name="news1" schema="news" caption=" 新着情報 " /> <entry name="public_diary" schema="diary" caption=" 一般向け日記 " /> </entries> </site> やり方としては 新着情報のエントリ定義をコピーして それぞれ name 属性に エントリ名 public_diary schema 属性に スキーマ名 diary caption 属性に 日本語での説明 一般向け日記 のように変更します 保存して サーバ上のファイルも更新してください これでエントリ定義は完了です ここでちょっと一休みして 現在の状況を確認してみましょう サーバ上のファイルは 次のページの図のようになっていますか? 7 / 22

3. エントリを定義する public-html : web サイトのルートフォルダ testcms.php : 設置確認用 php cmsdesigner : cmsdesigner 本体フォルダ dlfile.php manager.php viewimg.php config ( 707 ) site.config.xml ( 606 ) : サイト設定ファイル 更新したもの schema : スキーマとデザインの格納場所 diary : 日記帳のスキーマフォルダ diary.schema.xml : 日記帳のスキーマ定義ファイル news : サンプルスキーマ "news" news.default.design.xsl news.list.default.design.xsl news.schema.xml data lock entry : エントリの格納場所 public_diary ( 707 ) : 一般向け日記帳のエントリフォルダ news1 ( 707 ) : サンプルエントリ "news1" news1.00001.xml ( 606 ) news1.00002.xml ( 606 ) news1.00003.xml ( 606 ) news1.index.xml ( 606 ) news11.sequence ( 606 ) include : : 以下省略 太字の箇所が 今回変更した部分です それではコンテンツ管理へログインしてください いまくいけば コンテンツ一覧に 一般向け日記 が表示されています 表示されていなければ site.config.xml をもう一度見直して サーバへアップロードしなおしてくだ さい 8 / 22

4. エントリを投稿する 4. エントリを投稿する さあ サイト管理者になったつもりで エントリを投稿してみましょう コンテンツ管理画面から 一般向け日記 の編集画面へ入ってください エントリ一覧には まだ一件もデータが存在していません ( 新規に作ったエントリ定義ですから当たり前ですね ) 新規追加 ボタンを押して エントリの新規作成画面へ入ります スキーマ定義で定義した通りの画面が表示されています ここに好きな文字列を入力して 編集 を保存 を押せば 入力内容が新規エントリとして保存されます 試しに 次のように入力してみましょう 9 / 22

4. エントリを投稿する この通りでなくても構いませんが 入力したら 編集を保存 を押し 一般向け日記 のリンク又は キャンセル ボタンを押して前の画面 ( エントリ一覧 ) に戻ってください エントリ一覧に 先ほど保存したエントリが追加されています ID は 00001 となっています この ID は後で画面表示の際に必要となるので 覚えておいてください 他にもいくらでも投稿できますので がんがん投稿してみてください もしこれまでの流れで 変な Error や Warning が大量に出たりした場合は スキーマ定義とエントリ 定義の手順をもういちど見直してください 特に エントリフォルダのパーミッションを 707 にするのを 忘れないようにしてください 707 でダメな場合は 777 も試してみてください 10 / 22

5. エントリを表示する ( デザイン定義 ) エントリをいくら投稿しても どこかにそれを公開しなければ意味がありません それでは最後の肝である デザイン定義をやってみましょう 一般的な CMS では コンテンツの出力先として HTML ページを丸ごと 1 つの テンプレート として定 義しますが CMS Designer では所謂 テンプレート に相当するものと それを表示する場所である HTML ページは別になります ヘッダー ヘッダー ナビゲーション ナビゲーション メニュー コンテンツ メニュー コンテンツをこ コンテンツ 件名 本文 こに 埋め込む 件名 本文 フッター フッター デザイン定義 一般的な CMS の テンプレート 本体の HTML に直接コンテンツのデザイ ンも記述している CMS Designer の デザイン定義 と埋め込み先 HTML 本体の HTML には 埋め込む場所 だけ記述しておき コンテンツのデザインは別途記述している これは一見 複雑になったように見えますが このようにコンテンツ部分を本体から切り離して扱え ることで 逆に本体の HTML はシンプルになります また 別の HTML に同じコンテンツを埋め込みた い場合など デザイン定義をそのまま使いまわすことができます ではまず デザイン定義からやってみましょう その後 埋め込み先 HTML を簡単に作って表示させてみます ここからは XSL という 業界標準の XML 加工言語を使います 細かい部分は気にせず 流れを追ってみてください 11 / 22

/public-html/cmsdesigner/config/schema/diary/ のフォルダに 以下のファイルを作成します ファイル名は スキーマ名 +"."+ デザイン名 +.design.xsl の形式になります ここではデザイン名として "default" と付けています 拡張子は "xml" ではなく "xsl" です diary.default.design.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" /> <xsl:template match="/entry"> <xsl:value-of select="title" /> <xsl:value-of select="body" /> </xsl:template> </xsl:stylesheet> このファイルも これまでの XML ファイルと同様に UTF-8 の文字コードで保存してください 内容の説明に移ります 重要なのは太字の部分だけです 他の部分は基本的に定型句なので このままコピーしてください <xsl:value-of select="title" /> この行で 件名 を出力しています <xsl:value-of select="xxx" /> と書くと xxx というデータを見つけたらここに内容を出力せよ という意味になります スキーマ定義で件名に "title" という名前を付けたことを覚えていますか? よってこれは 件名の内容をここに出力せよ と指示していることになります <xsl:value-of select="body" /> title の出力が分かれば これも分かりますね 件名には "body" と名づけましたから ここで body を 出力するよう 指示しています 項目が増えたら これも増やしていけばいい訳です 簡単ですね ちなみに 例えば件名の出力指示をここに書かなければ データ上に件名が存在しても 出力され ないだけでエラーにはなりません 出来上がったこのファイルを ( しつこいようですが UTF-8 で保存してください ) サーバーの以下の 場所にアップロードします /public-html/cmsdesigner/config/schema/diary/diary.default.design.xsl このように デザイン定義ファイルはスキーマと同じ場所に保管していきます 12 / 22

では次に このデザインを出力する先の画面を作成します いろいろとデザインを凝りたいところですが 今は話をシンプルにする為 簡単な内容にします nikki.php <?php require_once( "cmsdesigner/include/view.php.inc" ); // encoding="utf-8"?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> テストページです </title> </head> <body> テストページ <br> <table border="1"> <tr> <td> メニュー部分 </td> <td> <cmsd:entry name="public_diary" design="default" /> </td> </tr> </table> </body> </html> <?php cmsd_end_template();?> 出力先の画面は php として実行する必要がある為 拡張子を php にします 拡張子以外のファ イル名は自由につけてください 太字の部分に注目してください まず一行目 <?php require_once( "cmsdesigner/include/view.php.inc" ); // encoding="utf-8"?> これは定型句です 出力先の全ての画面の先頭に埋め込んでください <meta http-equiv="content-type" content="text/html; charset=utf-8"> charset を "utf-8" にします 出力先となる画面も スキーマ定義やデザイン定義等と同様 全て UTF-8 の文字コードで保存してください 13 / 22

HTML に目を向けると 2 列のテーブルを作って 左側に メニュー 右側に今回の日記エントリを 表示するようにしています 埋め込み部分を見ると 次のようになっています <cmsd:entry name="public_diary" design="default" /> 埋め込み内容の指示形式 <cmsd:entry name=" エントリフォルダ名 " design=" デザイン名 " /> エントリ 1 件を表示するには cmsd:entry 命令タグを使います つまりここで エントリ public_diary を デザイン default を使って出力せよ という指定をしています 最後に最終行に 次の 1 行を入れて下さい <?php cmsd_end_template();?> これも定型句ですので 出力先の全ての画面の最終行に埋め込んでください このファイルは サイトのルートフォルダ直下にアップロードしてください public-html/nikki.php さあ では nikki.php を呼び出してみましょう 5.4 エントリを投稿する の最後に投稿したエントリの ID を覚えていますか? "00001" ですね 指定したエントリを表示するには 次のように書きます 指定エントリを画面に表示する URL http:// あなたのサイト /nikki.php?eid= エントリ ID 例えばあなたのウェブサイトが http://www.hogehoge.com/ ならば http://www.hogehoge.com/nikki.php?eid=00001 が 先ほど投稿したエントリを表示する為の URL になります 成功すると 次のような画面が表示されるはずです エラーが出てしまった場合は ファイル名や URL を再度確認してみてください 14 / 22

ところで 先ほどの出力画面を見ると 件名の後にすぐ本文が続いてしまっています それは デザイン定義で単に title と body をそのまま並べて出力している為です 例えば間に BR タグを挟む などをすれば改行が入って少し見やすくなりますが もう少しそれっぽく DIV タグでデザインしてみましょう デザイン定義ファイルを再度開いてください diary.default.design.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" /> <xsl:template match="/entry"> <xsl:value-of select="title" /> <xsl:value-of select="body" /> </xsl:template> </xsl:stylesheet> この太字周辺を 次のようにしてみます <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" /> <xsl:template match="/entry"> <div class="diary_title"> <xsl:value-of select="title" /> </div> <div class="diary_body"> <xsl:value-of select="body" /> </div> </xsl:template> </xsl:stylesheet> ファイルを保存して サーバー上のファイルも更新してください デザイン定義では <xsl: ほげほげ > で始まるタグ以外のタグは そのままの形で出力されます よって この結果 <div class="diary_title"> 件名です </div> <div class="diary_body"> 本文です 今日は何もありませんでした おそまつ </div> というテキストが埋め込まれることになります 15 / 22

class 指定だけしても CSS がどこかで定義されていないといけないので 作成しましょう diary.default.css.diary_title { background : #2E8B57; padding : 5px; margin : 0px; font-weight : bold; color : #FFFFFF; }.diary_body { margin : 0px; border : 2px solid #2E8B57; padding : 5px; } こんな感じでしょうか この辺はデザイナーさんの方がお詳しいでしょうから お好きにどうぞ CSS ファイルの文字コードについては CMS Designer では CSS は管理外ですので お好きな文字コードで保存して頂いて構いませんが php に合わせて UTF-8 にしておくと何かと便利かもしれません サーバーへの保存先は public_html/diary.default.css としておきます 最後にこの CSS を読み込むように nikki.php に CSS へのリンクを張りましょう nikki.php <?php require_once( "cmsdesigner/include/view.php.inc" ); // encoding="utf-8"?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="diary.default.css" type="text/css"> <title> テストページです </title> </head> : 省略 16 / 22

nikki.php をサーバーへアップロードしたら 再度 http:// あなたのサイト /nikki.php?eid= エントリ ID へアクセスしてみてください 上記のような画面が表示されていますか? なんとなくそれっぽくなってきましたね このように 基本的にはデザイン定義ファイルには DIV タグや TABLE タグなどのレイアウト情報だけを含めるようにして 色やフォントの指定は CSS 側に持つようにします 場合によっては デザイン定義ファイルには全て DIV タグだけを含めるようにして レイアウトも CSS でやってしまうという方法もあります 尚 表示がおかしければ ブラウザからソースを開いてみて 以下の事を確認してください (1) <div class="diary_title"> などの div タグが出力されていない デザイン定義ファイル (diary.default.design.xsl) が更新されていません (2) CSS へのリンクが張られていない nikki.php が更新されていません (3) (1) も (2) も OK なのに 表示がおかしい CSS ファイルが正しくないか 正しいファイル名でアップロードされていません 17 / 22

先ほどのデザイン定義は エントリ1 件分 を表示するデザインでした しかし エントリはどんどん増えていく為 どこかに エントリ一覧 も必要です まさか 閲覧者に nikki.php?eid=12345 などと入力してもらうわけにもいきません CMS Designer では エントリの一覧を表示する際も 先ほどのエントリ 1 件分のデザイン方法と同 じやり方でデザインを定義できます diary.list.default.design.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" /> <xsl:template match="/entrylist"> <xsl:for-each select="entry"> <div class="diary_title"> <xsl:value-of select="title" /> </div> <div class="diary_body"> <xsl:value-of select="body" /> </div> </xsl:for-each> </xsl:template> </xsl:stylesheet> これが エントリ一覧のデザイン定義ファイルです エントリ 1 件分とほとんど変わっていませんね 違うのはファイル名と太字の部分だけです ここは深く考えず エントリ一覧の場合はこのようにする と覚えてください エントリ一覧のデザイン定義ファイルのファイル名は スキーマ名 +".list."+ デザイン名 +.design.xsl の形式になります ここではデザイン名として "default" と付けています 拡張子は同じく "xml" ではなく "xsl" です このファイルを public_html/cmsdesigner/config/schema/diary/ にアップロードしてください 18 / 22

次に 一覧画面を作成します ちょっと手抜きをして エントリ 1 件分の画面とほとんど同じ画面にします nikkilist.php <?php require_once( "cmsdesigner/include/view.php.inc" ); // encoding="utf-8"?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="diary.default.css" type="text/css"> <title> テストページです </title> </head> <body> テストページ ( 一覧 )<br> <table border="1"> <tr> <td> メニュー部分 </td> <td> <cmsd:entrylist name="public_diary" design="default" /> </td> </tr> </table> </body> </html> <?php cmsd_end_template();?> エントリ 1 件分の時と違うのは 太字の部分だけです 埋め込み内容の指示形式 <cmsd:entrylist name=" エントリフォルダ名 " design=" デザイン名 " /> エントリ一覧の表示には cmsd:entrylist 命令タグを使います これを nikki.php と同じ場所にアップロードします public-html/nikkilist.php 例えばあなたのウェブサイトが http://www.hogehoge.com/ ならば http://www.hogehoge.com/nikkilist.php が エントリ一覧を表示する為の URL になります さぁ 表示してみてください 19 / 22

コンテンツ管理画面にてエントリを何件登録したかで 表示内容が異なると思います エントリ 1 件用に作った CSS を使いまわしている為 私の CSS ではエントリ同士がくっついてしまっ ています 少し調整してみましょう diary.default.css.diary_title { background : #2E8B57; padding : 5px; margin : 0px; font-weight : bold; color : #FFFFFF; }.diary_body { margin : 0px 0px 5px 0px; border : 2px solid #2E8B57; padding : 5px; } 下の margin を 5px 取りました ( 太字の部分 ) 少し見やすくなりましたね 20 / 22

実際のケースでは 一覧に本文まで全て表示することより 件名のみ を一覧で出すことの方が 多いと思います 件名にはリンクを張って 個別の日記のエントリ画面へジャンプさせる という方法 を実現して このチュートリアルを終わることにしましょう <a href="nikki.php?eid=00001> 件名 1 です </a> のような出力を得られれば 一覧から個別のエントリへジャンプさせることができます 00001 とい うのはエントリ ID です まずは 件名と本文を表示するようにしていた一覧用のデザイン定義を以下のように修正します diary.list.default.design.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" /> <xsl:template match="/entrylist "> <xsl:for-each select="entry"> <a href="nikki.php{@href}"> <xsl:value-of select="title" /> </a> <br /> </xsl:for-each> </xsl:template> </xsl:stylesheet> body の出力部分を削除して title を A タグで囲うようにしました <a href="nikki.php{@href}"> この行は A タグをそのまま出力しています ここで @href というのは nikki.php に与えるパラメータを表します "?eid=00001" とか "?eid=00002" などの値が入ります @href は CMS Designer が自動的に用意するデータなので デザイナーは何も用意しなくても使えます 21 / 22

<br /> 次の行の <br /> は BR タグを出力しています なぜ <br> ではなく <br /> かというと XML では開始タグと終了タグは必ず1セットになっていなければならない為です BR のように終了タグが存在しない場合は 開始タグと終了タグを一つにまとめた <br /> という書き方をする必要があります 他の場合でも全て同じですので XML のルールとしてそのまま覚えておけば OK です BR 以外だと IMG タグや INPUT タグなどがそれにあたります このデザイン定義を保存してサーバ上の定義も更新し 一覧を再表示してみましょう 望みどおりの出力が得られました 各件名をクリックすると それぞれの日記内容を表示します エラー等が表示されてしまった場合は デザイン定義の修正内容をもういちどよく確かめてみてく ださい ( 半角であるべき箇所が全角になっていたりしませんか?) 見栄えが寂しいですが その辺はデザイナーさんの担当です デザインをいじる方法は既にご存 知のはずですから いくらでも見栄え良くカスタマイズしてください 以上でこのチュートリアルは終わりです より詳細についてはリファレンスマニュアルを見て頂くか 別のチュートリアルをお試しください 22 / 22