コード例 #1
0
ファイル: _form.php プロジェクト: boyatomic32/yii-cart
		<?php 
echo $form->labelEx($model, 'default');
?>
		<?php 
echo $model->id ? $form->textField($model, 'default', array('size' => 60, 'maxlength' => 255, 'readonly' => true)) : $form->textField($model, 'default', array('size' => 60, 'maxlength' => 255));
?>
		<?php 
echo $form->error($model, 'default');
?>
		<p class="hint"><?php 
echo CartModule::t('The value of the default field (database).');
?>
</p>
	</div><?php 
echo CHtml::activeLabelEx($model, 'catalogs');
echo getTreeCheckbox($model, Catalog::getTree(), $model->catalogs);
?>

	<div class="row widget">
		<?php 
echo $form->labelEx($model, 'widget');
?>
		<?php 
list($widgetsList) = CDynamicFieldModel::getWidgets($model->field_type);
echo $form->dropDownList($model, 'widget', $widgetsList, array('id' => 'widgetlist'));
//echo $form->textField($model,'widget',array('size'=>60,'maxlength'=>255));
?>
		<?php 
echo CHtml::error($model, 'widget');
?>
		<p class="hint"><?php 
コード例 #2
0
ファイル: _form.php プロジェクト: boyatomic32/yii-cart
function getTreeSelect($selfId = 0)
{
    $tree = array(0 => CartModule::t('No'));
    $items = Catalog::getTree();
    //echo '<pre>'; print_r($items); die();
    $prefix = '';
    foreach ($items as $item) {
        if ($item['self']->id != $selfId) {
            $tree[$item['self']->id] = $item['self']->name;
            $tree = getChilds($tree, $item['childs'], $selfId);
        }
    }
    return $tree;
}
コード例 #3
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $newRelation = new ProductRelation();
     $ProductValue = $model->value;
     $newPhoto = new Photo();
     // ajax validator
     $this->performAjaxValidation($model, $ProductValue, $newPhoto);
     $catalogs = Catalog::getTree();
     $cat_list = array();
     foreach ($model->catalogs as $item) {
         $cat_list[$item->id] = $item;
     }
     if (isset($_POST['Product'])) {
         $model->attributes = $_POST['Product'];
         $ProductValue->attributes = $_POST['ProductValue'];
         $newPhoto->attributes = $_POST['Photo'];
         $newRelation->attributes = $_POST['ProductRelation'];
         if ($model->validate() && $ProductValue->validate() && $newPhoto->validate()) {
             // Update photo title (if set)
             /*
             				if ($model->photo) {
             					if ($model->photo->title!=$model->name) {
             						$model->photo->title = $model->name;
             						$model->photo->save();
             					}
             				}//*/
             // Upload new photo
             $newPhoto->filename = CUploadedFile::getInstance($newPhoto, 'filename');
             if ($newPhoto->filename) {
                 $newPhoto->setDefault();
                 $newPhoto->title = $model->name;
                 if ($newPhoto->save()) {
                     $newPhoto->fullSave();
                     if (!$model->photo_id) {
                         $model->photo_id = $newPhoto->id;
                     }
                 }
             }
             // Save product model
             if ($model->save()) {
                 $new_attr = $ProductValue->attributes;
                 foreach ($new_attr as $name => $fieldarr) {
                     if (is_array($fieldarr)) {
                         $new_attr[$name] = implode(', ', $fieldarr);
                     }
                 }
                 $ProductValue->attributes = $new_attr;
                 // Save product value
                 $ProductValue->save();
                 // Add relation to new photo
                 if ($newPhoto->id) {
                     $photoRel = new PhotoRelation();
                     $photoRel->item_id = $model->id;
                     $photoRel->photo_id = $newPhoto->id;
                     $photoRel->save();
                 }
             }
             // Catalog relation
             foreach ($_POST['Product']['catalogs'] as $i => $item) {
                 if ($item) {
                     if (!isset($cat_list[$i])) {
                         $catRel = new CatalogRelation();
                         $catRel->cid = $i;
                         $catRel->pr_id = $model->id;
                         $catRel->save();
                     }
                 } else {
                     if (isset($cat_list[$i])) {
                         CatalogRelation::model()->find(array('condition' => 'cid=:cid AND pr_id=:pr_id', 'params' => array(':cid' => $i, ':pr_id' => $model->id)))->delete();
                     }
                 }
             }
             if ($newRelation->pr_id) {
                 $relations = explode(',', $newRelation->pr_id);
                 foreach ($relations as $rel) {
                     $pr_id = (int) trim($rel);
                     if ($pr_id) {
                         $newRelation = new ProductRelation();
                         $newRelation->pr_id = $pr_id;
                         $newRelation->pid = $model->id;
                         $newRelation->save();
                     }
                 }
             }
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('update', array('model' => $model, 'ProductValue' => $ProductValue, 'newPhoto' => $newPhoto, 'catalogs' => $catalogs, 'cat_list' => $cat_list, 'newRelation' => $newRelation));
 }