function testFieldIdAttrValue()
 {
     $group = new CMB_Group_Field('group', 'Group Title', array());
     $field1 = new CMB_Text_Field('foo', 'Title', array(1, 2));
     $group->add_field($field1);
     // Standard use of ID attribute
     $id_attr = $field1->get_the_id_attr();
     $this->assertEquals($id_attr, 'group-cmb-group-0-foo-cmb-field-0');
     // Using append
     $id_attr = $field1->get_the_id_attr('bar');
     $this->assertEquals($id_attr, 'group-cmb-group-0-foo-cmb-field-0-bar');
     // Test repeatable group.
     $group->field_index = 1;
     $id_attr = $field1->get_the_id_attr();
     $this->assertEquals($id_attr, 'group-cmb-group-1-foo-cmb-field-0');
     $group->field_index = 0;
     // Unset
     // Test repeatable field within group.
     $field1->field_index = 1;
     $id_attr = $field1->get_the_id_attr();
     $this->assertEquals($id_attr, 'group-cmb-group-0-foo-cmb-field-1');
     $field1->field_index = 0;
     // Unset
     // Test more than 10 fields
     // See https://github.com/humanmade/Custom-Meta-Boxes/pull/164
     $group->field_index = 12;
     $id_attr = $field1->get_the_id_attr();
     $this->assertEquals($id_attr, 'group-cmb-group-12-foo-cmb-field-0');
     $group->field_index = 0;
     // Unset
 }
Ejemplo n.º 2
0
 function testParseSaveValues()
 {
     $group = new CMB_Group_Field('group', 'Group Title', array());
     $field = new CMB_Text_Field('foo', 'Title', array());
     $group->add_field($field);
     $group->values = $values = array('foo' => array(1, 2));
     $group->parse_save_values();
     error_log(print_r($group->get_values(), true));
     $this->assertEquals($group->get_values(), $values);
 }
Ejemplo n.º 3
0
 function testFieldIdAttrValue()
 {
     $group = new CMB_Group_Field('group', 'Group Title', array());
     $field1 = new CMB_Text_Field('foo', 'Title', array(1, 2));
     $group->add_field($field1);
     // Standard use of ID attribute
     $id_attr = $field1->get_the_id_attr();
     $this->assertEquals($id_attr, 'group-cmb-group-0-foo-cmb-field-0');
     // Using append
     $id_attr = $field1->get_the_id_attr('bar');
     $this->assertEquals($id_attr, 'group-cmb-group-0-foo-cmb-field-0-bar');
     // Test repeatable group.
     $group->field_index = 1;
     $id_attr = $field1->get_the_id_attr();
     $this->assertEquals($id_attr, 'group-cmb-group-1-foo-cmb-field-0');
     $group->field_index = 0;
     // Unset
     // Test repeatable field within group.
     $field1->field_index = 1;
     $id_attr = $field1->get_the_id_attr();
     $this->assertEquals($id_attr, 'group-cmb-group-0-foo-cmb-field-1');
     $field1->field_index = 0;
     // Unset
 }
Ejemplo n.º 4
0
    public function display()
    {
        global $post;
        $meta = $this->values;
        if (!$meta && !$this->args['repeatable']) {
            $meta = array('');
        }
        $field = $this->args;
        foreach ($meta as $value) {
            $this->value = $value;
            echo '<div class="field-item">';
            $this->html();
            echo '</div>';
            ?>

			<?php 
        }
        if ($this->args['repeatable']) {
            $this->value = '';
            echo '<div class="field-item hidden">';
            $this->html();
            echo '</div>';
            ?>
			<p>
				<a href="#" class="button repeat-field">Add New</a>
			</p>
			<?php 
        }
        if (!self::$added_js) {
            ?>

			<script type="text/javascript">

				

			</script>

		<?php 
            self::$added_js = true;
        }
    }