3

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

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

但后来,我也看到 OpenCMS 有一个选项可以使用<cms:device type="mobile">

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

谢谢!

4

2 回答 2

4

越来越多的网络开发旨在“响应式网页设计”。您可以先阅读一些有关此http://en.wikipedia.org/wiki/Responsive_Web_Design的信息。在没有看到实际网站的情况下决定哪个最适合您的需求是非常困难的,但是响应式方法可能是一个好的开始。另一种方法是制作一个仅限移动的网站(m.),但由于移动平台不像人们希望的那样同质化,我的观点是转向响应式替代方案。

于 2012-09-14T07:27:34.897 回答
3

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

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

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

但是,如果您没有大预算,并且需要快速提出解决方案,则不同模板方法会更快。

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

<%@ 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>
于 2012-09-19T19:29:14.620 回答