From 5e4592d70d54f531dbb5288ceda8e1ccd9346b40 Mon Sep 17 00:00:00 2001 From: Anton Date: Sat, 25 Sep 2021 17:13:57 +0300 Subject: [PATCH 1/4] Update index.php --- src/generators/crud/default/views/index.php | 90 ++++++++++++--------- 1 file changed, 52 insertions(+), 38 deletions(-) diff --git a/src/generators/crud/default/views/index.php b/src/generators/crud/default/views/index.php index 281b0dfb4..9eefaa005 100644 --- a/src/generators/crud/default/views/index.php +++ b/src/generators/crud/default/views/index.php @@ -1,79 +1,93 @@ modelClass); echo " +/** + * @var \yii\web\View $this +searchModelClass) ? " * @var " . $generator->searchModelClass . " \$searchModel\n" : '' ?> + * @var \yii\data\ActiveDataProvider $dataProvider + */ + use yii\helpers\Html; -use indexWidgetType === 'grid' ? "yii\\grid\\GridView" : "yii\\widgets\\ListView" ?>; +indexWidgetType === 'grid'): ?> +use yii\helpers\Url; +use yii\grid\ActionColumn; +use yii\grid\GridView; +use yii\grid\SerialColumn; + +use yii\widgets\ListView; + +use modelClass ?>; enablePjax ? 'use yii\widgets\Pjax;' : '' ?> -/* @var $this yii\web\View */ -searchModelClass) ? "/* @var \$searchModel " . ltrim($generator->searchModelClass, '\\') . " */\n" : '' ?> -/* @var $dataProvider yii\data\ActiveDataProvider */ - -$this->title = generateString(Inflector::pluralize(Inflector::camel2words(StringHelper::basename($generator->modelClass)))) ?>; +$this->title = generateString(Inflector::pluralize(Inflector::camel2words($modelClass))) ?>; $this->params['breadcrumbs'][] = $this->title; + ?> -
+
-

Html::encode($this->title) ?>

+

Html::encode($this->title) ?>

- Html::a(generateString('Create ' . Inflector::camel2words(StringHelper::basename($generator->modelClass))) ?>, ['create'], ['class' => 'btn btn-success']) ?> + Html::a(generateString('Create ' . Inflector::camel2words($modelClass)) ?>, ['create'], ['class' => 'btn btn-success']) ?>

