右键单击 Chrome DevTools 的“元素”选项卡中的大多数元素,您将找到“进入隔离模式”的选项。它在视觉上隐藏了页面上的所有其他内容(尽管 CSS 或 DOM 的更改似乎仍然会影响页面布局。)
这样做的目的是什么?我理解添加它是为了允许 Selenium 或类似的工具来定位他们的报告。但为什么人类用户需要这个呢?如何使用它来帮助调试?
我在cron上设置了一个PHP脚本,它通过API联系Braintree,以查找我们存档的每个订阅的状态.然后,我们根据客户的订阅状态更新我们的本地记录.因为我可以手动取消从布伦特里控制面板订阅,我已经能够测试我的脚本可以检测取消订阅.
但是,我找不到任何方法来测试过期状态,而不是等待结算周期.由于Braintree中计费周期的最小长度为一个月,因此调试脚本非常困难.
我知道理论上我应该只看到订阅状态的不同字符串,但我正在寻找一种可重现的方式来模拟过期状态,以及daysPastDue的正余额和值.
有人可以帮忙吗?
$BT_subscription = Braintree_Subscription::find($BT_subscription_id);
if ($BT_subscription && $BT_subscription instanceof Braintree_Subscription) {
if ($BT_subscription->status == 'Past Due' && $BT_subscription->balance > 0) {
// ...
Run Code Online (Sandbox Code Playgroud) 当你像这样使用srcset时:
<img src="example-src.jpg" srcset="example-1x.jpg 1x, example-2x.jpg 2x" />
Run Code Online (Sandbox Code Playgroud)
或使用这样的图片标签:
<picture>
<source media="(min-width: 64em)" src="high-res.jpg">
<source media="(min-width: 37.5em)" src="med-res.jpg">
<source src="low-res.jpg">
<img src="fallback.jpg" />
</picture>
Run Code Online (Sandbox Code Playgroud)
是否有可能找出浏览器决定使用的URL?检查标签本身的src属性<img>实际上并不能告诉您加载了哪个图像.
(对不起,如果这是重复的.我无法在任何地方找到解决方案.)
我有一个工作链接添加到top.links块像这样:
<block type="page/template_links" name="top.links" as="topLinks">
<action method="addLink">
<label>About Us</label>
<url helper="mymodule/getAboutUsUrl"/>
<title>About Us</title>
<prepare/>
<urlParams/>
<position>20</position>
</action>
</block>
Run Code Online (Sandbox Code Playgroud)
最终我想让getAboutUsUrl变成getExternalSiteUrl.我想要一个函数来获取参数.例如,getExternalSiteUrl('about-us')然后返回//url/about-us之类的东西.但是,我似乎找不到在Layout XML文件中发送辅助类参数的方法.我已经搜索了其他模块,并且在我搜索的Customer模块中找不到.
有人可以帮忙吗?
我正在开发的一个网站有一个复杂的“大型菜单”类型的导航。我希望内容编辑器能够在标记中按列对菜单项进行分组。通常,如果我想要 6 列,我会注册 6 个菜单并将它们命名为第 1-6 列,但是这些是动态子菜单,需要成为另一个菜单中另一个导航项的子菜单。
我真正想做的是创建一种新类型的导航菜单项(当前是页面、链接、类别以及我的其他自定义帖子类型和自定义分类法),其中该项目仅用于列。(我将它用于列的事实在这里并不重要。这可以很容易地作为分隔符或其他东西。我只需要一个新的导航菜单项类型,当我构建菜单。)
有没有办法创建新的导航菜单项类型,而无需创建仅用于此目的的自定义帖子类型或自定义分类法?
举个例子:
$data = array();
$data['a']['one'] = 'test';
Run Code Online (Sandbox Code Playgroud)
这将引发通知,因为$data['a']不存在。因此,我总是这样做:
$data = array();
$data['a'] = array();
$data['a']['one'] = 'test';
Run Code Online (Sandbox Code Playgroud)
或者如果我陷入循环,像这样:
$data = array();
foreach ($items as $item) {
if (!isset($data['a'])) {
$data['a'] = array();
}
$data['a']['one'] = $item->getId();
}
Run Code Online (Sandbox Code Playgroud)
这在代码中变得非常重复并且混乱。我知道我可以编写某种array_push替代函数来处理这个问题,但我想知道是否有一种方法可以使用现有的 PHP 方法来做到这一点。
我正在与Magento合作,但这不是Magento的特定问题。
假设您正在使用包含类Foo的foo.php。在Magento中,如果存在/local/foo.php,则将其包括在内;否则,将包括/core/foo.php。两者都定义了Foo类。这里的问题在于两个文件都包含类Foo,因此/local/foo.php中的类无法扩展/core/foo.php中的类。最终,这需要将/core/foo.php中的所有代码复制到/local/foo.php中,减去我的自定义内容。
/core/foo.php - 我不能改变这个文件!
<?php
class Foo {
public function test() {
echo 'core/foo.php :: Foo :: test';
}
}
?>
Run Code Online (Sandbox Code Playgroud)
/local/foo_include.php
<?php
namespace mage {
require '../core/foo.php;
}
?>
Run Code Online (Sandbox Code Playgroud)
/local/foo.php - 我不能把一个命名空间在这个文件中,因为我有文件实例化这个类没有控制权。
<?php
require './foo_include.php';
use mage;
class Foo extends mage\Foo {
function __construct() {
var_dump('Un-namespaced Foo!');
}
}
$foo = new Foo();
$foo->test();
Run Code Online (Sandbox Code Playgroud)
?>
上面的方法不起作用,说法师\ Foo不存在。(如果核心Foo类是在foo_include中定义的,而不是通过include引入的,则它确实起作用。
有什么办法可以解决我所缺少的吗?
我在Magento工作,但这更像是一个普通的PHP问题.情况是在Magento中,有些类扩展了扩展类的类的类.我希望能够快速找到哪个类实际包含方法的定义和/或该方法实际上是魔术.
因此,例如,如果我在扩展其他类的类中有10个级别,并且这10个类中的4个有一个调用的方法getHtml,我希望能够找到在调用时实际调用这些方法中的哪一个$this->getHtml().我还想知道它getHtml是否真的是一种神奇的方法.
如何使用PHP Reflection Class或任何其他编程方法执行此操作?
我想捕获一个自定义异常,对其执行一些逻辑,如果失败,则将其扔到更通用的 catch 块中。就像这样:
class My_Exception extends Exception {
protected $_nonFatal = false;
public function __construct($value, $nonFatal = false) {
$this->_nonFatal = (bool)$nonFatal;
return parent::__construct($value);
}
public function isNonFatal() {
return (bool)$this->_nonFatal;
}
}
try {
} catch (My_Exception $e) {
if ($e->isNonFatal) {
// #1
// Err gently
}
// #2
// The error was fatal, so keep throwing it
throw new Exception($e->getMessage());
} catch (Exception $e) {
// #3
echo 'An exception was caught with the message '.$e->getMessage();
} …Run Code Online (Sandbox Code Playgroud) 12 月 15 日,rb-inotifygem更新到0.10.0现在需要的版本Ruby 2.2或更高版本。该compass宝石具有的运行依赖rb-inotify >= 0.9这似乎现在自动包括版本0.10.0。因此在Ruby 1.9.3上安装时compass,安装rb-inotify失败,导致安装compass失败。
我是否正确理解了这一点?已rb-inotify现破裂喜欢简单的命令gem install compass上的Ruby 1.x的?在不更新 Ruby 的情况下解决此问题的最佳方法是什么?
php ×5
magento ×3
class ×2
arrays ×1
braintree ×1
chromium ×1
compass ×1
exception ×1
html5 ×1
include ×1
javascript ×1
magento-1.7 ×1
menu ×1
namespaces ×1
reflection ×1
ruby ×1
rubygems ×1
srcset ×1
wordpress ×1