WordPress・WEB系の開発(プログラム)関係や技術情報ほか、技術情報全般を掲載

  • このエントリーをはてなブックマークに追加

eZ Publish テキストエリアの複数行テキストをINIファイルに一行で保存する方法

設定情報を管理するINIファイルには標準では複数行のテキストを保存することが出来ません。
textareaタグの複数行テキストを
タグで区切った一行のテキストにするには下記のようにします。

■site.ini.append.php:

[SiteSettings]
FreeText=フリーテキストAAA<br />フリーテキストBBB<br />フリーテキストCCC

■ビューモジュール:

//インスタンス化
$SiteINI  = new eZINI( 'site.ini.append.php', "extension/saext/settings/siteaccess/hogesa", null, null, null, true, false );
/FreeText読み込み
$FreeText = $SiteINI->variable( 'SiteSettings', 'FreeText' );
//<br>を改行コードに変換
$FreeText = str_replace('<br />', "\n", $FreeText);

■エディットモジュール:

//改行コード定義
$cr       = array("\r\n", "\r");
//HTML無効化と空白削除
$FreeText = htmlspecialchars( trim( $FreeText ) );
//改行コードを統一
$FreeText = str_replace($cr, "\n", $FreeText);
//\n毎に配列化したものを再度、<br> で連結
$FreeText = implode('<br />', explode("\n", $FreeText) );
$SiteINI->setVariable( 'SiteSettings', 'FreeText', $FreeText );
$SiteINI->save();

◆eZ Publish 情報:
└ バージョン:eZ Publish Community Project 2013.09 (9th “eZ Publish 5 build”)
└ カーネル:レガシーカーネル

関連記事

コメントは利用できません。

アーカイブ