ItemController::actionGetPropValues PHP Method

actionGetPropValues() public method

ajax 成功后一般返回json数据 然后jquery读取出来 在写个function, 转为html
public actionGetPropValues ( )
    public function actionGetPropValues()
    {
        $category_id = $_POST['category_id'] ? $_POST['category_id'] : NULL;
        $item_id = $_POST['item_id'] ? $_POST['item_id'] : NULL;
        $item = Item::model()->findByPk($item_id);
        $props_arr = CJSON::decode($item->props, TRUE);
        $skus_arr = CJSON::decode($item->skus, TRUE);
        //	$props_arr = explode(';', $props_list->props);
        //	foreach ($props_arr as $k => $v) {
        //	    $arr[] = explode(':', $v);
        //	    if(is_array($arr)){
        //
        //	    }
        //	}
        //	foreach ($newarr as $k => $v) {
        //	    $v_arr = explode(',', $v[1]);
        //	    $arr[$v[0]] = $v_arr;
        //	}
        //        $arr = array('3'=>'106', '1'=>'78', '2'=>'82');
        //	关键属性
        $cri = new CDbCriteria(array('condition' => 'is_key_prop=1 and category_id =' . $category_id));
        $props = ItemProp::model()->findAll($cri);
        foreach ($props as $p) {
            echo '<div class="row">';
            if ($p->must == 1) {
                echo '<label class="span2 control-label" for="">' . $p->prop_name . '<span class="required">*</span></label>';
            } else {
                echo '<label class="span2 control-label" for="">' . $p->prop_name . '</label>';
            }
            echo '<div class="span10">';
            if ($p->type == 'input') {
                echo $p->getPropTextFieldValues($p->prop_name, $props_arr[$p->prop_id]);
            } elseif ($p->type == 'optional') {
                echo $p->getPropOptionValues($p->prop_name, $props_arr[$p->prop_id]);
            } elseif ($p->type == 'multiCheck') {
                echo $p->getPropCheckBoxListValues($p->prop_name, $props_arr[$p->prop_id]);
            }
            echo '</div>';
            echo '</div>';
        }
        //	非关键属性
        $cri = new CDbCriteria(array('condition' => 'is_key_prop=0 and is_sale_prop=0 and category_id =' . $category_id));
        $props = ItemProp::model()->findAll($cri);
        foreach ($props as $p) {
            echo '<div class="row">';
            if ($p->must == 1) {
                echo '<label class="span2 control-label" for="">' . $p->prop_name . '<span class="required">*</span></label>';
            } else {
                echo '<label class="span2 control-label" for="">' . $p->prop_name . '</label>';
            }
            echo '<div class="span9">';
            if ($p->type == 'input') {
                echo $p->getPropTextFieldValues($p->prop_name, $props_arr[$p->prop_id][0]);
            } elseif ($p->type == 'optional') {
                echo $p->getPropOptionValues($p->prop_name, $props_arr[$p->prop_id]);
            } elseif ($p->type == 'multiCheck') {
                echo $p->getPropCheckBoxListValues($p->prop_name, $props_arr[$p->prop_id]);
            }
            echo '</div>';
            echo '</div>';
        }
        //销售属性
        $cri = new CDbCriteria(array('condition' => 'is_sale_prop=1 and category_id =' . $category_id));
        $props = ItemProp::model()->findAll($cri);
        if ($props) {
            echo '<div class="row">';
            echo '<label class="span2 control-label" for="">商品规格</label>';
            echo '<div class="span9">';
            echo '<div class="sku-wrap">';
            $ii = 0;
            foreach ($props as $p) {
                echo '<div class="sku-group"><label class="sku-head">' . $p->prop_name . '</label>';
                echo '<div class="sku-box  sku-color">';
                if ($p->type == 'multiCheck') {
                    echo $p->getPropCheckBoxListValues($p->prop_name, $skus_arr['checkbox'][$p->prop_id], 'change', 'skus', 'checkbox');
                }
                $thead .= '<th> <span id="thop_' . $ii . '">' . $p->prop_name . '</span></th>';
                $ii++;
                echo '</div></div>';
            }
            echo '<p id="output"></p>';
            echo '</div>';
            echo '</div>';
            echo '</div>';
            echo <<<EOF
\t    <div class="row" style='margin-bottom:10px' style="visibility:hidden">
\t    <div class="span2">&nbsp;</div>
\t    <div class="span9" style="padding-left:0">
\t    <div class="sku-map">
\t    <table id="sku" class="table table-bordered">
\t    <thead>
\t    <tr>
\t\t{$thead}
\t\t<th>价格</th><th>数量</th><th>商家编码</th><th>操作</th></tr>
\t    </thead>
\t    <tbody>
\t    </tbody>
\t    </table>
\t    </div>
\t</div>
    </div>
EOF;
        }
    }