问题标签 [magento-layout-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1709 浏览

magento - Magento: Rewritten controller can not redirect to Login page after Session time out

We have purchased the Embedded ERP Extension for Magento. We have customized it, and have rewritten few controllers also. here is a snippet from my config.xml file

Now we have an interesting issue here. in first rewrite case if you make any action like sorting / filtering on the grid. It sends and ajax call. In normal case, if session is gone the server returned a denied json like following format

But in first case, the denied json comes in following format, the url is changed

Due to this user goes to 404 page.

Now consider the second rewrite Rule.

In this case, if session is timed out and if you make any actions on grid it refreshes the page but instead of going to login page it reports fatal error (trying to get username) After hours of Debugging we found that its the issue of layout handles.

In normal case, if route name is module/controller/action then magento loads layout handle <module_controller_action> from xml file also loads <admin_index_login>

due to that finally <admin_index_login> is rendered. In case of second rewrite magento is not loading <admin_index_login> handle therefore it shows the fatal error.

I'd appreciate any hint or help in this direction. If you guys need any other info I'll be happy to provide you. Thank you so much!

0 投票
1 回答
1213 浏览

php - Magento:订单成功的相关产品

期望的结果:

在订单成功页面上,我想显示与用户购买的产品相关的产品。

到目前为止我做了什么:

  • 包含相关产品的产品属性
  • 添加echo $this->getChildHtml('related_products_list');checkout/success.phtml
  • 扩展 product_list 并设置适当集合的块(注意:这不是重写

  • 在我custom.xml的以下添加(路径正确):

    /li>

它停止工作的地方

它呈现了我添加的 div checkout/success.phtml,但getChildHtml()调用为空。

另外,我使用Magneto Debug- 并且布局更新包含我的 XML。

我需要什么帮助

我想了解为什么这不起作用。如果我替换<checkout_onepage_success><cms_index_index>我在主页上获得所需的块(没有getChildHtml()),那么为什么它们会有不同的行为?

另外 - 理想情况下我不需要修改checkout/success.phtml文件,它应该自动输出。

我知道我错过了一些非常简单的东西,但我不知道是什么。

谢谢你。

0 投票
2 回答
17063 浏览

magento - 如何将 Magento 的分层导航块从左列移动到右列?

我知道有人问过这个问题,但我一直找不到适合我的答案。我有一个我构建的自定义模块,它在提供搜索结果时也会搜索 CMS 静态页面。在这个模块中,我有一个更新布局 xml 的文件。我确定我的 xml 正在加载。出于某种原因,我尝试删除或取消设置分层导航并将其移动到右列都没有结果。以下是我的代码,我希望有人能帮助指出我的错误。谢谢!

0 投票
1 回答
2877 浏览

magento - 通过布局 XML 文件向 Helper 类传递参数

我有一个工作链接被添加到top.links块中,如下所示:

最终我希望getAboutUsUrl变成getExternalSiteUrl。我希望那个函数接受参数。例如,getExternalSiteUrl('about-us')会返回类似 /the/url/about-us 的内容。但是,我似乎找不到在布局 XML 文件中发送辅助类参数的方法。我已经搜索了其他执行此操作的模块,但在我搜索的客户模块中找不到。

任何人都可以帮忙吗?

0 投票
1 回答
1252 浏览

php - 在 Magento 中以编程方式设置块的位置

我想在 Magento 中以编程方式设置块的位置。

例如,我希望可以将块的位置设置为:

  1. 在产品查看页面的“内容”下方

  2. 在侧边栏中(左/右)

  3. 在任何其他块之前/之后。

请建议这样做的方法。

0 投票
1 回答
478 浏览

php - Mageneto目录类别布局xml句柄?

所以我遇到了一个奇怪的问题。我正在尝试通过锁定与此 URL 对应的控制器操作的句柄来进行布局更新:“.../index.php/admin/catalog_category/index/”。

本质上,在管理面板中,当用户单击目录-> 类别-> 管理类别时,这就是显示的 URL。在我自己的模块中,我尝试使用以下更新锁定此控制器操作:

我不确定为什么这不能正常工作。我很难弄清楚为什么没有添加我的块。

感谢您提供的任何帮助!

编辑: 另外,我忘了提到在我的块的构造函数中,我只是在呼应“到这里”并杀死应用程序。我已经使用其他句柄和控制器操作测试了该块,以确认该块正在正确加载。我还在我使用的 xml 文件中放置了其他句柄,以确保正在加载 xml 文件。

更新 我尝试使用 alanstorm 在此 url 提供的 LayoutViewer 模块:“ http://alanstorm.com/layouts_blocks_and_templates ”。在使用这个工具时,结果发现没有手柄,这怎么可能?

0 投票
1 回答
2072 浏览

magento - Magento 布局和分层导航

我正在尝试创建一个自定义页面,我使用空模板为其提供以下 XML。

在我的控制器中,我有

在我的布局中,我有

这工作正常,并显示分层导航。

但是,我希望在brands.phtml 模板中显示分层导航。因此,我尝试执行以下操作:

但是,当我在brands.phtml 中调用getChildHtml("catalog.leftnav") 时,这似乎不起作用。

如何将分层导航转移到我需要在brands.phtml中调用它的位置?

因此,当我查看“Magento 调试”中的“渲染块”部分时,似乎加载了该块。但是,没有生成 HTML。是否有规定分层导航必须位于左/内容/右块或其他内容中?

谢谢

0 投票
2 回答
5247 浏览

magento - CSS 文件的顺序。在主题的 CSS 之前加载模块的 CSS

如何更改 CSS 文件的顺序以在主题的 CSS 之前加载模块的 CSS?以下是一些代码示例:

在主题的local.xml中添加了主题的 CSS 文件(在所有页面上加载):

在模块的 XML 布局文件中添加了扩展的 CSS 文件(仅在类别页面上加载):

这是我在类别页面上加载的 CSS 文件的顺序,扩展的 CSS 在主题的 CSS 之后加载:

  • /default/mytheme/css/styles.css
  • /default/mytheme/css/theme.css
  • /default/mytheme/css/ extension.css

我想要实现的目标:扩展的 CSS 在主题的 CSS 之前加载。
我怎样才能强制这个 CSS 文件的顺序:

  • /default/mytheme/css/styles.css
  • /default/mytheme/css/ extension.css
  • /default/mytheme/css/theme.css

我注意到,如果我安装了许多扩展,则某些扩展的 CSS 在主题的 CSS 之前加载,而其他一些扩展的 CSS 在主题的 CSS 之后加载。我认为它与 Magento 中模块的顺序有关,但我不明白如何影响前端 CSS(或 JavaScript)文件的顺序。

0 投票
1 回答
722 浏览

magento - Magento - 从块中删除 setTemplate 操作

我正在扩展在其布局 XML 文件中调用的 CatalogSearch/Advanced/Result 块:

<reference name="root">

<action method="setTemplate"> ...

在显示此块时设置特定的根模板。我想通过我自己的 xml 文件撤消此操作。我可以通过简单地将模板设置为我自己的 xml 文件中的默认根模板来“撤消”此操作,但是,我正在寻找的是一种取消设置模板的方法,这样我就不必指定要使用哪个根模板使用并简单地使用默认的根模板(就好像在 CatalogSearch/Advanced/Result 块的布局 xml 中不存在 setTemplate 语句一样)。

这可能吗?

谢谢。

0 投票
2 回答
4305 浏览

php - 从 Magento 模板中删除所有块

我想从我的自定义 Magento 模块的模板/布局文件中删除所有默认块。目前我已经使用了个人删除,例如

我希望输出cart.phtml不应包含 Magento 的任何代码,而应仅包含其中编写的代码。

现在,当我运行http://127.0.0.1/mag/index.php/module/cart/它时,它会输出一个包含所有其他标签的完整HTML页面。<html>, <head>, <body>如何删除这些标签?我只想获得写在module/cart.phtml.

有什么方法可以删除/防止 Magento 中的默认布局呈现?