phpバックグラウンドPHPCMSマルチ言語Webサイトソリューション

2019 ワード

一般的な建設ステーションはすべてphpを使って、その中のphpcmsは比較的に使いやすくて、いくつかの自分の多言語の経験をリストします.
1.cn,enなどの言語の種類を設定します.
2.ルート欄分類のテンプレートの「テンプレート設定」、の「欄トップページテンプレート」では、「category_index.html」などの言語ホームページ構成を設定する必要があります.
3.テンプレートディレクトリ「phpcmstemplatesen」も言語別に名前が区別されています.
4.対応する数のサイト構成を確立し、テンプレートの先頭に{php$SEO=seo(SITE_ID)}区分を入力し、SITE_IDはサイトidであり、現在の言語ルートクラスidを再構築することが望ましい.テンプレートには変数{php$langcatid=77}が定義されている.
5.言語プロファイルのカスタム属性を追加し、{php$GLOBALS['DYNAMIC_SYSTEM_LANG']='en'}と書きます.
ここで、en私が定義したファイル名は、対応するディレクトリがphpcmslanguagesenであり、属性の変数名がカスタム名であり、次の点で使用されます.
6.から/phpcms/libs/functions/global.func.phpはfunction Lを検索します(言語関数を見つけて、以下のコードを修正して、私たちが自分で言語ファイルを再構成することを実現します).
	if(defined('IN_ADMIN')) {
		$lang = SYS_STYLE ? SYS_STYLE : 'zh-cn';
	} else {
		$lang = pc_base::load_config('system','lang');
	}

に改心
	global $DYNAMIC_SYSTEM_LANG;
	if(isset($DYNAMIC_SYSTEM_LANG) && $DYNAMIC_SYSTEM_LANG != NULL){
		$lang = $DYNAMIC_SYSTEM_LANG;
		$DYNAMIC_SYSTEM_LANG = NULL;

		require_once PC_PATH.'languages'.DIRECTORY_SEPARATOR.$lang.DIRECTORY_SEPARATOR.'system.lang.php';
		if(defined('IN_ADMIN')) require_once PC_PATH.'languages'.DIRECTORY_SEPARATOR.$lang.DIRECTORY_SEPARATOR.'system_menu.lang.php';
		if(file_exists(PC_PATH.'languages'.DIRECTORY_SEPARATOR.$lang.DIRECTORY_SEPARATOR.ROUTE_M.'.lang.php')) require PC_PATH.'languages'.DIRECTORY_SEPARATOR.$lang.DIRECTORY_SEPARATOR.ROUTE_M.'.lang.php';

		$modules = explode(',',$modules);
		foreach($modules AS $m) {
			if(!isset($LANG_MODULES[$m])) require PC_PATH.'languages'.DIRECTORY_SEPARATOR.$lang.DIRECTORY_SEPARATOR.$m.'.lang.php';
		}

	}elseif(defined('IN_ADMIN')) {
		$lang = SYS_STYLE ? SYS_STYLE : 'zh-cn';
	} else {
		$lang = pc_base::load_config('system','lang');
	}

ここでは、カスタム変数が得られたときに、ターゲットを達成するために言語ライブラリを再ロードする構成項目が必要です.