ページ 1 / 1

サイトルート以外へのCMS Designer や デザインの導入について

Posted: 2006年5月26日(金) 00:07
by rivulet
CMS Designer リファレンスマニュアル(cmsd_doc_reference.pdf)により
勉強させていいただいております。

同マニュアルの「6.ウェブサイトへの埋め込み」に、
埋め込み先画面の作成は、

Re: サイトルート以外へのCMS Designer や デザインの導入について

Posted: 2006年5月27日(土) 22:28
by webmaster
 rivuletさん、ご質問ありがとうございます。

 サイトルート以外への設置方法ですが、次のようにすればいけると思います。

 例として、
 public-html/sub1/samplepage.php
 にファイルを置くとします。

・埋め込みページ先頭のヘッダを次のように変える(末尾も同様)。
変更前:<?php require( "cmsdesigner/include/view.php.inc" ); ?>
変更後:<?php require( "../cmsdesigner/include/view.php.inc" ); ?>

・デザイン定義ファイル中の画像表示部分を次のように指定する。
変更前:<img src="{shopphoto}" />
変更後:<img src="../{shopphoto}" />

・デザイン定義ファイル中のファイルダウンロードリンク部分を次のように指定する。
変更前:<a href="{pdffile}" ><xsl:value-of select="pdffile/@org" /></a>
変更後:<a href="../{pdffile}" ><xsl:value-of select="pdffile/@org" /></a>

 上記のように、URLの前に"../"を付けるだけです。
 ルートフォルダからの相対パスを追加してください。

 2階層下なら、"../../"となります。

 尚、現在のところ、コンテンツ管理画面での画像ファイルへのリンク自動生成
(img項目のところにある「IMGタグ(元サイズ)」等のリンク)機能が正しく
動作しなくなります。これは、ここで生成されるリンクが、埋め込み先がサイトルート
であることを前提にしている為です。
 この点だけご了承下さいませ。
 img項目、file項目を使わないのであれば問題ありません。

 以上、その他ご質問がありましたらよろしくお願い致します。m(__)m

相対パスではなく絶対パスでは動作しないのでしょうか?

Posted: 2007年3月03日(土) 01:02
by hisa
初めまして。CMSDの導入を考えています。

そこで質問があるのですが、
サイトルート以下のディレクトリのページに埋め込む場合、
webmaster さんが書きました: 
 URLの前に"../"を付けるだけです。
 ルートフォルダからの相対パスを追加してください。

 2階層下なら、"../../"となります。

上記のようにCMSDへの相対パスではなく、
下記のように絶対パスの指定では動作しませんでしょうか?

・埋め込みページ先頭のヘッダを次のように変える(末尾も同様)。
変更前:<?php require( "cmsdesigner/include/view.php.inc" ); ?>
変更後:<?php require( "/cmsdesigner/include/view.php.inc" ); ?>

・デザイン定義ファイル中の画像表示部分を次のように指定する。
変更前:<img src="{shopphoto}" />
変更後:<img src="/{shopphoto}" />

・デザイン定義ファイル中のファイルダウンロードリンク部分を次のように指定する。
変更前:<a href="{pdffile}" ><xsl:value-of select="pdffile/@org" /></a>
変更後:<a href="/{pdffile}" ><xsl:value-of select="pdffile/@org" /></a>


これで動けば、どのディレクトリからでも書き換えなしでOKなので気になっています。
お忙しいとは存じますがよろしくお願いいたします。

Re: 相対パスではなく絶対パスでは動作しないのでしょうか?

Posted: 2007年3月03日(土) 22:24
by webmaster
 hisaさん、ご質問ありがとうございます。

> ・埋め込みページ先頭のヘッダを次のように変える(末尾も同様)。
> 変更前:<?php require( "cmsdesigner/include/view.php.inc" ); ?>
> 変更後:<?php require( "/cmsdesigner/include/view.php.inc" ); ?>

 これについては、サーバー上の「絶対パス」が必要になる為、エラーになる
かと思います。
 ここで言う絶対パスとは、例えば「/home/foo/public_html/cmsdesigner/」
などのようなものです。

 逆に、それを指定すれば、共通化可能かと思いますが、サーバ移植性は低く
なります。

> ・デザイン定義ファイル中の画像表示部分を次のように指定する。
> 変更前:<img src="{shopphoto}" />
> 変更後:<img src="/{shopphoto}" />

> ・デザイン定義ファイル中のファイルダウンロードリンク部分を次のように指定する。
> 変更前:<a href="{pdffile}" ><xsl:value-of select="pdffile/@org" /></a>
> 変更後:<a href="/{pdffile}" ><xsl:value-of select="pdffile/@org" /></a>

 これは良いアイデアだと思います!
 試していないので何か落とし穴があるかもしれませんが、うまくいくのでは
ないかと思います。
 時間がなかなかとれず、試しておりませんが、実際に試されて問題などありましたら
ご連絡頂ければ幸いです。m(__)m