1

刚刚熟悉(足够)Magento 1.9,并且能够进行所需的定制,我被告知一旦它出来,我们将转向 Magento v2.0。发现文件结构的差异后,我相信我可以看到将代码放置在我们使用的自定义页面的位置,但是如何将此页面从我的项目添加到静态块以供以后使用?以前,使用的方法如下(我意识到这可能不遵循最佳实践,但它有效):

  1. 在主题或核心模板目录中创建元素文件夹。例如。/app/design/frontend/<theme>/default/template/myelement/mypage.phtml
  2. 使用内容编辑器中的以下内容将此页面/元素添加到静态块:

    {{block type="<theme>/default" template="myelement/mypage.phtml"}}

然后可以根据需要将此块添加到类别页面。

在 Magento 2 中,我尝试了我认为需要的方法,即复制文件结构并向其中添加 phtml 文件,因此模板文件现在位于:

/app/code/<supplier>/<module>/view/frontend/templates/mypage.phtml

在内容编辑器中添加以下内容:

{{block type="<supplier>/<module>" template="mypage.phtml"}}

不幸的是,这不会显示预期的页面(元素)。它也不显示调用“{{block”条目,这通常发生在该行无效时,所以我只能假设我缺少指向此模板的链接的某些内容。

如果有人可以为此提供一些帮助,我将不胜感激。

编辑:对此的持续研究使我得出以下假设:

  1. Magento 2 需要的不仅仅是一个新的 .phtml 页面,即使是简单的自定义也是如此。
  2. 我仍然缺少一些东西......

经历了 3 个关于为 Magento 2 创建新模块的不同教程,每个教程都提供了略有不同的方法,但基本上是相同的,我现在有了我认为应该是所有代码元素来制作一个新的 .phtml 模板以显示在静态块。

但是,这导致了另一个问题。虽然我有所需的代码,但我无法添加模块。将模块添加到 etc/config.php,正如 3 个教程中的 2 个所建议的那样,当您尝试清除缓存时,管理员和前端都会崩溃 M2。这是手动清除 var 目录中的缓存文件夹后的情况。

此外,仍然无法使用内容编辑器将 .phtml 模板文件添加到静态块或页面。

这里没有多少头发可以拉出来,所以寻求帮助!提前致谢

4

3 回答 3

1

GitHub 上有一些示例,包括https://github.com/magento/magento2-samples/tree/master/sample-module-newpage,它显示了一个使用非常简单的 PHTML 模板文件添加新页面的模块。但是,此示例不使用 CMS 内容编辑 - 它是基于使用布局文件的示例。

你提到你正在崩溃。需要更多细节来帮助解决这个问题。如果您解决了问题,您能否更新此问题并接受回复以将其关闭?谢谢!

于 2015-08-11T04:53:24.870 回答
0

您应该尝试“类”而不是“类型”。所以你的代码应该是这样的。

{{block class="<package>\<module>\Block\MyBlock" template="mypage.phtml"}}
于 2015-06-21T08:03:11.630 回答
0

您应该尝试“VenderName_Modulename::myelement/mypage.phtml”而不是“myelement/mypage.phtml”。所以你的代码应该是这样的。

 {{block class="VenderNameModulename\Block\MyBlock" template="VenderName_Modulename::myelement/mypage.phtml"}}
于 2017-04-18T09:51:10.823 回答