/**
  * Finds the model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param string $id
  * @return the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Diy::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Exemple #2
0
 /**
  * Ham them/sua setting cua widget
  * @param string $diyId id cua diy
  * @param string $containerId id cua container
  * @param string $positionId id cua position
  * @param string $widgetId id cua widget
  * @param array $settings mang gia tri cua option
  * @return boolean
  */
 public function saveSettingWidget($diyId, $containerId, $positionId, $widgetId, $settings)
 {
     // Map name setting with value
     $settingArray = ArrayHelper::map($settings, 'name', 'value');
     // Get widget info by id
     $model = Diy::find()->where(['_id' => $diyId])->one();
     if ($model) {
         $model->data = ArrayHelper::merge($model->data, [$containerId => [$positionId => ArrayHelper::merge($model->data[$containerId][$positionId], ['widgets' => ArrayHelper::merge($model->data[$containerId][$positionId]['widgets'], [$widgetId => ArrayHelper::merge($model->data[$containerId][$positionId]['widgets'][$widgetId], ['settings' => $settingArray])])])]]);
         return $model->save();
     }
     return false;
 }
Exemple #3
0
 public function actionDeleteitems()
 {
     // Kieu item xoa
     $type = Yii::$app->request->post('type');
     // Id cua diy
     $diyId = Yii::$app->request->post('diyId');
     // Id cua container
     $containerId = Yii::$app->request->post('containerId');
     // Id cua position
     $positionId = Yii::$app->request->post('positionId');
     // Id cua widget
     $widgetId = Yii::$app->request->post('widgetId');
     // Ham sap xep item, tra ve gia tri boolean
     $result = Diy::deleteItems($type, $diyId, $containerId, $positionId, $widgetId);
     echo $result;
 }
Exemple #4
0
 /**
  * Ham get ra template cua container
  * @param string $diyId id cua diy dang build layout
  * @param string $itemId id cua container duoc sinh ra
  * @param array $positionItems 1 mang cac position cua container
  * @return string
  */
 public static function generateTemplateContainer($diyId = null, $itemId = null, $positionItems = [])
 {
     $templateContainer = Html::beginTag('div', ['class' => 'let_container', 'id' => $itemId, 'data-diyId' => $diyId, 'data-id' => $itemId]);
     $templateContainer .= Html::beginTag('div', ['class' => 'panel panel-default']);
     $templateContainer .= Html::beginTag('div', ['class' => 'panel-heading clearfix']);
     // Begin button add position and delete container
     $templateContainer .= Html::beginTag('div', ['class' => 'pull-right']);
     $templateContainer .= Html::beginTag('div', ['class' => 'btn-group']);
     $templateContainer .= Html::button('<i class="glyphicon glyphicon-trash"></i>', ['class' => 'btn btn-danger btn-xs', 'onclick' => 'deleteItems(this, "c", ".let_container");']);
     $templateContainer .= Html::button('<i class="glyphicon glyphicon-plus"></i>', ['class' => 'btn btn-success btn-xs', 'onclick' => 'addPosition(this);']);
     $templateContainer .= Html::endTag('div');
     $templateContainer .= Html::endTag('div');
     // End button add position and delete container
     $templateContainer .= Html::endTag('div');
     $templateContainer .= Html::beginTag('div', ['class' => 'panel-body let_positions', 'data-id' => $itemId]);
     if (!empty($positionItems)) {
         foreach ($positionItems as $positionId => $position) {
             $column = ArrayHelper::getValue($position, 'column');
             $widgetItems = ArrayHelper::getValue($position, 'widgets');
             $templateContainer .= Diy::generateTemplatePosition($column, $diyId, $itemId, $positionId, $widgetItems);
         }
     }
     $templateContainer .= Html::endTag('div');
     $templateContainer .= Html::endTag('div');
     $templateContainer .= Html::endTag('div');
     return $templateContainer;
 }
Exemple #5
0
use yii\helpers\Url;
use letyii\diy\models\Diy;
use letyii\diy\models\DiyWidget;
use yii\helpers\ArrayHelper;
?>
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row clearfix">
    <div class="col-md-9 col-sm-9 col-xs-12">
        <div id="let_containers">
            <?php 
if (is_array($model->data) and !empty($model->data)) {
    foreach ($model->data as $containerId => $container) {
        $positionItems = ArrayHelper::getValue($model->data, $containerId);
        ?>
                <?php 
        echo Diy::generateTemplateContainer((string) $model->_id, $containerId, $positionItems);
        ?>
            <?php 
    }
}
?>
        </div>
        <?php 
echo Html::button('<i class="glyphicon glyphicon-plus"></i>', ['class' => 'btn btn-success col-md-12 col-sm-12 col-xs-12', 'id' => 'addContainer']);
?>
    </div>
    <div class="col-md-3 col-sm-3 col-xs-12">
        <div id='let_widgets'>
            <?php 
foreach ($diy_widget as $widget) {
    ?>