首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决使用相同数据库的joomla站点之间的模板冲突

解决使用相同数据库的joomla站点之间的模板冲突
EN

Stack Overflow用户
提问于 2014-01-14 01:27:35
回答 2查看 234关注 0票数 0

我有一个桌面joomla站点,它使用名为'mydatabase‘的数据库。但是,我在同一主机的一个文件夹中创建了另一个移动版本的站点。然后:

www.mysite.com是我的桌面网页。www.mysite.com/mobile是我的移动网页。

这两个网站,移动端和台式机,都是单独独立的joomla分期付款,但它们使用相同的数据库。

然后,当我尝试配置默认模板来呈现我的内容时,我必须在移动内容和桌面内容之间进行选择,但不能选择这两个。

我如何渲染我的两个模板,这样两个网站就可以一起工作和生活了?

EN

回答 2

Stack Overflow用户

发布于 2014-01-16 16:29:59

Joomla将其大部分配置选项存储在数据库中,因此您的问题需要一些编码来处理。但让我后退一步。

1. Joomla方法

Joomla允许你定义哪些页面显示哪些菜单。您可以在打开SEF的情况下进行简单的Joomla安装,其中的主菜单与当前在根目录中相同。

然后,拥有一个具有不同布局的/mobile页面所需要的就是

  1. 创建一个新菜单(不是菜单项、菜单类型)并将其命名为SEF或Hidden;这将不会发布为菜单中具有别名“anywhere.
  2. Create”的菜单项。

这将确保您的用户能够浏览到页面/mobile并访问该菜单项。

现在为站点的移动部分创建一个菜单,添加菜单项并为每个菜单项选择默认模板,然后创建一个模块来显示它。将其指定为"Show only on the selected pages“,然后选择刚刚创建的/mobile页面和菜单中包含的任何其他页面。

然后返回主菜单模块,将其配置为"Show on all pages except",并进行相同的页面选择。

现在您将有两个菜单,一个用于桌面,另一个用于移动设备。除了模板分配之外,它们将是相同的。

2.第三方扩展

有一些第三方插件允许您根据以下几个参数定义不同的模板:国家、用户代理、屏幕大小等。

除了您在JED上找到的内容之外,许多模板(主要是商业模板)还具有为移动用户定义自定义布局的功能。

你是用插件还是用模板来处理这个问题是个人选择的问题;两者都会非常有效,而且比我上面概述的Joomla答案更合适,因为它们将帮助你防止重复。复制内容或菜单项的成本很高,因为维护和测试将变得更加困难。

票数 0
EN

Stack Overflow用户

发布于 2014-01-17 08:42:19

我认为你这样做的方式与普通的Joomla方法有很大的不同(这将是有一个响应式模板或者让模板的index.php根据设备加载不同的子文件),但让我们假设你有你的原因。

因此,您拥有相同的数据库,这意味着所有菜单都是相同的,所有模块分配都是相同的,所有模板分配都是相同的,默认模板样式也是相同的。

现在,在Joomla中也存储了模板样式。这是一个由多个模板选项组成的json字符串。

简单的情况下,让我们假设移动和桌面模板都有相同的选项。

现在,在移动站点的templates文件夹中,我们将拥有移动模板。

将其称为mytemplate。

在桌面站点中,您有一个桌面模板。将其命名为mytemplate。安装一次。

因此这些模板具有相同的名称,但因为它们位于两个不同的物理站点中,所以它们位于两个不同的物理模板文件夹中,一个在移动站点中,另一个在桌面站点中。

现在我们将mytemplate style-1设为默认值。在移动站点中,这将始终加载移动模板,而在桌面站点中,它将始终加载桌面模板。

现在,假设我们将mytemplate style-2指定给新闻菜单项。同样,根据调用该模板的实际站点使用适当的模板。

现在更棘手的是,如果你没有相同的参数。这很可能是因为您需要的设置会有所不同。在这种情况下,您需要做的是确保在templateDetails.xml中定义的参数包括这两个集。因此,如果您创建了一个新样式,则需要始终为这两个模板设置参数。这实际上会很有帮助,因为你不需要配置两次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21097572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档