小编liy*_*kat的帖子

在嵌套子表单上使用ViewScript Decorator(Zend表单)

我想使用视图脚本来呈现我的zend表单,因为它似乎是在使用Zend_Elements类时控制表单的布局/设计的最佳方法.

从视图脚本中,我使用了渲染元素$this->element->getElement('elementName').

我遇到了元素名称的问题.这实际上是表单内部子表单内的子表单.

当我使用FormElements装饰器时,元素的完全限定名称是[subForm] [subForm] [element],这很好.我转移到viewScript装饰器,它改为subForm [subForm] [element].

我知道我需要使用PrepareElements装饰器来解决这个问题,但这导致名称改变形式[subForm] [form] [subForm] [subForm] [elements](它在开头的前两个名字加倍).

任何想法我应该如何处理这个?

谢谢.

更新:我试图调试PrepareElements,我真的不明白在做什么.看起来它在第一次迭代中工作正常,但是当在其中一个中间子表单上运行时,它再次添​​加形式[subform]前缀.

当我没有使用PrepareElements装饰器时,我只是在名称中缺少"form"前缀(即,而不是形式[subForm] [element],我只得到subForm [element]).

可能我可以解决这个问题吗?

我试图更改belongsTo,但只替换了"subForm"前缀.

实际上,缺少的是subForm上的belongsTo方法.

同样,这完全是因为ViewScript装饰器.它适用于FormElements装饰器.

更新2:为了澄清,我不介意这个名称更改,但是当我调用form-> populate时,它会导致我的字段不填充.

编辑:我认为我已经将问题缩小到了这一点:当我在setDefaults中获取我的值时,它们的排序方式如下:

array(
\"formElements1-name\" => value1... \"subFormName\" => array(
\"parentFormName\" => array(
\"subFormName\" => subForm-values-array
)
)
Run Code Online (Sandbox Code Playgroud)

......这里的主要问题是"parentFormName" => "subFormNAme"..它重演的是什么?我已经是主要形式了.我猜这是因为我设置了setElementsBelongTo(formName[subFormName]),但如果我不这样做,那么我会将我的子表单值与表单完全分开,

ie values array = array(\"formName \"=> array(formValues),\"subFormNAme \"=> array(subFormValues)

,虽然我把它贬低了

array(
formName => array(
subFormNAme => values-array
)
)...
Run Code Online (Sandbox Code Playgroud)

是否有可能使这项工作?

zend-framework zend-form zend-form-sub-form

6
推荐指数
2
解决办法
3460
查看次数

无法在Sublime text 2 for Mac中从一个单词跳到另一个单词

出于某种原因,我不能使用alt和箭头键来逐字跳转.它适用于textedit.

有任何想法吗?

sublimetext2

3
推荐指数
1
解决办法
5442
查看次数

php形成多个单选按钮

我正试图找到一种通用的方法来调出哪个单选按钮已选中.问题是,在我的foreach循环中使用$ _GET时,提交按钮也是循环中的echo.

谁能告诉我如何避免这种情况,以便我只显示单选按钮?我不知道一种方法,因为就我所知,foreach只接受数组

这是我的代码

<form action="" method="get">
<input type="radio" name="one" value="One1" />One1<br/>
<input type="radio" name="one" value="One2" />One2 <br/>
<input type="radio" name="one" value="One3" />One3<br/>
<input type="submit" name="submit"/> <br/>
</form>



if(isset($_GET['submit'])){
    foreach( $_GET as $key=>$val){
        echo "$val <br/>";
    }
}
Run Code Online (Sandbox Code Playgroud)

php forms radiobuttonlist

2
推荐指数
1
解决办法
8359
查看次数

如何用Regex检查有效小数点?

如何检查号码是否有效以下字符串.

最后2位数可能包含十进制值,也可能不包含.

下面是我已尝试过的代码,preg_match但无法取得任何成功

$newPrice = "2,264.00"; or //  $newPrice = "264.00"; 

 if (!preg_match('/^[+-][0-9]+(\,[0-9]+)?%?$/', $newPrice))
{                
    echo "not valid";
 }else{                    
       echo "valid";
}
exit();
Run Code Online (Sandbox Code Playgroud)

根据允许的格式,以上两个价格都是正确的.

php regex preg-match

2
推荐指数
1
解决办法
3347
查看次数

Magento caninvoice 总是返回 false

  if (!$this->_current_order->canInvoice()) {
         $this->Msg[] = 'Can not create Invoice';
         return false;
  }
Run Code Online (Sandbox Code Playgroud)

这总是返回 false。因此,我无法创建发票或运输。

php magento magento-1.7

0
推荐指数
1
解决办法
2060
查看次数