更新模板的正确方法是什么?


12

当前,要更新生产站点上的模板,我们使站点脱机,更改模板,卸载模板,重新安装,将模板设置更改回,然后使站点恢复在线。我通常不喜欢出于任何原因关闭该网站,并且此过程会出现错误,尤其是仅用于几页的模板。组件等可以轻松更新,但似乎模板中省略了相同的功能。

是否有更好的方法来处理模板更新,从而避免使网站脱机?


您要在模板上更新哪些类型的更改?这些是自定义模板还是来自第三方提供商的模板?
大卫·弗里奇

@DavidFritsch我们使用的模板是针对我们的站点定制的。更改通常包括对JavaScript或CSS的修改,例如对Twitter Bootstrap或其他框架的升级。
Zachary Draper 2014年

我是Joomla的新手,所以也许我错过了biggy,但是在编辑自己的模板(带有CSS / JS等的完全自定义模板)时,我似乎跳过了大多数步骤-我相信您正在这样做-而不是更新第三方模板。最初在Joomla中创建并安装后,我根本就不会“使用Joomla”。我直接在开发服务器上编辑文件(刷新浏览器以进行检查),并在完成后推送到实时站点。无需卸载,重新安装,更改设置或停机。这不好吗?我错过了什么?(这是另一个问题吗?!)
怀特先生

Answers:


12

升级模板应该与使用Joomla安装程序上传和安装模板的更新版本一样简单。

但是,要使其正常工作,templateDetails.xml文件必须将“方法”定义为“升级”,而不是“安装”。

您可以通过解压缩模板安装文件,打开templateDetails.xml文件并在第3行或第3行周围检查以下内容来进行检查:

<extension version="2.5" type="template" method="upgrade" client="site">

如果为method="install",请将其更改为method="upgrade",然后保存文件。压缩软件包,然后将安装程序指向该软件包,您应该一切顺利。

关于自定义的说明:此过程将上传完整的模板,可能会覆盖您已完成的所有自定义。因此,最好将您可能要进行的所有自定义添加到单个文件中,以方便备份和重新添加。我喜欢使用一个名为“ custom.css”的CSS文件,并最后加载该文件,以便我的自定义设置覆盖默认设置。


添加method =“ upgrade”正是我所缺少的。谢谢!
Zachary Draper

乐意效劳。玩得开心!
Zaridan 2014年

Joomla版本之间的过程是否有所不同?
MrWhite 2014年

method =“ upgrade”在Joomla的各个版本中都是相同的(抱歉,我最初错过了这个问题)
Zaridan 2014年

3

如果您对模板没有任何自定义更改-只需在当前模板上安装新模板即可。

如果您进行了一些自定义更改,则需要重做更改或区分当前模板代码和新模板代码。


我不确定我是否了解。我认为您不能在较旧的模板上安装较新版本的模板。Joomla!返回“警告模板安装:已经有一个使用命名目录的模板:安装。是否要再次安装相同的模板?” 然后出现“安装模板时出错”。
Zachary Draper 2014年

5
如果收到这样的警告,则最有可能是因为清单文件没有定义正确的方法。检查模板的xml文件中已定义的方法,如果将其设置为“ install”,则将其设置为“ upgrade”。有关清单文件的更多信息,请访问:docs.joomla.org/Manifest_files
Zaridan 2014年

1
@Zaridan我认为您已经抓住了重点。您应该将其添加为答案,并包括一些相关代码以使其起作用。
大卫·弗里奇

1

有一些高级登台选项。我认为Siteground就像这样。有一些方法可以替换站点的某些部分而不会覆盖所有数据库表,因此,如果您有足够的时间和资源进行研究,可以做到这一点……这只需要花费一些良好的设置时间(让您的大脑绕开它)。

但是,如果您要在几页上更改主题,为什么不干脆以不同的名称上载新主题,并在处理它时将其应用于某些隐藏的菜单项。没有人会看到它,您可以调整设置,然后在完成后将其应用到正确的菜单项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.