EMLHはXCL2.1でもまったく問題なく動きますが、いろいろな意味でcubeUtilsの方がより使いやすい多言語処理と言えるでしょう。前者は一応Hackで、後者はモジュールだ、というのもあります。
ただ、この手の多言語処理は、ob_filterを利用しているので、メール送信処理などで、言語タグが未処理のまま送られてしまうことはままあります。
そのあたりの経験を積んでいるモジュール作者であれば、メールを送信する前、本文などに言語タグ書き換え処理を入れます。
if( function_exists('easiestml') ) {
$body = easiestml( $body ) ;
}
<?php
function easiestml( $s , $lang = '' )
{
global $cubeUtilMlang ;
if( is_object( @$cubeUtilMlang ) ) {
if( $lang ) {
$orig_lang = $cubeUtilMlang->mLanguage ;
$cubeUtilMlang->mLanguage = $lang ;
$ret = $cubeUtilMlang->obFilter( $s ) ;
$cubeUtilMlang->mLanguage = $orig_lang ;
return $ret ;
} else {
return $cubeUtilMlang->obFilter( $s ) ;
}
} else {
return $s ;
}
}
nobunobu wrotes:
同じような関数定義を、小生のとあるサイトでは、
直接、MultiLanguagePreLoad.class.php内に追加定義してたりしてました