Joomla-便捷的模板升级

时间:2018-11-03 12:40:31

标签: joomla joomla-template

我最近将一个网站从Jekyll迁移到Joomla(当前为3.9)。因此,我制作了一个自己的Joomla模板。它已经在生产中,但是当然会定期进行更新。我使用了非常标准的开发/发布方法,例如1.1、1.2、1.2.1等版本。这些数字在templateDetails.xml中始终是最新的。到目前为止没有什么特别的。但这有一些非常不便的问题:

  • 每次升级模板时,都必须将其他模板/样式设置为默认模板,卸载旧版本,上传并安装当前版本,并将其样式设置为新默认模板。 确实没有更好的方法来升级模板,尤其是模板版本更高时?
  • 每次更新都会丢失我所有样式的配置。我已经将相应的默认值放入templateDetails.xml中,因此不必在每次升级时都这样做。但是我可以想象,当我在后端更改配置而不更新模板时,这可能会导致问题。这将导致升级后潜在的配置丢失。 升级时可以保留任何样式配置吗?
  • 第三,我正在考虑对网站上的不同页面使用不同的样式。这些在升级时也会丢失,所以我必须定期重新定义它们。我还必须使用这些样式重新配置所有页面以再次使用它们。 是否可以在templateDetails.xml中定义几种样式,以便将它们存储在我的zip文件中

编辑:按照Irfan的要求,这是我当前的templateDetails.xml

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.8" type="template">
    <name>####</name>
    <creationDate>2018-11-03</creationDate>
    <author>####</author>
    <authorEmail>####@####.de</authorEmail>
    <authorUrl>https://###.##.##</authorUrl>
    <copyright>SV FOO BAR e.V.</copyright>
    <license>TBA</license>
    <version>0.4.0-SNAPSHOT</version>
    <description>Joomla-Template fuer die Vereinshomepage des SV FOO BAR e.V.</description>
    <files>
        <filename>index.php</filename>
        <filename>templateDetails.xml</filename>
        <filename>template_preview.png</filename>
        <filename>template_thumbnail.png</filename>
        <filename>main.css</filename>
        <filename>favicon.ico</filename>
        <folder>images</folder>
        <folder>html</folder>
        <folder>language</folder>
        <folder>js</folder>
    </files>
    <positions>
        <position>breadcrumb</position>
        <position>left</position>
        <position>right</position>
        <position>footer</position>
    </positions>
    <languages folder="language">
        <language tag="de-DE">de-DE/de-DE.tpl_svFOOBAR.ini</language>
    </languages>
    <config>
        <fields name="params">
            <fieldset name="advanced">
                <field
                    name="sitedescription"
                    type="text"
                    label="JGLOBAL_DESCRIPTION"
                    description="JGLOBAL_SUBHEADING_DESC"
                    default="This is my slogan"
                    filter="string" />
                <field
                    name="copyright-from"
                    type="number"
                    default="2005"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COPYRIGHT_FROM"
                    description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COPYRIGHT_FROM"
                    step="1"
                    required="true" />
            </fieldset>
            <fieldset name="cookieconsent">
                <field
                    type="spacer"
                    name="cookieconsent_separator_general"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_SEPARATOR_general" />
                <field
                    name="cookieconsent_activate"
                    type="checkbox"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_ACTIVATE"
                    description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_ACTIVATE"
                    checked="1"
                    value="1" />
                <field
                        name="cookieconsent_position"
                        type="list"
                        default="top"
                        required="true"
                        label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_POSITION"
                        description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_POSITION">
                          <option value="top">TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_POSITION_BANNER_TOP</option>
                            <option value="top-pushdown">TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_POSITION_BANNER_TOP_PUSHDOWN</option>
                            <option value="bottom">TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_POSITION_BANNER_BOTTOM</option>
                          <option value="bottom-left">TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_POSITION_FLOATING_LEFT</option>
                            <option value="bottom-right">TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_POSITION_FLOATING_RIGHT</option>
                    </field>

                <field
                    type="spacer"
                    name="cookieconsent_separator_colors"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_SEPARATOR_COLORS" />
                <field
                        name="cookieconsent_color_banner"
                        required="true"
                        type="color"
                        default="#efefef"
                        label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_COLOR_BANNER"
                        description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_COLOR_BANNER" />
                <field
                        name="cookieconsent_color_button"
                        required="true"
                        type="color"
                        default="#8ec760"
                        label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_COLOR_BUTTON"
                        description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_COLOR_BUTTON" />
                <field
                        name="cookieconsent_color_banner_text"
                        required="true"
                        type="color"
                        default="#404040"
                        label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_COLOR_BANNER_TEXT"
                        description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_COLOR_BANNER_TEXT" />
                <field
                        name="cookieconsent_color_button_text"
                        required="true"
                        type="color"
                        default="#ffffff"
                        label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_COLOR_BUTTON_TEXT"
                        description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_COLOR_BUTTON_TEXT" />

                <field
                    type="spacer"
                    name="cookieconsent_separator_texts"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_SEPARATOR_TEXTS" />
                <field
                    name="cookieconsent_learnmore_text"
                    type="text"
                    default="Mehr erfahren"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_LEARNMORE_TEXT"
                    description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_LEARNMORE_TEXT"
                    filter="string" />
                <field
                    name="cookieconsent_learnmore_link"
                    type="url"
                    default="impressum-datenschutz"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_LEARNMORE_LINK"
                    description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_LEARNMORE_LINK" />
             <field
                    name="cookieconsent_message"
                    type="textarea"
                    default="Um die Funktionalität und den Inhalt der Website zu optimieren, verwenden wir Cookies. Durch die Nutzung unserer Website stimmst du der Verwendung von Cookies zu."
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_MESSAGE"
                    description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_MESSAGE"
                    rows="10"
                    cols="5" />
                <field
                    name="cookieconsent_dismiss_button"
                    type="text"
                    default="Verstanden"
                    label="TPL_SVFOOBAR_FIELDS_LABEL_COOKIECONSENT_DISMISS_BUTTON"
                    description="TPL_SVFOOBAR_FIELDS_DESCRIPTION_COOKIECONSENT_DISMISS_BUTTON" />
            </fieldset>
        </fields>
    </config>
</extension>

1 个答案:

答案 0 :(得分:2)

尝试更新扩展标签以包括升级方法:

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