入力する際に「改行」も反映させたいエリアがあり、
テンプレート変数を作成し、(入力タイプ:RichText)に設定しました。
そうすると、そのテンプレート変数に関連づけられたリソースの編集画面ではきちんと「改行」が反映するのですが、
いざ、サイトを閲覧すると「改行」は反映されていません。
対処法などございますでしょうか。
--------------------------------
環境
バージョン【1.0.4J-r5】
サーバ【heteml】
--------------------------------
テンプレート変数(入力タイプ:RichText)について 【解決済み】
Re: テンプレート変数(入力タイプ:RichText)について
改行にbrタグは付けていますか?
RichTextの場合、brタグは自動では付かなかった気がします。
RichTextの場合、brタグは自動では付かなかった気がします。
Re: テンプレート変数(入力タイプ:RichText)について
soushiです。
テンプレート変数の入力タイプをRichTextにした場合、リソースの入力画面ではTinyMCEが立ち上がってませんでしょうか。
その場合は自動的に改行(もしくはPタグ)が付加されるので、改行は気にしなくても入っていると思います。
ただ、入力タイプをTextareaにした場合は、確かに改行していても<br />タグが付くわけではないので改行は行われません。
もし改行が入らない現象が「<br />タグがない」と言う現象でしたら以下の回避策があります。
MODx1.0.5でしたらカスタムウィジェットを使うと改行(\n)に<br />を付けることができます。
testという名前のテンプレート変数を作成した場合、テンプレート変数設定画面のウィジェット(出力フィルタ)をCustom Widgetにして、Outputに次のコードを入力します。
MODx1.0.5未満の場合、スニペットを間に挟むことで同じ事ができます。
testというテンプレート変数を作り、同様にtestというスニペットを作成します。
スニペットの中身は次のような感じです。
テンプレート変数の入力タイプをRichTextにした場合、リソースの入力画面ではTinyMCEが立ち上がってませんでしょうか。
その場合は自動的に改行(もしくはPタグ)が付加されるので、改行は気にしなくても入っていると思います。
ただ、入力タイプをTextareaにした場合は、確かに改行していても<br />タグが付くわけではないので改行は行われません。
もし改行が入らない現象が「<br />タグがない」と言う現象でしたら以下の回避策があります。
MODx1.0.5でしたらカスタムウィジェットを使うと改行(\n)に<br />を付けることができます。
testという名前のテンプレート変数を作成した場合、テンプレート変数設定画面のウィジェット(出力フィルタ)をCustom Widgetにして、Outputに次のコードを入力します。
コード: 全て選択
@EVAL $v=$modx->getTemplateVar('test');return str_replace("\n","<br />\n",$v['value']);
testというテンプレート変数を作り、同様にtestというスニペットを作成します。
スニペットの中身は次のような感じです。
コード: 全て選択
<?php
$v=$modx->getTemplateVar('test');
return str_replace("\n","<br />\n",$v['value']);
?>
[\code]
尚、リソースのコンテンツにはテンプレート変数[*test*]の代わりにスニペット[!test!]を記述します。
Re: テンプレート変数(入力タイプ:RichText)について 【解決済み】
テンプレート変数の入力タイプをRichTextにした場合、リソースの入力画面ではTinyMCEが立ち上がってませんでしょうか。
>
RichTextにしてもTinyMCEが立ち上がらないので下記方法で試してみました。
--------------------------------------------------------------------------------------------------------
MODx1.0.5未満の場合、スニペットを間に挟むことで同じ事ができます。
testというテンプレート変数を作り、同様にtestというスニペットを作成します。
スニペットの中身は次のような感じです。
>
RichTextにしてもTinyMCEが立ち上がらないので下記方法で試してみました。
--------------------------------------------------------------------------------------------------------
MODx1.0.5未満の場合、スニペットを間に挟むことで同じ事ができます。
testというテンプレート変数を作り、同様にtestというスニペットを作成します。
スニペットの中身は次のような感じです。
コード: 全て選択
<?php
$v=$modx->getTemplateVar('test');
return str_replace("\n","<br />\n",$v['value']);
?>
[\code]
尚、リソースのコンテンツにはテンプレート変数[*test*]の代わりにスニペット[!test!]を記述します。
--------------------------------------------------------------------------------------------------------
結果、見事改行を実現できました!どうもありがとうございました!!