Magento:仅使用本地 XML 进行布局更改

标签 magento magento-1.4

我对 magento 还很陌生,我想自定义商店前端。

我正在使用 Magento 1.4.1,并且计划对新模板的 local.xml 进行所有设计修改。

我的疑问是是否可以仅使用 local.xml 更改布局结构。我的意思是不更改 phtml 文件。

我希望能够实现的一个简单示例是: 我想将目录搜索放在 html 的另一部分中,而不是像今天一样放在 中。所以我想将其从顶栏中删除并将其放入另一个 div 中。

<div class="top-bar">
<div class="breadcrumbs">
    <ul>
                    <li class="home">
                            <a href="http://www.domain.com/magento/" title="Ir para página principal">Principal</a>
                                        <span>/ </span>
                        </li>
                    <li class="category9">
                            <strong>Product Category</strong>
                                    </li>
            </ul>
</div><!--breadcrumbs-->
<form id="search_mini_form" action="http://www.domain.com/magento/catalogsearch/result/" method="get">
    <div class="form-search">
        <label for="search">Pesquisar</label>
        <input id="search" type="text" name="q" value="" class="input-text" />
        <button type="submit" title="Ir" class="button"><span><span>Ir</span></span></button>
        <div id="search_autocomplete" class="search-autocomplete"></div>
        <script type="text/javascript">
        //<![CDATA[
            var searchForm = new Varien.searchForm('search_mini_form', 'search', 'Procurar em toda a loja...');
            searchForm.initAutocomplete('http://www.domain.com/magento/catalogsearch/ajax/suggest/', 'search_autocomplete');
        //]]>
        </script>
    </div>
</form>
</div>   <!--top bar-->

我该如何实现这个目标?是否可以仅使用 local.xml?

提前致谢并致以最诚挚的问候

最佳答案

实际的答案是“不,你不能那样做”。

您想要做的事情在理论上是可能的,尽管需要完成的工作量及其值(value)是值得怀疑的。

您使用 local.xml 来添加、删除 block 以及与 block 交互。每个 phtml 文件都有一个与布局中的某些内容相对应的父 block 。您无法通过布局 XML 更改 phtml block 的呈现方式,除非 block 和 phtml 包含允许这样做的逻辑。

理论上,你可以

  1. 识别负责渲染特定模板的类
  2. 创建一个新的 Block 类来扩展此类(而不是覆盖)
  3. 更改 local.xml 中的添加代码以替换 block 类
  4. 在新的 block 类中重写 View 渲染方法,以便它调用父 View 渲染方法,然后在返回其值之前尝试更改返回字符串的结果

同样,所有可能,但值(value)值得怀疑。

为什么要犹豫将默认主题中的 phtml 文件替换为您自己主题中的 phtml 文件?

关于Magento:仅使用本地 XML 进行布局更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307829/

相关文章:

php - Magento,将产品名称传递给联系表

php - 如何编辑Magento的API函数 "items()"获取商品的ImageUrl

php - Magento 查询速度慢

javascript - 侧边栏购物车以不同方式列出元素 magento

mysql - 获取状态为 "shipped"且状态为 "wire transfer"未付款的所有订单

magento - 如何从已购买或购物车产品中获取分组产品 ID

php - 使用常规登录密码保护 Magento Storeview

sql - 在 magento catal 中按 2 个属性对产品进行排序

php - 获取 Magento 前端包含的所有 JavaScript 文件的列表?

magento - 处理 magento session 超时