Magento 通过系统变量动态更改布局

2023-12-21

有没有一种方法可以通过使用在我们自己的模块上设置的系统变量来动态更改 Magento 页面(比方说产品类别页面)的布局?我希望能够通过我自己的模块管理配置面板设置我的类别页面的默认布局。这样,每次我想要更改某个 magento 页面的默认布局时,我就不必处理那些令人困惑的 XML 布局文件。

我知道,在 phtml 文件上,我们可以通过调用简单地调用我们自己的模块的系统变量Mage::getStoreConfig('module/scope/...')使用该系统变量。但是如果我们想使用该系统变量来更改默认在 XML 布局文件上设置的整个布局该怎么办?

我没有看到任何方法可以在 XML 布局文件中提取该系统变量值。

但我很确定一定有一个正确的方法来做到这一点。到目前为止,这是我得到的最接近的线索

Magento - xml 布局,指定 ifconfig 的值? https://stackoverflow.com/questions/5596193/magento-xml-layouts-specify-value-for-ifconfig

但是,我仍然找不到我真正想要实现的目标的任何直接答案

这是我的 config.xml 的内容

<config>
    <modules>
        <Prem_Spectra>
            <version>0.1.0</version>
        </Prem_Spectra>
    </modules>

    <global>
        <models>
            <spectra>
                 <class>Prem_Spectra_Model</class>
            </spectra>
        </models>

        <helpers>
            <prem_spectra>
                <class>Prem_Spectra_Helper</class>
            </prem_spectra>
        </helpers>

    </global>
</config>

使用布局 xml 和帮助程序中的简单方法可以轻松实现这一点。我认为这里没有任何对观察员的要求或任何其他过于复杂的内容。

因此,根据您从自己的模块存储配置值更改所有类别页面布局的要求,您将需要在布局 xml 中添加以下内容:

<catalog_category_view>
    <reference name="root">
        <action method="setTemplate">
            <template helper="yourmodule/switchTemplate" />                  
        </action>
    </reference>
</catalog_category_view>

以及模块默认帮助程序中的以下内容:

