我一直在 Magento 中搞乱,因为客户使用它,但对于我的生活,我无法理解 Magento 是如何加载页面的。每个页面都是一个 PHP 脚本,它从空中提取一些神奇的文件并显示它们。我已经订购了一本关于它是如何工作的书,但它暂时不会在这里。
我现在想知道的是 Magento 正在加载的实际 HTML 保存在哪里。必须有一个文件夹来保存 Magento 粘在一起的 HTML 块,是吗?
我一直在 Magento 中搞乱,因为客户使用它,但对于我的生活,我无法理解 Magento 是如何加载页面的。每个页面都是一个 PHP 脚本,它从空中提取一些神奇的文件并显示它们。我已经订购了一本关于它是如何工作的书,但它暂时不会在这里。
我现在想知道的是 Magento 正在加载的实际 HTML 保存在哪里。必须有一个文件夹来保存 Magento 粘在一起的 HTML 块,是吗?
有 3 个主要来源(按重要性排序):
app/design/<area>/<package>/<theme>/template/...
。这是最通用的 HTML 来源app/code/<pool>/<Namespace>/<Module>/Block/...
。其中一些返回直接 html 或包含有关编写和包装模板、其他块的规则。lib
. 它们可以包含 Magento 使用的 HTML。有时,HTML 也可以出现在其他位置(例如几个模型或控制器) - 但这是一种罕见/特殊的做法。
Magento's templates are located in the app/design/frontend
folder — anything with a phtml
ending is template that contains mixed PHP and HTML. There's many templates used to render a Magento page. You can get an idea of the templates involved by look at the Block tab of the Commerce Bug demo site (self link, Commerce Bug is a Magento debugging extension I created and sell, but the demo site is free) — although chances are your client's system is using a custom theme which will have it's templates in different locations.