- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Magento 的新手,在探索系统时我发现尴尬的一件事是将生成的 (X)HTML 页面中的给定元素与创建它的 block 的名称联系起来。我知道系统->配置->模板路径提示。然而,它非常丑陋,有时会改变页面上元素的布局,并且不显示所有 block (我认为它只覆盖模板 block )。
我尝试过的一种方法是修改 Mage_Core_Block_Abstract 中的 toHtml()
方法,以在内容之前和之后添加空元素,例如。
<blockStart xmlns="http://some/url" name="the_block_name"/>
<!-- the block's contents -->
<blockEnd/>
(可能有一种方法可以在不修改核心文件的情况下做到这一点,但我现在并不介意这种方法,因为它仅供我自己使用。不过,欢迎任何想法。)
这些元素在文档中为我提供了足够的信息,以便我在浏览器端使用 jQuery 的 .nextUntil()
函数将 data-magento-blockname
属性添加到之间的元素blockStart 和 blockEnd 元素。然后,我可以使用这些属性在任何给定时间显示一个工具提示,其中包含指向指针下内容的完整 block 名称“路径”。
这种方法的问题在于,尽管 Magento 生成具有严格 DOCTYPE 的 XHTML,但将 Content-Type 设置为“text/html”是硬编码的(请参阅 app/code/core/Mage/Core/Model/App.php
第 1246 行)。这意味着浏览器将 XML 解释为 HTML“标签汤”,从而导致奇怪的事情发生 - 我的许多标签完全消失,出现在错误的位置,或者没有立即关闭,因此它们包含其他内容。此外,并非文档中的所有 HTML 元素都显示在 DOM 中。
我尝试修改 App.php 以将 Content-Type 更改为 application/xhtml+xml,这确实允许我的机制成功工作。然而,它有一些严重的缺点:
有谁知道我的方法可以解决这些问题,或者知道有什么更简单的方法将输出中的 HTML 元素链接到生成它们的 Magento block 吗?
最佳答案
使用模板路径提示时,有时您需要检查元素,然后通过在 ChromeDevTools 或 Firebug 中查看来查找列出的关联模板文件(它将是具有一堆内联样式的父元素)。
我也经常使用 grep 来查找东西。只需导航到您认为应该查找的最高文件夹(这样就不必遍历数千个不相关的文件夹/文件)。
因此,如果您知道 block 名称,并且想要查找哪些模板文件使用该 block ,您可以转到/app/design/frontend/base/default/layout 并执行以下操作:
grep "catalog/category" -r -l .
并且您应该能够获取一些正在加载该 block 的文件名,然后找到它们的声明节点并查看正在加载哪个模板文件。
echo get_class($this)
也可能有帮助。
关于Magento - 查找与一段 HTML 相对应的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735843/
我想检查我的应用程序或系统中是否存在库。在 Java 中,我通常执行 System.loadlibrary,但是有谁知道 C 中类似的相应调用吗? 最佳答案 是dlopen打开一个库,dlsym 从加
我在 typescript 中输入以下内容 export type Excludable = T & { isExcluded?: boolean } 其中过滤值: export type Filte
我最近在我的应用程序中添加了一种方法,可以自动格式化 TextView ,从“50000”到“50,000”,效果绝对完美。现在我遇到的问题是,在我的应用程序中,有多个按钮功能可以从该 TextVie
SELECT * FROM conversations WHERE chatMembers LIKE '%1%'AND chatMembers LIKE '%10%' 对话表 id | chatMem
我正在编写一个需要将 Java Date() 值保存到 MySQL 数据库的 RESTful Web 服务,但是,我不确定 MySQL 中可以保存 Java Date() 的数据类型是什么,或者我是否
同样,在任何 Red Hat 或 JBoss 站点上都没有关于此的信息,所以我在这里问... 我不确定是 13 还是 14。 最佳答案 Mapping the Community versions w
同样,在任何 Red Hat 或 JBoss 站点上都没有关于此的信息,所以我在这里问... 我不确定是 13 还是 14。 最佳答案 Mapping the Community versions w
我曾尝试使用 swift 开发一款利用 iPhone 的 3D 触摸硬件的游戏。然而,当我将我的应用程序提交到 App Store 时,它被拒绝了,因为该游戏无法在 iPad 上玩。 我的问题是,
Qt 的有序关联容器对应项 std::map是QMap , std::set是QSet , 对于无序关联容器 std::unordered_map是QHash . 我应该用什么来代替std::unor
JavaScript 方法 String.fromCharCode() 在以下意义上与 Python 的 unichar() 等效: print unichr(213) # prints Õ on t
正如谷歌在 "Discontinuing support for JSON-RPC and Global HTTP Batch Endpoints" 中提到的那样,Google API 客户端库已重新
我正在使用 MapLayer 和 MapOverlay 在 map 中创建自己的路径/折线,GPS 捕获的所有点都存储在一个结构中,以便我可以访问它们。随时。 现在,我希望路径在用户操作 map (缩
我们使用 Adobe Flash Builder 创建由 Flex 提供支持的交互式 Web 应用程序。现在我们正在寻找替代方案,让我们在 UI 设计和迎合 HTML5 的编码方面拥有同样的开发便
我想知道Android/Java 中类似C#/C++ 中的GetTickCount 方法的相应方法吗? 最佳答案 Android 为 SystemClock.uptimeMillis() .请注意,u
我用 Vue + Phaser 开始了新项目,但是当我尝试加载 Assets 时,this.game.load.image 中的“load”和“add”返回“undefined”。我尝试从 JS 文件
我是一名优秀的程序员,十分优秀!