derhaeuptling / contao-mobilecontent
Contao开源CMS的MobileContent扩展
Requires
- php: >=5.4.0
- codefog/contao-haste: ^4.17
- contao-community-alliance/composer-plugin: ~2.4 || ~3.0
- contao/core-bundle: ~3.5 || ~4.1
README
此扩展允许您在移动或桌面设备上显示或隐藏特定文章、内容元素和前端模块。图像字段已扩展 - 您现在可以为移动设备添加不同的图像。
它默认通过识别访客的用户代理来显示适当的内容。
如果您使用CDN缓存页面,则可能需要启用单独的移动域(见下文说明)。
此扩展与Contao 3和4兼容。
切换内容
要切换内容,您可以编辑元素设置或简单地使用列表视图中的图标。
不同的移动图像
要为移动设备使用不同的图像,请检查任何带有图像的元素的“不同的移动图像”。
移动域
在网站根设置中,您可以启用专门用于移动设备的域。
如果启用了移动域,则移动和桌面布局将仅通过域名区分。
前端模块
为了方便在桌面和移动域名之间切换,您可以添加移动/桌面切换前端模块,该模块显示有关并行域的简要信息,并允许访客切换到适合其设备的网站版本。
自动重定向
当启用自动重定向时,在访客被重定向到正确版本的页面之前,脚本将向 <body>
元素添加 mobile-content-redirecting
CSS 类。
注意:当此功能启用时,切换链接将获得额外的哈希参数。当用户访问带有该参数的页面(例如,通过点击链接)时,将设置cookie以防止再次重定向。这允许例如,移动访客在第一次页面查看时被重定向到网站的移动版本,但他们仍然可以通过明确点击链接来查看桌面版本。
通过视口检测移动/桌面
如果Contao默认的通过用户代理进行移动/桌面检测不符合您的需求,您可以选择激活通过视口宽度进行检测。
由于此检测是通过JavaScript完成的,因此需要在布局中添加移动/桌面切换前端模块。
插入标签
mobile::toggle
添加一个链接以在桌面和移动视图之间切换。此链接具有 mobile_toggle
和 desktop
或 'mobile' 类,对应于链接的目标(而不是页面类型!)。
mobile::toggle_url
将被当前不活跃的视图模式的URL所替换。
mobile::toggle_text
将被语言变量$GLOBALS['TL_LANG']['MSC']['toggleDesktop'][0]
或$GLOBALS['TL_LANG']['MSC']['toggleMobile'][0]
的内容所替换。这通常是mobile::toggle
创建的标准切换链接的文本。
mobile::toggle_title
将被语言变量$GLOBALS['TL_LANG']['MSC']['toggleDesktop'][1]
或$GLOBALS['TL_LANG']['MSC']['toggleMobile'][1]
的内容所替换。这通常是mobile::toggle
创建的标准切换链接的标题。
mobile::alternatives::alternative_desktop:alternative_mobile
此插入标签仅显示两种替代内容之一alternative_desktop
或alternative_mobile
,具体取决于当前激活的视图类型。注意:插入标签中最后两部分的中间有一个单独的分号。
ifmobile [...] endifmobile, ifndesktop [...] endifndesktop
如果内容出现在桌面页面上,则跳过起始和结束标签之间的内容。
ifdesktop [...] endifdesktop, ifnmobile [...] endifnmobile
如果内容出现在移动页面上,则跳过起始和结束标签之间的内容。
开发者
检查当前页面是否为移动页面
$GLOBALS['objPage']->isMobile
模板示例
<?php if ($GLOBALS['objPage']->isMobile): ?> mobile content <?php else: ?> desktop content <?php endif; ?>