Magento 自定义类别小部件未出现在舞台服务器上

Posted

技术标签:

【中文标题】Magento 自定义类别小部件未出现在舞台服务器上【英文标题】:Magento custom category widget not appearing on stage server 【发布时间】:2014-04-06 18:34:14 【问题描述】:

我关注了这个(第一条评论), magento - category name and image in static block? 创建一个简单的小部件来显示来自 CMS 页面上的静态块的类别图像和标题。它在我的本地 MAMP 版本的 Magento Enterprise 1.13.0.2 上运行良好。但是它在舞台/测试环境 Magento 1.13.1.0 上不起作用。 (ubuntu)。

它没有错误,就好像它忽略了模板文件(info.phtml)。当我恢复到默认主题时,我意识到我必须将模板文件复制到默认的企业文件夹才能使其正常工作,但确实如此(本地版本)。我已确保模板文件夹位于每个主题中,基础、企业(默认)、MyTheme(默认(企业默认)和(MyTheme / MyThemeVariant))。

在本地和舞台之间似乎不同的唯一设置/配置是漂亮的 url 在本地不起作用。我已经查看了 htaccess,但仍然没有解决。在这两个版本上,本机类别链接小部件都不起作用,但我不确定这是否相关。

我已禁用任何扩展,关闭缓存并清除索引。还是什么都没有。

我一直在寻找答案,追溯我的步骤,更改和更改我认为可能与 3 天相关的任何设置,所以我被困住了。任何人都可以提供尝试的任何东西,我都会试一试。

【问题讨论】:

您是说小部件在登台服务器的后端完美运行?您可以将其添加到 CMS 内容中,是吗?但是当您查看前端时没有显示任何小部件,这意味着 info.phtml 文件有问题? (但这是 Magento,所以这并不意味着 phtml 文件有问题)。我认为企业有几个不同的缓存(标准和整页),你的登台 Web 服务器也可能有一些缓存。 感谢小马拉奇的留言,抱歉回复晚了,我才看到这个。你已经正确地理解了情况。我禁用了缓存管理下的所有缓存。我还需要查看其他缓存吗? 【参考方案1】:

所以在 Magento Enterprise 中还有一个完整页面缓存,您可以在此处通过 Magento 管理员访问:系统->配置->系统->高级->外部完整页面缓存设置。

在系统->缓存管理页面上,以及禁用所有缓存,您应该刷新 Magento 缓存和缓存存储。

您可能有一个名为 Redis 或 APC 的“缓存”,但我认为这不会影响 .phtml 输出。如果您可以访问后端的小部件,我不认为这些项目是问题。

您的网络服务器可能有一个完整的页面缓存,例如 Varnish,但我不知道如何使用它或打开或关闭它。

理论上,您的网络服务器标头可能会说“此页面未更新,因此互联网提供商可以将本地副本存储在其缓存中” - 但如果是这种情况,我会感到惊讶(检查您的标头并检查 Cache-control @ 987654322@ 和 Last-modifed 标头,如果您想消除这种可能性)。

您的浏览器可能有自己的小缓存(您可以从浏览器设置中清除)。

如果不是缓存问题,根据我的经验,.phtml 文件如果其中包含 php 错误,则会被跳过,但您可以在本地开发服务器上运行它。会不会是文件权限问题?它可能是您的服务器上的小部件中的一个设置,您的小部件 .phtml 没有处理吗?作为最后的手段,尝试将您的小部件 .phtml 更改为一个非常简单的文件,如 <?php echo('test PHP output'); ?> 并查看它是否呈现 - 尝试将小部件放在不同的页面上(即不会在任何地方缓存的新页面),看看是否得到了一切通过。

您会不会与另一个模块发生命名空间冲突?例如,一个 XML 文件正在更改设置 .phtml 模板的小部件块 XML 名称?您的 widget.xml 文件是否声明了<supported_blocks>...</supported_blocks>,这可能不包括您尝试将小部件呈现到其中的块?

还有什么?您提到此小部件显示类别信息:您指的是暂存服务器上存在的类别吗?它可能具有与您的开发服务器不同的类别 ID 和/或检查该类别在网站和商店中是否可见。

好的,我想我现在没有主意了。

【讨论】:

【参考方案2】:

问题是“Block” php 文件的第一个字母是小写的。我将它从 info.php 更改为 Info.php,现在一切正常。

这是迄今为止对 Magento 进行的最令人沮丧的一次调查。我唯一希望的是,它可以为某人减轻痛苦。

【讨论】:

以上是关于Magento 自定义类别小部件未出现在舞台服务器上的主要内容,如果未能解决你的问题,请参考以下文章

自定义 wordpress 小部件的设置未显示

Servicenow:表格中的自定义附件小部件未在提交时上传文档

自定义 django 小部件 - decompress() arg 未填充

自定义小部件中的 dojo 数据网格未呈现

小部件标题未显示在我的自定义 WordPress 主题中

Magento 类别元标题随自定义模板消失