はい、あなたはこの機能を持っていないので、すぐにSCAを使用できますが、はい、あなたはURLに 'lang'パラメータを送信して言語を変更することができます。
を使用すると、SCAビジョンのリリースをudingしている場合は、「LANG」のparamすなわちwww.domain.com/lang=it_ITなど
を渡すには、セットアップタブ
下の設定で任意の言語のホストを追加していない覚えておいてくださいこれを行うには、カスタムモジュール内のホストセレクタファイルを上書き
、あなたはグローバルな視点の下に2つのファイル
1.Modules/custom/[email protected]/JavaScript/GlobalViews.HostSelector.View.jsの下に作成する必要があります &の下にコードを貼り付けてくださいsetLanguage:関数(e)の{}のgetContext()内のコード以下
, setLanguage: function (e)
{
var language_code = jQuery(e.target).val()
, selected_language = _.find(SC.ENVIRONMENT.availableLanguages, function (language)
{
return language.locale === language_code;
});
// We use the param **"cur"** to pass this to the ssp environment
var current_search = Utils.parseUrlOptions(window.location.search);
// if we are in a facet result we will remove all facets and navigate to the default search
// TODO REVIEW THIS
if (window.location.hash !== '' && _.values(SC._applications)[0].getLayout().currentView instanceof BrowseView)
{
window.location.hash = Configuration.defaultSearchUrl || '';
}
current_search.lang = selected_language.locale;
window.location.search = _.reduce(current_search, function (memo, val, name)
{
return val ? memo + name + '=' + val + '&' : memo;
}, '?');
}
使用は、ビューにコードの下
var available_languages = _.map(SC.ENVIRONMENT.availableLanguages, function(language)
{
// @class GlobalViews.CurrencySelector.View.Context.Currency
return {
// @property {String} code
code: language.locale
// @property {String} internalId
, internalId: language.internalid
// @property {String} isDefault
, isDefault: language.isdefault
// @property {String} symbol
, symbol: language.languagename
// @property {String} displayName
, displayName: language.locale|| language.locale
, isSelected: SC.ENVIRONMENT.currentLanguage.locale === language.locale
};
});
// @class GlobalViews.CurrencySelector.View.Context
return {
// @property {Boolean} showCurrencySelector
showLanguageSelector: !!(SC.ENVIRONMENT.availableLanguages && SC.ENVIRONMENT.availableLanguages.length > 1)
// @property {Array<GlobalViews.CurrencySelector.View.Context.Currency>} availableCurrencies
, availableLanguages: available_languages || []
// @property {String} currentCurrencyCode
// @property {String} currentCurrencySymbol
, currentLanguageSymbol: SC.getSessionInfo('language').languagename
};
}
- コピー&貼り付けhandlbarするためにいくつかのデータを返します下記のファイルに Modules/custom/[email protected]/Templates/global_views_host_selector.tpl
{{#if showLanguageSelector}}
\t <div class="global-views-currency-selector">
\t \t <span class="global-views-host-selector-addon">
\t \t \t {{currentLanguageSymbol}}
\t \t </span>
\t \t <select data-toggle="currency-selector" class="global-views-currency-selector-select">
\t \t \t {{#each availableLanguages}}
\t \t \t \t <option value="{{code}}" {{#if isSelected}}selected{{/if}}>
\t \t \t \t \t {{symbol}}
\t \t \t \t </option>
\t \t \t {{/each}}
\t \t </select>
\t </div>
{{/if}}
- 完了!今すぐ 'lang'パラメータがURLに追加されていることを確認できます
これについてさらに助けが必要な場合はお知らせください。
これはすごく助かります。1つのクエリは、構成からホストを削除する必要がありますか? – Danial
はい、設定が完了している場合はドメインを削除する必要があります –