magento 2自定义phtml页面

时间:2015-06-19 08:26:04

标签: magento templates static-block magento2

刚刚与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"}}

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

    在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. 经历了3个不同的教程,为Magento 2创建新的模块,每个都提供了稍微不同的方法,但从根本上说是同样的事情,我现在拥有我认为应该是所有代码元素来制作新的.phtml模板显示在静态块中。

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

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

      没有多少头发留在这里,所以寻求帮助!提前致谢

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

你应该试试&#34; class&#34;而不是&#34;键入&#34;。所以你的代码应该是这样的。

{{block class="<package>\<module>\Block\MyBlock" template="mypage.phtml"}}

答案 2 :(得分:0)

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

 {{block class="VenderNameModulename\Block\MyBlock" template="VenderName_Modulename::myelement/mypage.phtml"}}