小编Mic*_*ski的帖子

Zend_Form标签装饰器

我有标签装饰器的问题.当我生成一个表单时,我有这样的事情:

<label id="user_email-label"><label for="user_email" class="required">e-mail</label>
</label>
<input type="text" name="user_email" id="user_email" value="" class="span4">
Run Code Online (Sandbox Code Playgroud)

但是我需要 :

<label for="user_email" class="required">e-mail</label>
<input type="text" name="user_email" id="user_email" value="" class="span4">
Run Code Online (Sandbox Code Playgroud)

我的代码:

$oText = new Zend_Form_Element_Text('user_email');
$oText->clearDecorators();
$oText->setLabel($oTranslate->translate('e-mail'));
$oText->setAttrib('class','span4');
$oText->setRequired(true);
$oText->addValidator('NotEmpty', true);
$oText->addValidator('StringLength', true, array('max' => 200));
$oText->addValidator('EmailAddress', true);
$oText->addDecorator('ViewHelper');
$oText->addDecorator('Errors');
$oText->addDecorator('Label',array('tag'=>'label', 'placement' => 'prepend'));
$oText->setFilters(array('StringToLower','StringTrim'));
$this->addElement($oText);
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是如何在标签内放置一个复选框?当我做这样的事情时:

 $oCheckbox = new Zend_Form_Element_Checkbox('remember_me');
    $oCheckbox->setLabel($oTranslate->translate('remember me'));
    $oCheckbox->setChecked(true);
    $oCheckbox->addDecorator('HtmlTag',array('tag'=>'label','class'=>'checkbox muted'));
    $oCheckbox->removeDecorator('DtDdWrapper');
    $oCheckbox->addDecorator('Label',array('tag'=>'label'));
    $this->addElement($oCheckbox);
Run Code Online (Sandbox Code Playgroud)

我有:

<label class="checkbox muted">
<input type="hidden" name="remember_me" value="0"><input type="checkbox" name="remember_me" id="remember_me" value="1" checked="checked"></label>
<label id="remember_me-label"><label for="remember_me" class="optional">remember me</label></label> …
Run Code Online (Sandbox Code Playgroud)

zend-framework zend-form

4
推荐指数
1
解决办法
5484
查看次数

Zend Db选择将子查询添加到FROM部分

我尝试使用Zend_Db_Select在FROM部分中使用子查询构建查询.我正在寻找这样的事情:

SELECT COUNT(row_1) AS count_row FROM (SELECT row,row2,... FROM table WHERE row= ...) AS temp WHERE row = 0)
Run Code Online (Sandbox Code Playgroud)

所以我尝试这样做:

$oSubSelect = 
                $this->select()
                     ->setIntegrityCheck(false)   
                     ->from('table',
                             array(
                                 'row_id'
                                 )
                             )
                     ->where(PRFX.'table.id = '.PRFX.'table2.id')

                     ->from(PRFX.'table2',array('row','row2'));
    $this->select(false)
         ->setIntegrityCheck(false)
         ->from(new Zend_Db_Expr($oSubSelect).' AS temp',
                array(
                    'COUNT(row_id) AS row_count',
                    )
                ); 
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误信息.最好的祝福.

zend-framework zend-db

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

Symfony DI 调用静态方法

我使用这个库https://github.com/smsapi/smsapi-php-client从网站发送短信。但是当我尝试处理服务中的基类时遇到了问题。所以我的问题是有没有办法用参数调用静态方法?我尝试通过工厂来做到这一点,但这对我不起作用。这是我的代码:

smsapi.client:
   class: SMSApi\Client
   factory: ['SMSApi\Client', createFromToken]
   properties:
       attributes: '%smsapi_token%'
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

Warning: Missing argument 1 for SMSApi\Client::createFromToken(), called in ../cache/dev/appDevDebugProjectContainer.php on line 5073 and defined
Run Code Online (Sandbox Code Playgroud)

dependency-injection symfony

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