htmlブロック使用時の相対パスの書き方は

2014年6月9日 at 15:28

テーマのphpファイルにはページやファイルのパスにgetThemePathが使われていますが、htmlブロックで各ページヘのパスを書き込むにはどのようにしたらいいでしょうか。
記事ブロックと違ってページヘのリンク項目がありません。絶対パスしかダメなのでしょうか。

〈a href="#"〉←ここにgetThemePathを入れたいのですが、書き方が分かりません。

タグ:

Re: htmlブロック使用時の相対パスの書き方は

2014年6月9日 at 15:57
HTML ブロックの場合は、残念ながら、セキュリティーの関係で、PHPを埋め込むことはできません。

テーマの絶対パスを入力してもらうことになります。

どうしても、PHPコードを埋め込む必要があるのであれば、
大変危険ですが、

■ Simple PHP Block
http://www.concrete5.org/marketplace/addons/simple-php-block/

という拡張アドオンをインストールすることに可能となります。

が、かなり危険で、一歩間違うと壊れちゃいます。

ページが表示できなくなり、ページを削除するしか解決策がなくなったり・・・

最悪、グローバルエリアやスタックに配置して、コードを間違えたりすると、サイト自体が壊れてしまったりするので、気をつけてください。
 

Re: Re: htmlブロック使用時の相対パスの書き方は

2014年6月9日 at 16:28
分かりました。
絶対バスにします。
 

Re: htmlブロック使用時の相対パスの書き方は

2014年6月9日 at 19:53
テスト環境の作成や引っ越しの事を考えると、
あまり絶対パスは書きたくないところだと思います。

ページパスにはgetThemePath()は使っていません。
絶対パスの定数はphp と javascript 両方に用意されています。

phpの場合
BASE_URL . DIR_REL . '/index.php'

javascriptの場合
CCM_BASE_URL + CCM_REL + '/index.php'

htmlブロックタイプはjavascriptの記述を許可していますので
以下のように書けば絶対パスをべた書きしなくて済みます。

<a href ="#" onclick="location.href = CCM_BASE_URL + CCM_REL + '/index.php'">ホーム</a>
 

Re: Re: htmlブロック使用時の相対パスの書き方は

2014年6月9日 at 21:11
ありがとうございます。
出来ました。
いろんな方法があるんですね。
勉強になりました。
最初そのままコピペしたので表示が崩れて焦りましたが、< >を書き換えました。