1

我正在尝试将Yii Jui timepicker 扩展转换为 Yii2。但是我被一种在 Yii 中可用但在 Yii2 中没有的方法称为resolveNameID(). 我在CinputWidget找到了该方法。

但是在yii2-jui/InputWidget中找不到这个方法。

我可以在 Yii2 中部分转换以下方法,但不知道将它们放在哪里。可能在yii2-jui/InputWidget.php

resolveNameID()在 Yii 中:

protected function resolveNameID()
{
   if($this->name!==null)
      $name=$this->name;
   elseif(isset($this->htmlOptions['name']))
      $name=$this->htmlOptions['name'];
   elseif($this->hasModel())
      $name=CHtml::activeName($this->model,$this->attribute);
   else
      throw new CException(Yii::t('yii','{class} must specify "model" and "attribute" or "name" property values.',array('{class}'=>get_class($this))));

   if(($id=$this->getId(false))===null)
   {
      if(isset($this->htmlOptions['id']))
          $id=$this->htmlOptions['id'];
      else
          $id=CHtml::getIdByName($name);
  }

    return array($name,$id);
  }

我想将上述方法转换为 Yii2 或 Yii2resolveNameID()中的任何替代方法。

提前致谢。

4

1 回答 1

0

我认为您应该查看此文档以获取基本助手

详细看 getInputId()

为指定的属性名称或表达式生成适当的输入 ID。

getInputName()

为指定的属性名称或表达式生成适当的输入名称。

于 2015-09-16T14:53:04.893 回答