enablePjax ? " \n" : '' ?> searchModelClass)): ?> -indexWidgetType === 'grid' ? "// " : "") ?>echo $this->render('_search', ['model' => $searchModel]); ?> +indexWidgetType === 'grid' ? "// " : '') ?>echo $this->render('_search', ['model' => $searchModel]); ?> indexWidgetType === 'grid'): ?> - GridView::widget([ + GridView::widget([ 'dataProvider' => $dataProvider, - searchModelClass) ? "'filterModel' => \$searchModel,\n 'columns' => [\n" : "'columns' => [\n"; ?> - ['class' => 'yii\grid\SerialColumn'], - + searchModelClass) ? "'columns' => [\n" : "'filterModel' => \$searchModel,\n 'columns' => [\n"; ?> + ['class' => SerialColumn::class], getTableSchema()) === false) { - foreach ($generator->getColumnNames() as $name) { - if (++$count < 6) { - echo " '" . $name . "',\n"; - } else { - echo " //'" . $name . "',\n"; - } - } +/** @var \yii\base\Model $model */ +$model = new $generator->modelClass(); +if ($model instanceof \yii\db\ActiveRecord) { + $pk = $model::primaryKey(); } else { - foreach ($tableSchema->columns as $column) { - $format = $generator->generateColumnFormat($column); - if (++$count < 6) { - echo " '" . $column->name . ($format === 'text' ? "" : ":" . $format) . "',\n"; - } else { - echo " //'" . $column->name . ($format === 'text' ? "" : ":" . $format) . "',\n"; - } + $pk= []; +} +$count = 0; +foreach ($model->attributeLabels() as $attribute => $label) { + if (in_array($attribute, $pk, true)) { + continue; } + $format = $generator->generateColumnFormat($attribute); + echo " '" . (++$count < 6 ? '' : '// ') . $attribute . ':' . $format . ':' . $label . "',\n"; } ?> - - ['class' => 'yii\grid\ActionColumn'], + [ + 'class' => ActionColumn::class, + 'urlCreator' => static function ($action, $model/*, $key, $index, ActionColumn $column */) { + return Url::toRoute([$action, generateUrlParams() ?>]); + } + ], ], ]); ?> - ListView::widget([ + ListView::widget([ 'dataProvider' => $dataProvider, 'itemOptions' => ['class' => 'item'], - 'itemView' => function ($model, $key, $index, $widget) { + 'itemView' => static function ( $model/*, $key, $index, ListView $widget */) { return Html::a(Html::encode($model->getNameAttribute() ?>), ['view', generateUrlParams() ?>]); }, ]) ?> - + enablePjax ? " \n" : '' ?> -
From 1248fc227ae6fba5dd144fee86447aebb84e2652 Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 26 Sep 2021 16:09:44 +0300 Subject: [PATCH 2/4] Update index.php --- src/generators/crud/default/views/index.php | 77 ++++++++++++--------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/src/generators/crud/default/views/index.php b/src/generators/crud/default/views/index.php index 9eefaa005..81ba543b1 100644 --- a/src/generators/crud/default/views/index.php +++ b/src/generators/crud/default/views/index.php @@ -10,13 +10,14 @@ $php7 = PHP_MAJOR_VERSION === 7; $modelClass = StringHelper::basename($generator->modelClass); +$modelName = Inflector::camel2words($modelClass); echo " /** * @var \yii\web\View $this -searchModelClass) ? " * @var " . $generator->searchModelClass . " \$searchModel\n" : '' ?> +searchModelClass) ? ' * @var ' . $generator->searchModelClass . " \$searchModel\n" : '' ?> * @var \yii\data\ActiveDataProvider $dataProvider */ @@ -32,7 +33,7 @@ use modelClass ?>; enablePjax ? 'use yii\widgets\Pjax;' : '' ?> -$this->title = generateString(Inflector::pluralize(Inflector::camel2words($modelClass))) ?>; +$this->title = generateString(Inflector::pluralize($modelName)) ?>; $this->params['breadcrumbs'][] = $this->title; ?> @@ -40,54 +41,64 @@

Html::encode($this->title) ?>

-

- Html::a(generateString('Create ' . Inflector::camel2words($modelClass)) ?>, ['create'], ['class' => 'btn btn-success']) ?> +

+ Html::a(generateString('Create ' . $modelName) ?>, ['create'], ['class' => 'btn btn-success']) ?>

-enablePjax ? " \n" : '' ?> + enablePjax ? '' : '' ?> + searchModelClass)): ?> -indexWidgetType === 'grid' ? "// " : '') ?>echo $this->render('_search', ['model' => $searchModel]); ?> + indexWidgetType === 'grid' ? '// ' : '') ?>echo $this->render('_search', ['model' => $searchModel]); ?> indexWidgetType === 'grid'): ?> GridView::widget([ 'dataProvider' => $dataProvider, - searchModelClass) ? "'columns' => [\n" : "'filterModel' => \$searchModel,\n 'columns' => [\n"; ?> + searchModelClass ? "'filterModel' => \$searchModel,\n" : ''; ?> + 'columns' => [ ['class' => SerialColumn::class], -modelClass(); -if ($model instanceof \yii\db\ActiveRecord) { - $pk = $model::primaryKey(); -} else { - $pk= []; -} -$count = 0; -foreach ($model->attributeLabels() as $attribute => $label) { - if (in_array($attribute, $pk, true)) { - continue; - } - $format = $generator->generateColumnFormat($attribute); - echo " '" . (++$count < 6 ? '' : '// ') . $attribute . ':' . $format . ':' . $label . "',\n"; -} -?> + modelClass)(); + $pk = $model instanceof \yii\db\ActiveRecord ? $model::primaryKey() : []; + $count = 1; + $tableSchema = $generator->getTableSchema(); + $labels = $model->attributeLabels(); + foreach ($model->attributes() as $attribute) { + if (in_array($attribute, $pk, true)) { + continue; + } + $format = 'text'; + if ($tableSchema) { + $column = $tableSchema->getColumn($attribute); + $format = $generator->generateColumnFormat($column); + } + $label = isset($labels[$attribute]) ? $labels[$attribute] : Inflector::humanize($attribute); + echo sprintf(" %s'%s:%s:%s',\n", $count < 6 ? '' : '// ', $attribute, $format, $label); + $count++; + } + ?> [ 'class' => ActionColumn::class, - 'urlCreator' => static function ($action, $model/*, $key, $index, ActionColumn $column */) { + 'urlCreator' => static function ($action, $model/*, $key, $index, $column */) { return Url::toRoute([$action, generateUrlParams() ?>]); } - ], - ], + ] + ] ]); ?> ListView::widget([ 'dataProvider' => $dataProvider, 'itemOptions' => ['class' => 'item'], - 'itemView' => static function ( $model/*, $key, $index, ListView $widget */) { - return Html::a(Html::encode($model->getNameAttribute() ?>), ['view', generateUrlParams() ?>]); - }, - ]) ?> + 'itemView' => static function ( $model/*, $key, $index, $widget */) { + return Html::a( + Html::encode($model->getNameAttribute() ?>), + ['view', generateUrlParams() ?>] + ); + } + ]); ?> - -enablePjax ? " \n" : '' ?> + + enablePjax ? '' : '' ?> +
From 8d504f8bcd5b9c408fab0ef8c58b135118ddf35f Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 26 Sep 2021 16:14:58 +0300 Subject: [PATCH 3/4] Update index.php --- src/generators/crud/default/views/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generators/crud/default/views/index.php b/src/generators/crud/default/views/index.php index 81ba543b1..bff299bde 100644 --- a/src/generators/crud/default/views/index.php +++ b/src/generators/crud/default/views/index.php @@ -59,7 +59,7 @@ ['class' => SerialColumn::class], modelClass)(); + $model = \Yii::createObject($generator->modelClass); $pk = $model instanceof \yii\db\ActiveRecord ? $model::primaryKey() : []; $count = 1; $tableSchema = $generator->getTableSchema(); From c1471ae528fb44ad4df0cd305c496e2c8f674864 Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Tue, 28 Sep 2021 00:14:22 +0300 Subject: [PATCH 4/4] Update src/generators/crud/default/views/index.php --- src/generators/crud/default/views/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generators/crud/default/views/index.php b/src/generators/crud/default/views/index.php index bff299bde..b8e7d929f 100644 --- a/src/generators/crud/default/views/index.php +++ b/src/generators/crud/default/views/index.php @@ -48,7 +48,7 @@ enablePjax ? '' : '' ?> searchModelClass)): ?> - indexWidgetType === 'grid' ? '// ' : '') ?>echo $this->render('_search', ['model' => $searchModel]); ?> + indexWidgetType === 'grid' ? '// ' : '') ?>echo $this->render('_search', ['model' => $searchModel]); ?> indexWidgetType === 'grid'): ?>