【问题标题】:Can't overwrite smarty block in OXID eShop无法覆盖 OXID eShop 中的 smarty 块
【发布时间】:2017-04-05 10:10:58
【问题描述】:

我正在为 Oxid E-shop 制作新插件。在我的元数据文件中,描述、标题、徽标完美运行,我可以在后端看到插件,但是当我激活插件时,前端没有任何变化。块不会被覆盖。

/modules/myModule/metadata.php

'blocks' => array(
    array(
        'template' => 'layout/footer.tpl', 
        'block' => 'footer_main', 
        'file' => '/views/blocks/layout/footer.tpl'
)

我现在只有一个简单的页脚示例。

/modules/myModule/views/blocks/layout/footer.tpl

[{block name="footer_main"}]
    <div class="footer-base">Schuberth test !</div>
[{/block}]

应覆盖的模板位置:/application/views/azure/tpl/layout/footer.tpl

【问题讨论】:

    标签: php smarty e-commerce oxid


    【解决方案1】:

    它应该确实可以工作,至少对于 >= 4.8 的版本
    检查您的块条目是否保存在数据库表 oxtplblocks 中。
    有时 OXID 不会在您向 metadata.php 添加新条目后更新缓存的元数据,在这种情况下请尝试增加模块版本。
    还要检查你的文件名是否有错别字。

    如果一切都正确无误,您应该发布完整代码并告诉我们您的商店版本。

    【讨论】:

    • 感谢oxtplblocks,我发现模块的id太长了
    【解决方案2】:

    在数据库中打开oxtplblocks 表发现了一个错误,OXMODULE 列有 32 个字符,并且我的模块 ID/目录名称较长,因此其余名称被截断。

    我在其他来源发现模块 ID 不应超过 20 个字符。

    【讨论】:

      【解决方案3】:

      有时您需要清除缓存 (tmp)。这对我来说最有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-19
        相关资源
        最近更新 更多