本文整理汇总了PHP中Zend_Form_SubForm::addSubform方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Form_SubForm::addSubform方法的具体用法?PHP Zend_Form_SubForm::addSubform怎么用?PHP Zend_Form_SubForm::addSubform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Form_SubForm
的用法示例。
在下文中一共展示了Zend_Form_SubForm::addSubform方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testMultiFileWithOneFile
public function testMultiFileWithOneFile()
{
$form = new Zend_Form();
$element = new Zend_Form_Element_File('file');
$element->setMultiFile(1);
$subform0 = new Zend_Form_SubForm();
$subform0->addElement($element);
$subform1 = new Zend_Form_SubForm();
$subform1->addSubform($subform0, 'subform0');
$subform2 = new Zend_Form_SubForm();
$subform2->addSubform($subform1, 'subform1');
$subform3 = new Zend_Form_SubForm();
$subform3->addSubform($subform2, 'subform2');
$form->addSubform($subform3, 'subform3');
$form->setView(new Zend_View());
$output = (string) $form;
$this->assertNotContains('name="file[]"', $output);
}
示例2: buildAutoForm
//.........这里部分代码省略.........
foreach ($validators as $v => $args) {
$validatorList[] = new $v((array) $args);
}
$element->setValidators($validatorList);
// repopulate data
if ($this->repopData) {
if ($colType == 'datetime' || $colType == 'date') {
$value = $this->repopData->{$propertyName}->format('Y-m-d');
} else {
$value = $this->repopData->{$propertyName};
}
$element->setValue($value);
}
break;
case 'foreign_dropdown':
//
// setup properties
$label = $anno[$annoKeyAwe]->label ? $anno[$annoKeyAwe]->label : ucwords(str_replace('_', ' ', preg_replace('[^a-zA-Z0-9_]', '', isset($anno[$annoKeyCol]) && $anno[$annoKeyCol]->name ? $anno[$annoKeyCol]->name : $propertyName)));
$targetEntity = $anno[$annoKeyM21]->targetEntity;
$displayColumn = $anno[$annoKeyAwe]->displayColumn;
$join_column = $anno[$annoKeyJoinColumn]->name;
// get related entities
$dql = "select e from {$targetEntity} e";
$foreignEntities = $this->_doctrine->createQuery($dql)->getResult();
$dropdowns = array();
$dropdowns[''] = '';
foreach ($foreignEntities as $id => $f) {
$dropdowns[$f->id] = $f->{$displayColumn};
}
// build element
$element = new Zend_Form_Element_Select($join_column);
$element->setMultiOptions($dropdowns);
$element->setLabel($label);
// repopulate data
if ($this->repopData && $this->repopData->{$propertyName}) {
$element->setValue($this->repopData->{$propertyName}->id);
}
break;
case 'foreign_multi_checkbox':
//
// setup properties
$label = $anno[$annoKeyAwe]->label ? $anno[$annoKeyAwe]->label : ucwords(str_replace('_', ' ', preg_replace('[^a-zA-Z0-9_]', '', isset($anno[$annoKeyCol]) && $anno[$annoKeyCol]->name ? $anno[$annoKeyCol]->name : $propertyName)));
$targetEntity = $anno[$annoKeyM2m]->targetEntity;
$displayColumn = $anno[$annoKeyAwe]->displayColumn;
$inverseColumn = $anno[$annoKeyJoinTable]->inverseJoinColumns[0]->name;
$targetId = str_replace('\\', '_', $targetEntity);
$attribute = str_replace('_id', '', "{$inverseColumn}s");
// get related entities
$dql = "select e from {$targetEntity} e";
$foreignEntities = $this->_doctrine->createQuery($dql)->getResult();
$foreignColumns = $this->getEntityColumnDefs($targetEntity);
$options = array();
if (count($foreignEntities)) {
foreach ($foreignEntities as $fe) {
$options[$fe->id] = $fe->{$displayColumn};
}
}
// build element
$element = new Zend_Form_Element_MultiCheckbox("{$inverseColumn}s");
$element->setMultiOptions($options);
$element->setLabel($label);
// repopulate data
$values = array();
foreach ($this->repopData->{$attribute} as $subEntity) {
$values[] = $subEntity->id;
}
$element->setValue($values);
break;
case 'foreign_editInline':
//
// setup properties
$label = $anno[$annoKeyAwe]->label ? $anno[$annoKeyAwe]->label : ucwords(str_replace('_', ' ', preg_replace('[^a-zA-Z0-9_]', '', isset($anno[$annoKeyCol]) && $anno[$annoKeyCol]->name ? $anno[$annoKeyCol]->name : $propertyName)));
$targetEntity = $anno[$annoKey12m]->targetEntity;
$editInline = $anno[$annoKeyAwe]->editInline;
$targetId = str_replace('\\', '_', $targetEntity);
$subformName = "{$targetId}_subform";
// get sub entities
$sub_entities = $this->repopData->{$propertyName};
$subEntityColumns = $this->getEntityColumnDefs($targetEntity);
// build sub forms
$subform = new Zend_Form_SubForm();
$subform->setLegend($label);
$recurse = false;
$parent = $this->repopData;
$x = 0;
foreach ($sub_entities as $subEntity) {
$autoCrudForm = new Awe_Form_AutoMagic($subformName, $subEntityColumns, $subEntity, $recurse, $parent);
$subform->addSubform($autoCrudForm, $x++);
}
$this->addSubform($subform, $targetId);
break;
}
if ($element) {
$this->getAutoSubform('entity')->addElement($element);
}
}
if ($this->recurseSubEntities) {
$this->addSaveButton('lower_submit');
}
}
示例3: testMultiFileInSubSubSubform
public function testMultiFileInSubSubSubform()
{
$form = new Zend_Form();
$element = new Zend_Form_Element_File('file');
$element->setMultiFile(2);
$subform0 = new Zend_Form_SubForm();
$subform0->addElement($element);
$subform1 = new Zend_Form_SubForm();
$subform1->addSubform($subform0, 'subform0');
$subform2 = new Zend_Form_SubForm();
$subform2->addSubform($subform1, 'subform1');
$subform3 = new Zend_Form_SubForm();
$subform3->addSubform($subform2, 'subform2');
$form->addSubform($subform3, 'subform3');
$form->setView(new Zend_View());
$output = (string) $form;
$this->assertContains('name="file[]"', $output);
$this->assertEquals(2, substr_count($output, 'file[]'));
}