用于创建在OpenCMS上运行的网站的移动版本的选项?

时间:2012-09-14 07:15:21

标签: web opencms mobile-website

我的客户有一个使用OpenCMS开发的现有商业网站,他们想要创建相同的移动版本。

我看过以“m”开头的网站。而不是“www。”我猜这些是访问相同数据库但独立于实际网站的网站的移动版本。当检测到的设备是移动设备时,用户将被重定向到移动版本。

但是,我还看到OpenCMS可以选择使用<cms:device type="mobile">

创建适合移动设备的模板

我对创建移动网站的了解非常有限。所以我只想知道上面两个选项中的哪一个或我不知道的任何其他选项都是正确的方向。

谢谢!

2 个答案:

答案 0 :(得分:4)

越来越多的网络开发旨在响应网页设计&#34;。你可以先阅读一下这个http://en.wikipedia.org/wiki/Responsive_Web_Design作为开头。如果没有看到实际的网站,确定最适合您的需求是非常困难的,但响应式方法可能是一个良好的开端。另一种选择是制作一个仅限移动设备的网站(m。),但由于移动平台并不像人们希望的那样,我认为移动平台正在寻找响应式替代方案。

答案 1 :(得分:3)

对于我的一些网站,我使用创建“前端”模板的方法,根据用户代理决定要包含哪个真实模板。

当然,使用这种方法,您需要创建两个不同且独立的模板,一个用于站点的完整桌面版本,另一个用于移动版本。当然,你仍然可以在它们之间共享css,图像和JavaScript。

从现在开始,我会采用响应式设计来回答jthemans的答案。

但是如果你没有大预算,并且需要快速提出解决方案,那么distinct-template-approach会更快。

无论如何,这是我提到的简单的“前面”模板:

<%@ page session="false" %>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:choose>
<c:when test="${    fn:contains(header['User-Agent'], 'Android') or
                    fn:contains(header['User-Agent'], 'iPhone') or
                    fn:contains(header['User-Agent'], 'iPod')
}">
    <cms:include page="/templateMobile.jsp" />
</c:when>
<c:otherwise>
    <cms:include page="/templateFull.jsp" />
</c:otherwise>
</c:choose>