在magento布局xml中使用条件

2023-12-20

想知道是否有人在 magento 的布局 XML 中为自定义模块使用过 or 语句?我意识到我可以检查模块控制器或块本身中的值,但它似乎是逻辑所在的逻辑位置。

Mage_Core 将它们用于catalog.xml测试 JavaScript。<!--<params/><if/><condition>can_load_calendar_js</condition>-->

谢谢, 京东


我会回避使用这些。您会注意到它们在默认的分布式社区版本中被注释掉,这可能意味着核心团队正在放弃使用它们。

如果您对它们的作用感兴趣,它们是严格属于page/head块的addItem方法。

File: code/core/Mage/Page/Block/Html/Head.php
public function addItem($type, $name, $params=null, $if=null, $cond=null)
{
    if ($type==='skin_css' && empty($params)) {
        $params = 'media="all"';
    }
    $this->_data['items'][$type.'/'.$name] = array(
        'type'   => $type,
        'name'   => $name,
        'params' => $params,
        'if'     => $if,
        'cond'   => $cond,
   );
    return $this;
}

add item 方法存储这些条件,然后在稍后的过程中使用它们getCssJsHtml跳过添加项目的方法。

public function getCssJsHtml()
{
    // separate items by types
    $lines  = array();
    foreach ($this->_data['items'] as $item) {
        if (!is_null($item['cond']) && !$this->getData($item['cond']) || !isset($item['name'])) {
            continue;
        }

我的猜测是,他们是向模板系统添加元编程的早期尝试,但最终超出了其目标用户的理解范围。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在magento布局xml中使用条件 的相关文章

  • PMA 4.5.2.0 file_exists():open_basedir 限制生效

    从 PPA 在我的 Ubuntu 服务器上安装 phpMyAdmin 后 https launchpad net nijel archive ubuntu phpmyadmin https launchpad net nijel archi
  • PHP mail() 函数不发送邮件

    我有一个小问题 我正在使用一个工作脚本 在我的测试帐户 共享服务器上工作 使用 mail 函数通过 PHP 发送邮件 我刚刚得到了一个专用服务器 但我还无法让该功能发挥作用 在过去的 10 个小时左右的时间里 我阅读了有关 BIND 用于
  • 如何让 shell_exec 在 IIS 6.0 上运行

    问题 我有一个 PHP 脚本 它使用shell exec运行 pdf 到文本转换器 为了简化问题 我创建了一个简短的脚本 使用shell exec只是回显的输出dir命令 当我在 Apache 服务器上运行它时 一切都按预期运行 当我切换到
  • 使用 PhpStorm 删除 CakePHP 中的插件后出现“成员有私人访问错误”

    从我的 CakePHP 框架中删除插件以及与其关联的所有代码行后 我在以下位置收到错误getInitializer的功能autoload static php in my vendor gt composer folder public s
  • 在 Google 地图片段中扩充 XML 时出错

    尝试使用片段显示谷歌地图 使用了以下内容page https developers google com maps documentation android start作为教程 我收到异常 错误膨胀类片段 1 导入jar google p
  • TCPDF/PHP 和字体:大写数字(血统数字?旧样式?)

    我得到了一种特殊的字体 上面有这样的数字 例如 正如您在 3 上看到的 一些数字下降到基线以下 我想要实现的是 这些数字不会低于该线 并且看起来像这样 在 Word 中 可以在相同字体的字符设置中轻松设置 如何在 TCPDF 中呈现数字 我
  • CSS 无法与 CodeIgniter 一起使用

    这是我的 CI 代码的一部分 class page extends CI Controller var Page public function construct parent construct this gt Page 1 this
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 访客客户检查 Woocommerce 订单账单电子邮件时可享受首单折扣

    通过对照正在处理和已完成的订单检查来宾客户的电子邮件地址 如果电子邮件没有订单 我想给来宾 首单折扣 如果这能在客人输入电子邮件时发生 那就太好了 我想我已经成功制作了折扣代码 现在我请求帮助合并这两个代码 使其一切正常 这是折扣代码 ad
  • 数据表 - 服务器端处理 - 数据库列合并

    我目前正在使用 DataTables 1 10 5 服务器端处理功能 http www datatables net examples data sources server side html http www datatables ne
  • 如何在 PHP 数组中的另一个已知(通过键或指针)元素之后有效地插入元素?

    给定一个数组 a array abc 123 k1 gt v1 k2 gt v2 78 tt k3 gt v3 当其内部指针指向其元素之一时 如何在当前元素之后插入元素 如何在键已知元素 例如 k1 之后插入元素 表现护理 您可以通过使用拆
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • Laravel - 覆盖模型 ID

    我正在开发电子书管理系统 我使用 UUID 而不是自动递增整数主键 它工作得很好 protected static function boot parent boot static creating function model model
  • 与 array_intersect 相反?

    是否有一个内置函数可以获取数组 1 中不存在于数组 2 中的所有成员 我知道如何以编程方式执行此操作 只是想知道是否有一个内置函数可以执行相同的操作 所以请不要提供代码示例 这听起来像是一份工作array diff http www php
  • PHP 文件服务脚本:下载不可靠?

    这篇文章最初是关于 ServerFault 的一个问题 https serverfault com questions 131156 user receiving partial downloads https serverfault co
  • 使用 powershell 编辑 XML

    好吧 我感觉自己像个大白痴 为了工作中的管理目的 我使用 Powershell 已经有一段时间了 也就是说 编写脚本不是我的强项 现在 我正在尝试编写一个 PS 脚本 将一个部分添加到一堆机器上的 XML 中 以添加设置来解决我们在某个应用
  • PHP简单的html dom解析器与wordpress冲突吗?

    PHP简单的html dom解析器与wordpress冲突吗 因为每当我尝试将其与此代码一起包含在我的标头中时 一切都变成空白 感谢您提前提供任何帮助 当我尝试在 HTML 文档中使用 PHP 包含时 我遇到了同样的问题 但当我使用func
  • 无法与站点通信以检查致命错误

    无法与站点通信以检查致命错误 因此 PHP 更改已恢复 您需要通过其他方式上传 PHP 文件更改 例如使用 SFTP 有什么解决办法 我正在 WordPress 中编辑头文件 遇到这个问题 尝试这个 我有同样的问题并决定调查一下 更改 wp
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • 如何将 dropshadoweffect 添加到文本框的文本(以编程方式)

    我有一个在某个时刻以编程方式添加到画布的文本框 我希望所有文本都具有投影效果 但我不希望将该效果应用于文本框本身的边框 我该怎么做呢 向文本框添加 dropshadoweffect 会将效果应用到框的边框 并稍微 模糊 文本 但这不是我想要
  • 找出 XLL 自定义工作表函数被调用的名称

    可以使用以下命令多次将相同的 XLL 函数注册为自定义工作表函数xlfRegister 当调用XLL函数时 有什么方法可以找出工作表中使用哪个名称来调用该函数 除了解析Excel公式 这可能不是很可靠 Malick 的答案可以为您提供当前函
  • 具有类型 nat 的向量的应用实例

    我目前正在与善良的人玩耍 并在尝试定义矢量数据类型的应用实例时陷入困境 我认为一个合理的例子是pure 1 Vec 3 Int会给我一个长度为 3 的向量 所有元素均为值 1 和 lt gt 运算符将函数与值压缩在一起 我陷入困境的问题是它
  • 使用 pandas 将过滤器列表应用到来自列表的数据帧

    我有一个列列表 用于在来自列表的数据框中应用过滤器 过滤器值来自另一个列表 早些时候 当列表固定时 我使用以下语句来完成工作 df result df df filterfieldList 0 filterValuesList 0 df f
  • Elasticsearch 独奏 与 Couchbase+Elasticsearch

    让我描述一下这个问题 现在我正处于架构变革的阶段 我曾经使用 Elasticsearch 作为聚合和搜索工具 但现在我正在考虑使用它作为主要数据库 我读到不建议使用 Elasticsearch 作为主数据库 仅作为索引 所以我阅读了有关将其
  • IBM/AS400 上是否安装了 git

    我在 AS400 上运行 PHP AS400 上也可以安装 Git 吗 我想用它来维护版本控制 YiPs 网站提供了有关如何在 PASE 中运行它的说明 你可以在这里找到它 http youngiprofessionals com wiki
  • ng-build 上的端口和代理配置

    例如 我有一个前端在 int myapp com 上运行 它的后端在 int backend myapp com 上运行 我想我可以像这样使用 proxy config json 进行代理 api target https int back
  • 不清楚如何使用 python elasticsearch 更新插入 ElasticSearch

    在这里查看类似的示例 https stackoverflow com a 33247409 1575066 https stackoverflow com a 33247409 1575066 from elasticsearch impo
  • 为什么
    会清除浮动?

    考虑以下测试用例 其中浮动元素和内联元素放置在 fieldset 与一个 div float float right background color red height 200px h1 With fielset h1 fieldset
  • 搜索文件中的单词列表,然后在另一个文件中找到这些单词,将整行替换为 Class=ShipDummy,替换其下面的 2 行

    我想从外部列表 简单地一行中的每个单词 中搜索单词列表 我们将其称为 List txt 并在文件中搜索它们 C Users P Ditty 文件 SH3 data cfg Backups SCR clg 匹配整个单词 即使它在另一个单词中
  • ReferenceEquals 在处理字符串时出错

    为什么在这种情况下ReferenceEquals对象的方法有不同的行为吗 string a fg string b fg Console WriteLine object ReferenceEquals a b 所以在这种情况下会得到一个结
  • WordPress - 没有此类文件或目录问题

    当我加载我的 WordPress 网站时收到此错误 警告 include once plugins acf location field master acf location php function include once 未能 打开
  • 库里的“readline”(或“haskeline”)?

    编写程序最实用的方法是什么柯里编程语言 http en wikipedia org wiki Curry programming language会有一个带有不错的行编辑功能的控制台用户界面吗 实际上 我需要传递一个字符串作为用户输入的建议
  • add_dependency 和 add_runtime_dependency 之间的区别?

    使用有什么区别add dependency and add runtime dependency在 Rails 引擎的 gemspec 中 例如 Gem Specification new do s s add dependency jqu
  • 在 Asp Mvc 网站中显示默认路由的完整 url

    我想当有人导航到我网站的根目录时显示完整的 URL 如果他们导航到 www mysite com 默认路由会正确处理它并显示正确的页面 问题是浏览器中的 URL 显示为 www mysite com 而不是 www mysite com u
  • 如何在不影响 MySQL 数据库的情况下跟踪页面浏览量

    我正在尝试使用以下查询跟踪 MySQL DB 中的页面浏览量 UPDATE table SET pageviews pageviews 1 WHERE page id 1 这对于中低流量来说是很好的 然而 在高流量下 对数据库的持续写入将导
  • glTexImage2D完成上传时如何收到通知?

    我想在纹理上传到 OpenGL 后进行渲染 但我无法收到有关完成的通知 我确实想避免使用动画或任何类型的重复渲染 glTexImage2D 到底是异步的吗 据我所知 几乎每个 OpenGL 调用都是异步的 无论如何 如果我也能知道 glDr
  • IoC 容器示例 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Pytest 运行文档测试和普通测试

    在我的 Python 项目中 我使用 Pytest 目录结构为 src docs test 我有不同类型的测试 正常测试 在test 源代码中的文档测试 src 文档中的文档测试 docs rst 狮身人面像 我想一次运行所有这些 这样我就
  • 在magento布局xml中使用条件

    想知道是否有人在 magento 的布局 XML 中为自定义模块使用过 or 语句 我意识到我可以检查模块控制器或块本身中的值 但它似乎是逻辑所在的逻辑位置 Mage Core 将它们用于catalog xml测试 JavaScript 谢