public function switchTemplate()
{
    $template = Mage::getStoreConfig('path_to/yourmodule/config');
    return $template;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Magento 通过系统变量动态更改布局 的相关文章

  • Magento 外部登录不会创建会话 cookie

    我正在尝试从外部站点替换 Magento 的相当笨拙的 ajax 登录 该网站使用 Magento 作为商店 站点和 magento 商店都有自己的登录信息 因此当用户登录时 两者同步非常重要 这是通过每次页面重新加载时进行 ajax 调用
  • Magento:查找包含产品的订单

    Magento 有没有办法找到包含给定产品的所有订单 如果可以通过管理面板来完成就更好了 报告 gt 产品 gt 订购的产品向我提供了产品销售的日期以及包含该产品的订单数量 但我需要知道哪些特定订单包含该产品 谢谢你 这个问题我在另一个问题
  • ScrollView 忽略子级的layout_height

    得到一个包含文本视图和编辑文本的 LinearLayout LinearLayout 位于 ScrollView 内部 ScrollView 位于另一个视图层次结构中 工作空间布局的一部分 类似于 Android 主屏幕 但这会填充父级的高
  • 多个商店和多个具有不同角色的管理员

    我毫不怀疑magento可以处理多个商店 但我想知道每个商店是否可以处理这样的特定用户 其中他们可以像管理员一样访问他们的目录 销售 库存等 但仅限于他们的特定商店 这是我的示例表示 Magento website gt Store Cat
  • 如何在android中画分区的圆?

    我想在我的应用程序中绘制这种类型的圆圈 我可以使用 Canvas 绘制圆圈 但我不知道如何进行分区 谁能建议我如何分割圆 编辑 我想画内圈内的线 提前致谢 这是满足您要求的工作代码 编辑代码 Paint paint1 new Paint P
  • Magento 使用 MAGMI 批量导入图像 - 排除图像

    谢谢阅读 我正在使用 magmi 导入超过 30 000 个带有图像的产品 问题在于图像已导入 但全部被排除 是否有任何我可以使用并获取所有图像的 SQL 查询 我使用了这个查询 但只有一行受到影响 update catalog produ
  • Magento 信用卡号与信用卡类型不匹配异常

    我正在使用 magento api 并且在创建订单时遇到了一些问题 我已经能够完成创建订单的所有工作 使其能够正常工作 我看到的问题是 当我调用创建订单的方法时 我总是遇到异常 Credit card number mismatch wit
  • 创建具有可变宽度
    的定义列表(包括 JSFiddle)

    我有一个定义列表 其中术语和定义的宽度都不同 编辑 为了澄清 当我说变化宽度时 我的意思是它们不能是固定宽度 显然 通过设置 的宽度就可以轻松实现这种效果我需要每一对并排坐着 如果需要的话可以变成多行 而不是包裹在 这是一个 JSFiddl
  • 需要解释 android 布局语法

    这是布局文件中的一行
  • SwiftUI 表单中的动态行高

    我正在向 SwiftUI 表单添加控件以帮助用户输入数据 并限制条目 尽管 Forms 有很多值得喜欢的地方 但我发现在该容器之外运行良好的东西在容器内却会发生非常意想不到的事情 并且如何弥补这一点并不总是显而易见的 计划是将数据字段显示为
  • 找不到布局变小的原因

    这是我的代码 几乎按预期工作 在讨论问题之前 请先查看代码 请原谅我的代码很长 但这可以像 java 类一样粘贴 我使用 NETBEANS JForm 设计器来获取 GUI package test import java awt even
  • 如何在 Magento 中为访客用户获取最近查看的产品

    当我想为访客用户显示最近的产品时 我面临一个问题 有什么方法可以为访客用户显示最近查看的产品 Magento 支持注册用户最近查看产品但访客用户如何显示该特定访客最近查看的产品 我正在等待您的善意回复 希望我能得到一些答复 提前致谢 这是
  • 检查前端是否管理员登录

    我编写了一个模块 其行为方式应与内联翻译相同 如果我是管理员并且已登录 我可以在前端看到一些特别的东西 但如果我不是管理员 那么我就看不到任何东西 如何让模块知道前端区域管理员已登录 UPDATE 1 为了澄清事情 我想描述一下我的模块行为
  • 如何使用模块在magento admin中创建子菜单

    我正在开发 magento 模块 我想在管理部分添加菜单 like 管理 gt 目录 gt 属性 gt 管理属性 gt 这里是我的菜单 Magento 版本 1 5 1 0 我怎样才能做到这一点 在你的模块中adminhtml xml输入以
  • 如何为ScrollView放置固定图像背景?

    我应该想要滚动视图滚动 而不是背景中的图像 将图像添加到滚动视图框架之前的视图层次结构的较高位置
  • 使用 Savon 添加产品以连接到 Magento API

    我已经有了用于在 Ruby 中列出产品的代码 但正在努力添加产品 这是我的代码 我正在使用 savon gem 进行 HTTP SOAP 请求 基于此处的代码http www polyvision org 2011 10 02 using
  • Magento:如何翻译动作标签内容?

    我有默认的 page xml 我已经添加了
  • 在RelativeLayout android中使用java动态改变TextView的位置

    我有RelativeLayout 并且RelativeLayout中有一个textview 我从服务器获取位置 如ALIGN PARENT LEFT ALIGN PARENT TOP 基于该值我想更改textview的位置 我的 xml 文
  • 如何平铺视频/创建视频蒙太奇?

    我有四个视频 我想以 2x2 的方式平铺它们来制作一个新视频 有没有一种方法可以轻松地做到这一点 最好是免费的并且在 Linux 下 我愿意编写适量的程序 也许是为了与某些库交互 但不愿意自己编写整个视频处理程序 您可能会假设输入和输出视频
  • 我可以通过编程方式选择 Android 布局文件夹吗?

    我正在构建一个 Android 应用程序 它使用不同的布局文件夹 即 Large xlarge 等 根据屏幕尺寸调整大小 唯一的问题是 我想为用户提供一种在小屏幕布局和大屏幕布局之间切换的方法 以防他们拥有无法识别 xlarge 标签的前蜂

随机推荐

  • StatelessSession 在 AbstractEntityPersister (Hibernate) 中被转换为 Session

    我正在尝试对 StatelessSession 进行简单的保存 有人能发现我做错了什么 导致 Hibernate 方法尝试将 StatelessSession 无效转换为 Session 如果有任何反馈 我将不胜感激 我的示例代码 Stat
  • python-click:格式化帮助文本

    这个问题是关于click https click palletsprojects com en 7 x 包裹 帮助的长文本未按预期显示 我尝试使用 b也一样 但似乎影响不大 cmd and powershell相同的代码有不同的结果 为什么
  • 在图像opencv上绘制矩形?

    我已经使用 python 中的 opencv 库加载了一个图像 现在我想使用鼠标绘制一个矩形 但是在绘制矩形时 矩形应该是可见的 以便绘制它的人可以以某种方式放置它 使感兴趣的对象完全可见在矩形中 但我的代码没有产生所需的输出 我的代码是
  • JQuery $('iframe').ready 为什么不起作用?

    我的父页面中有一个很长的 iframe 当您重新加载或单击 i 框架页面内的链接时 它会加载到其中 但纯窗口必须向上滚动 我尝试过各种代码示例 jquery哪个事件比这个更好 https stackoverflow com question
  • Node.js 是 Perl 和 Python 等传统脚本语言的可行替代品吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 是否有开源电子邮件消息(标头、附件等)解析器?

    是否有免费的开源解决方案将原始电子邮件消息 作为一段文本 并返回每个标头字段 每个附件和消息正文作为单独的字段 是的 对于你指出的每一种语言 我自己都在Python 中使用过 尝试仔细阅读您选择的库的库文档 注意 您可能期望有一个 不错的
  • mono:使用 monodevelop 可以进行远程调试吗?

    mono 使用 monodevelop 可以进行远程调试吗 我想远程调试在 CentOS 开发计算机上安装了 monodevelop 的远程 RHEL 服务器上运行的控制台应用程序 这对于 monodevelop 可能吗 这实际上可以通过软
  • 如何限制 haar 级联检测到的人脸数量

    我在情绪检测系统中使用 Haar 级联 我提供给模型的每个视频输入中只有一张脸 这是一项要求 当我运行 Haar 级联模型来检测人脸时 它有一些误报 由于视频中只有一张脸 因此我想选取检测到的最积极的区域并忽略所有其他检测 有没有办法做到这
  • 使用 htaccess 阻止所有人,除了来自特定引荐来源网址的访问者

    在 htaccess 中 如何阻止除来自特定域的访问者之外的所有访问者 我尝试了这个但没有成功 serve everyone from specific domain or specific user agent RewriteCond H
  • 在 Sitecore 中自定义子布局缓存

    在 Sitecore 中使用 WebControls 时 有一种方法可以自定义缓存行为 override获取缓存ID方法 有没有办法通过子布局 用户控件 实现类似的效果 我想添加自定义 VaryBy 选项 示例 Vary By Moon P
  • 仅保留数组中每个对象中选定的键[重复]

    这个问题在这里已经有答案了 下面 函数redux1删除与未列出的键相对应的条目keys to keep from data object 鉴于我有一个要保留的对象键列表 我该如何重写redux1以更清洁的方式 最好利用map filter
  • C++ 输出字符串没有 '\n' 或 endl 将在字符串末尾输出 '#'

    在ubuntu16 04上 我使用g 编译这样的代码 include
  • 大使回应“上游不健康”

    我有一个简单的 k3s 集群 并按照以下方式安装了大使入口控制器docs https www getambassador io yaml ambassador ambassador rbac yaml 当我尝试通过浏览器访问该服务时 我只是
  • 从列表中删除重复项的最有效方法

    假设我有一个包含重复值的列表 并且我想删除重复项 List
  • 如何让onFormSubmit自动触发?

    您提供的 修复 test onformsubmit 代码 每次电子表格中有新数据时我都必须手动运行它 我希望它在提交表单时自动将 pdf 发送到电子邮件 有办法吗 因为手动方式运行的代码与预期的完全一样 但我希望将其作为自动事件 因此我不必
  • 将存储导出到另一台计算机

    我需要一种将隐藏的更改导出到另一台计算机的方法 我在电脑1上做了 git stash save feature 我正在尝试将隐藏补丁获取到文件 然后将其导入到另一台计算机 git stash show p gt patch 此命令为我提供了
  • OpenFileDialog多选问题

    我有标准的 OpenFileDialog var openFileDialog new OpenFileDialog DefaultExt mpo Filter Image file mpo Multiselect true Restore
  • Android Studio 模拟器 E/AudioFlinger 错误消息

    当我从 AVD 管理器启动任何设备时 它只会无限循环此错误消息 E AudioFlinger read failed framesRead 1 当我创建新设备时它甚至会这样做 是否启用 使用主机 GPU 并不重要 当我启动应用程序时 它通常
  • Log4net:每个类的单独日志文件

    我想记录来自多个班级的消息 问题是 目前我可以将所有消息记录到单个文件中 我想要执行此操作 A 类应将其消息记录到 ALog txt B 类应将其消息记录到 BLog txt 请告诉我这些设置的示例配置文件 除了rootlogger 您可以
  • Magento 通过系统变量动态更改布局

    有没有一种方法可以通过使用在我们自己的模块上设置的系统变量来动态更改 Magento 页面 比方说产品类别页面 的布局 我希望能够通过我自己的模块管理配置面板设置我的类别页面的默认布局 这样 每次我想要更改某个 magento 页面的默认布