我在Magento的design
目录中有一个地址簿编辑表格的自定义模板:
<layout>
<customer_address_form>
<reference name='customer_address_edit'>
<action method='setTemplate'><template>customer/address/edit.phtml</template></action>
</reference>
</customer_address_form>
</layout>
但是,将模板保存在那里非常方便 - 我更喜欢在我的模块目录中拥有edit.phtml
。如何指向模块目录路径中的模板?我该怎么做而不是???
?
<action method='setTemplate'><template>???/app/code/local/ContactologyProduct/LogProductUpdate/layout/edit.phtml</template></action>
Breadcrumbs(&#34; ../
&#34;)用于指向外部CSS和JS文件,但它似乎不适用于模板。
答案 0 :(得分:0)
例如:您的模块名称为 vanfolmert ,在layout.xml
下方使用代码
<layout version="0.1.0">
<vanfolmert_index_index>
<reference name="content">
<block type="vanfolmert/vanfolmert" name="vanfolmert.edit" template="vanfolmert/edit.phtml"/>
</reference>
</vanfolmert_index_index>
</layout>
您的模板结构应该像
template/vanfolmert/edit.phtml
答案 1 :(得分:0)
简而言之,我们可以看到Magento Logics分为3个逻辑部分。
M - model
: - 此目录携带的应用程序的数据库通信
V - View
: - 您的fontend视图在此目录中定义
C - Controller
: - 如名称所示,它控制您的应用程序。它从模型中获取数据并提供查看。
注意:Magento无法分类为这三个部分。当我们深入研究它时,我们可以认识到其他一些逻辑分歧。但通常我们可以说它有一个MVC结构。
为什么Magento和其他几个框架都拥有MVC结构?
这个问题的答案非常重要。由于业务逻辑分为三个部分,因此易于配置和操作。例如,如果您需要更改页面的标题。如果您了解MVC模型,至少可以理解,您需要编辑视图文件,而不想查看控制器和模型文件。因此,MVC结构使您的一切变得简单。
记住这一点。让我们分析一下你的问题。在layout
文件中,它设置了一个模板,它看起来像这样
<action method='setTemplate'><template>customer/address/edit.phtml</template></action>
这意味着,只要magento需要呈现您的地址表单,它就会查找此模板文件。它会在哪里看?是。你绝对是猜对了。在View
目录中。您的视图目录在哪里?嗯...这很棘手。但是一旦你绕过它,你会发现Magento的视图部分再次分为两个部分。他们是
app/design/frontend | adminhtml
- 通常包含布局和模板
skin/frontend | adminhtml
- 此目录包含css js等。
所以magento会在这个位置搜索你的文件
app/design/frontend|adminhtml/<package>/<theme>/template/customer/address/edit.phtml
其中
adminhtml
: - 包含构成magento管理员端的所有模板
frontend
: - 包含magento前视图的模板文件。
我已经详细解释了所有这些,因为在创建模块时,应该始终保留模板文件 app / design / adminhtmlfrontend /&lt; .your_package&gt; /&lt; .your_theme&gt; / template 。
您需要在此处实现的是设置模板文件。比如说,您需要将模板保存在ContactologyProduct/LogProductUpdate/
目录中,然后需要在
app/design/ntend/<your_package>/<your_theme>/template/contactlogyproduct/logproductupdate/edit.phtml
并将模板设置为
<action method='setTemplate'><template>contactlogyproduct/logproductupdate/edit.phtml</template></action>
创建非常复杂的模块时,可能有多个视图文件(模板文件)。由于您将要保存这些模板contactlogyproduct/logproductupdate
目录,将来当您需要查看模板文件时,它将变得更加容易。那是因为您知道在哪里需要查找模板文件。
注意:当您输入insdie <template/ >
时,magento会在app/desing/frontend/<your_package>/<your_theme>/template
内找到这些文件。