用户插件

用户插件可以与当前用户上下文配合使用。本主题包含其中一些插件的更多相关信息。

“语言环境”呈示插件

Locale 呈示插件用于向 Web 内容添加语言环境信息或者根据当前语言环境在 Web 内容中插入标记。此插件确定当前上下文中的首选受支持语言环境。

Locale 呈示插件使用下列属性:
acceptLanguage
用于定义一个或多个可以由特定语言环境中的门户网站选择的首选语言环境。属性值必须遵循 HTTP/1.1 协议的 Accept-Language 头字段的语法规范。有关这个头字段的详细信息,请参阅“RFC2616 规范”的 Accept-Language 部分。

如果未定义 acceptLanguage 属性,那么在确定所选上下文的首选受支持语言环境时,门户网站会将所有受支持的可用语言环境视为同样可接受。

pattern
用于为语言环境定义由 Locale 插件打印的输出格式。
属性值指定一个模式,该模式可以包含下列占位符:
  • {language}:语言环境的小写双字母语言代码(由 ISO-639 标准定义)的占位符。
  • {country}:语言环境的大写双字母国家或地区代码(由 ISO-3166 标准定义)的占位符。
  • {variant}:特定于供应商或浏览器的语言环境变体的占位符。

如果未定义 pattern 属性,那么将使用以下模式:{language}-{country}-{variant}

printLocale
用于定义是否将 Locale 插件确定的首选受支持语言环境插入到 Web 内容中。此属性可以具有下列值:
  • true:将首选受支持语言环境写入页面的标记。
  • false:不将首选受支持语言环境写入页面的标记。
通过将此属性与 acceptLanguage 属性配合使用,用户可以定义仅在下列情况下才呈示的内容:
  • 如果特定语言环境适用于当前上下文
  • 如果特定一组语言环境中的某个语言环境适用于当前上下文
虽然可接受的语言环境受支持时将打印 Plugin 标记的主体,但此属性设置为 false 时,将不会显示首选受支持语言环境。

如果未定义 printLocale 属性,那么将使用值 true

This information applies to CF08 and laterkey
作为先前列出的属性的替代方法,您可以使用关键字属性来检索其他语言环境数据。受支持的值包括:
  • direction:为针对您 Web 内容的请求的首选受支持语言环境编写基本文本方向。例如:“ltr”。
  • xmlLocale:编写请求( 针对您的 Web 内容,由 IETF BCP 47 定义)的首选受支持语言环境的字符串表示。例如:“en”。

如果 Locale 插件指定了主体内容,那么开始标记 (tag) 与结束标记 (tag) 之间的标记 (markup) 只有在首选受支持语言环境确定后才呈示。如果没有任何受支持语言环境适用于当前上下文,那么 Locale 插件不会在内容中插入标记。

示例:
  • 在未定义更多属性的情况下添加 Locale 插件时,当前上下文中的首选受支持语言环境将插入到 Web 内容中。将使用缺省格式 {language}-{country}-{variant}(例如,es-ES-WIN):
    [Plugin:Locale]
  • pattern 属性定义首选受支持语言环境的输出格式。以下样本使用定制格式来呈示语言环境并省略变体元素(例如,es_ES):
    [Plugin:Locale pattern="{language}_{country}"]
  • 以下样本呈示当前上下文中的首选受支持语言环境的语言代码(例如 da)。只接受北欧国家或地区的语言作为结果。如果没有任何指定语言环境在当前上下文中受支持,那么不向 Web 内容输出任何内容。例如,如果用户将 Web 浏览器或门户网站用户概要文件配置为只使用英语 (en),那么 Locale 插件不会返回任何语言环境。
    [Plugin:Locale acceptLanguage="da,fo;q=0.8,fi;q=0.6,is;q=0.4,no;q=0.2,sv;q=0.2" 
    pattern="{language}"]
  • 可以使用 printLocale 属性来阻止呈示首选受支持语言环境。仅当首选受支持语言环境与其中一种指定北欧语言匹配时,此样本才将 Plugin 标记的主体插入到 Web 内容中。确定的语言环境不会添加到 Web 内容中。
    [Plugin:Locale acceptLanguage="da,fo;q=0.8,fi;q=0.6,is;q=0.4,no;q=0.2,sv;q=0.2" 
    printLocale="false"]
         <div>This markup is displayed only if the current context supports a locale 
         that represents one of the specified Nordic languages.</div>
     [/Plugin:Locale]
  • 您也可以将 Locale 插件与其他插件配合使用。以下示例说明如何将 Matches 插件与 Locale 插件配合使用。仅当首选受支持语言环境表示西班牙语时,Matches 插件主体中的标记才会在内容中呈示。
    [Plugin:Matches pattern="es(.*)" text="[Plugin:Locale]"] 
        <div>This markup appears only if the preferred supported locale in the 
        current context represents a Spanish language. Neither the country code 
        nor the variant are important as long as the language code of the 
        locale is "es".</div>
    [/Plugin:Matches]
  • 要为针对您 Web 内容的请求的首选受支持语言环境编写基本文本方向,例如“ltr”,请使用带有值方向的关键字属性:
    [Plugin:Locale key="direction"]
  • 要编写请求(针对您的 Web 内容,由 IETF BCP 47 定义)的首选受支持语言环境的字符串表示,例如“en”,请使用带有值 xmlLocale 的关键字属性:
    [Plugin:Locale key="xmlLocale"]

If DeviceIf Not Device 插件

可以使用 If DeviceIf Not Device 插件根据用户的门户网站设备类选择性地呈示内容。当用户通过智能手机或平板电脑访问站点时,您可以使用这些插件切换到移动组件,例如,已针对移动设备优化的幻灯片或轮播。

class 属性由 IBM® WebSphere® Portal 中支持的客户机的设备分类定义。以管理员身份登录到 WebSphere Portal,并在工具栏中单击管理菜单图标。然后,单击门户网站设置 > 支持的客户机。编辑所选客户机以查看已与其关联的类。您可以通过此页面添加或除去类。

可以使用以下格式检查特定设备是否正在使用:
[Plugin:ifDevice class="DEVICE1" class="DEVICE2"]
Text to render if current device is DEVICE1 or DEVICE2.
[/Plugin:ifDevice]
可以使用以下格式检查特定设备是否未在使用:
[Plugin:ifNotDevice class="DEVICE1" class="DEVICE2"]
Text to render if current device is not DEVICE1 or DEVICE2.
[/Plugin:ifDevice]
以下格式用于在未设置设备时呈示文本:
[Plugin:ifDevice class=""]
Text to render if the device is not set.
[/Plugin:ifDevice]
要指定一个设备或另一设备,请使用以下语法:
[Plugin:ifDevice class="DEVICE1|DEVICE2"]
Text to render if current device is DEVICE1 or DEVICE2.
[/Plugin:ifDevice]
要指定一个设备和另一设备,请使用以下语法:
[Plugin:ifDevice class="DEVICE1+DEVICE2"]
Text to render if current device is DEVICE1 and DEVICE2.
[/Plugin:ifDevice]
要指定一个设备而不是另一设备,请使用以下语法:
[Plugin:ifDevice class="DEVICE1+!DEVICE2"]
Text to render if current device is DEVICE1 but not DEVICE2.
[/Plugin:ifDevice]