Prise en charge des classes d'appareil dans un thème migré
Vous pouvez utiliser la nouvelle prise en charge des classes d'appareil et des équations pour modifier vos thèmes des versions antérieures afin d'être plus efficace.
Ces deux nouvelles fonctions vous permettent de supprimer ou modifier certains aspects d'un thème précédent que vous avez migré. Ces modifications sont facultatives, mais ces nouvelles fonctions sont plus puissantes et plus simples à utiliser.
Outre les thèmes smartphone et tablet qu'elle accepte déjà, cette version de Portal prend également en charge les thèmes ios, android, blackberry et worklight. Vous pouvez aussi utiliser la prise en charge des équations pour combiner des classes d'appareil afin de rechercher plusieurs conditions client.
Par exemple, si vous avez effectué une intégration manuelle à MobileFirst® dans une version précédente et créé manuellement certaines classes d'appareil combinées, telles que smartphone-ios, tablet-ios, smartphone-android, tablet-android, vos classes d'appareil combinées ne sont plus nécessaires. Les classes d'appareil peuvent être combinées dans des équations, comme smartphone+ios, tablet+ios. Si vous disposiez d'une classe d'appareil combinée, telle que hires-tablet-ios, vous pouvez la modifier pour définir uniquement la classe d'appareil hires. Utilisez ensuite des équations pour combiner avec les autres classes d'appareil spécifiques par défaut, telles que hires+tablet+ios. Dans ces équations, utilisez + pour AND, / pour OR, ! pour NOT et des parenthèses pour regrouper des éléments. Pour plus d'informations, voir Equations de classe d'appareil.
Dans votre logique .jsp, par exemple, vous pouvez modifier la syntaxe de la version précédente en indiquant <c:if> sur deviceClass. Voici un exemple de code d'une version précédente :
<c:set var="deviceClass" scope="request" value="${wp.clientProfile['DeviceClass']}" />
<c:set var="isMobile" scope="request" value="${deviceClass == 'tablet' || deviceClass == 'smartphone'}" />
<c:if test="${isMobile}">
...
</c:if>
Vous pouvez remplacer cette syntaxe par une nouvelle syntaxe d'équation avec <portal-logic:if> via le nouveau paramètre deviceClass. Par exemple:
<portal-logic:if deviceClass="tablet/smartphone">
...
</portal-logic:if>
Vous pouvez désormais utiliser des équations de classe d'appareil dans des sous-contributions de module, dans des fichiers .json de contributions de thème. Par exemple:
}, {
"value":"/css/my_css_smartphone_ios.css",
"type":"smartphone+ios"
}, {
Les zones de contenu dynamique dans les modèles de thème peuvent également être entièrement modifiées à l'aide d'équations de classes d'appareil. Par exemple:
mvc:res:/hello.jsp,smartphone+ios@res:/hello_smartphone_ios.jsp,(smartphone/tablet)+android@res:/hello_mobile_android.jsp
Dans cet exemple, vous pouvez utiliser res:/hello.jsp comme URI par défaut, res:/hello_smartphone_ios.jsp comme URI pour les smartphones iOS et res:/hello_mobile_android.jsp comme URI pour les smartphones et tablettes Android.