1

一位客户要求我将 Magento 的客户控制面板与一些附加信息集成,以便从外部 Web 服务中检索。目前,我有一些小的独立代码可以查询此类 Web 服务并检索必要的数据。我需要做的是在 Magento 中集成这些代码并在控制面板上显示数据。

从我所见,最快(也是最肮脏)的方法是将调用“残酷地”硬编码到dashboard.phtml文件中。数据并不太复杂,因此这可能是让概念验证快速运行的一种选择。

但是,我想在多个网站上重用此功能,并且它还需要一些配置,将其作为硬编码变量进行维护会很痛苦。此外,以上是一个黑客,不仅仅是一个解决方案。

很明显,我需要开发一个合适的模块。

这个问题
我知道如何创建一个基本模块,它的配置页面和一个简单的控制器。我想了解的是,一旦我实现了一种获取外部数据的方法,如下所示:

  • 我应该把方法放在哪里,我应该如何调用它?
  • 我应该如何将数据传递给dashboard.phtml进行渲染?

我可能会找到执行上述操作的“方法”,但我很确定我最终会得到一个 hack 而不是解决方案,因此欢迎任何学习 Magento 方法的帮助。谢谢。

4

1 回答 1

1

你可以 :

  • 创建一个新模块
  • 为您的仪表板添加一个观察者 before_html 或 after_html 事件(一个在模板渲染之前调用,另一个在模板已经渲染时调用)
  • 将您的方法添加到您的观察者,该观察者将您从 web 服务收到的内容自动输出到块输出(在内容之前或之后)

你可以 :

  • 创建一个新模块
  • 创建一个包含您的网络服务方法的块
  • 使用块引用将布局处理程序添加到布局文件
  • 编辑模板并从那里调用您的块并获取此数据
  • 您也可以选择制作自己的模板并在模板中调用块输出

你可以:

  • 创建一个新模块
  • 添加模板并实现模板中的所有内容
  • 使用布局文件替换原来使用的模板
于 2012-07-09T10:19:45.370 回答