Commit 0f83918baff40c5123f1995b1f12a1e74f377587
1 parent
41770511
change views in example folder
Showing
3 changed files
with
68 additions
and
6 deletions
Show diff stats
README.md
1 | -#YII2 Multiparser | 1 | +YII2 Multiparser |
2 | ================== | 2 | ================== |
3 | - | ||
4 | - | ||
5 | Flexible bunch of parsers for YII 2. | 3 | Flexible bunch of parsers for YII 2. |
6 | 4 | ||
7 | ##Requirements## | 5 | ##Requirements## |
8 | 6 | ||
9 | The Multiparser library has the following requirements: | 7 | The Multiparser library has the following requirements: |
10 | 8 | ||
11 | - - artweb/multiparser | 9 | + - yiisoft/yii2 |
12 | 10 | ||
13 | ##Documentation## | 11 | ##Documentation## |
14 | 12 | ||
15 | -###1. Общие сведения### | 13 | +###1. Общие сведения.### |
16 | Парсер позволяет отпарсить содержимое файла в массив. Парсер поддерживает csv, xml, xls, xlsx, txt расширения. Для каждого расширения необходимо описать правила парсинга в конфигурационном файле (см. п.4). Для одного расширения можно указать несколько сценариев (использование двух сценариев описано в п.3. в вложенном примере к парсеру). | 14 | Парсер позволяет отпарсить содержимое файла в массив. Парсер поддерживает csv, xml, xls, xlsx, txt расширения. Для каждого расширения необходимо описать правила парсинга в конфигурационном файле (см. п.4). Для одного расширения можно указать несколько сценариев (использование двух сценариев описано в п.3. в вложенном примере к парсеру). |
17 | -###2. Установка### | 15 | +###2. Установка.### |
18 | После копирования пакета в проект необходимо установить парсер как компонент YII. Для этого необходимо составить конфигурационный файл – config.php. Примерами могут служить файл который вложен в пакет или конфигурационный файл, который скомпонован для работы примера (п. 3). Далее в файле common/config/main.php – добавить компонент: | 16 | После копирования пакета в проект необходимо установить парсер как компонент YII. Для этого необходимо составить конфигурационный файл – config.php. Примерами могут служить файл который вложен в пакет или конфигурационный файл, который скомпонован для работы примера (п. 3). Далее в файле common/config/main.php – добавить компонент: |
19 | 17 | ||
20 | ```php | 18 | ```php |
1 | +<?php | ||
2 | +use yii\widgets\ActiveForm; | ||
3 | +use yii\helpers\Html; | ||
4 | +use yii\helpers\ArrayHelper; | ||
5 | + | ||
6 | +?> | ||
7 | +<div class="row"> | ||
8 | + <div class="col-lg-5"> | ||
9 | + <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data',],'action'=>['parser/read']]); | ||
10 | + ?> | ||
11 | + <h3>Choose file to parse</h3> | ||
12 | + | ||
13 | + <?= $form->field($model, 'file')->fileInput() ?> | ||
14 | + | ||
15 | + <?= $form->field($model, 'file_type')->radioList([0 => 'Custom file', 1 => 'csv template', 2 => 'xml template', 3 => 'xlsx template', 4 => 'xls template', 5 => 'txt template'])->label(false); | ||
16 | + ?> | ||
17 | + | ||
18 | + <div class="form-group"> | ||
19 | + <?= Html::submitButton('Read', ['class' => 'btn btn-primary']) ?> | ||
20 | + </div> | ||
21 | + | ||
22 | + <?php ActiveForm::end(); | ||
23 | + ?> | ||
24 | + </div> | ||
25 | +</div> | ||
26 | + |
1 | +<?php | ||
2 | + | ||
3 | +use yii\helpers\Html; | ||
4 | +use yii\multiparser\DynamicFormHelper; | ||
5 | +use yii\widgets\ActiveForm; | ||
6 | + | ||
7 | + | ||
8 | +/* @var $this yii\web\View */ | ||
9 | +/* @var $searchModel backend\models\CatalogSearch */ | ||
10 | +/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
11 | + | ||
12 | +$this->title = 'Results'; | ||
13 | +$this->params['breadcrumbs'][] = $this->title; | ||
14 | +?> | ||
15 | +<div class="catalog-index"> | ||
16 | + | ||
17 | + <h1><?= Html::encode($this->title) ?></h1> | ||
18 | + <?php | ||
19 | + | ||
20 | + $form = ActiveForm::begin(['action' => 'write']); | ||
21 | + | ||
22 | + if (empty( $header_model )) { | ||
23 | + // выведем просто массив без колонок выбора | ||
24 | + echo \yii\grid\GridView::widget([ | ||
25 | + 'dataProvider' => $dataProvider, | ||
26 | + // 'layout'=>"{pager}\n{items}", | ||
27 | + | ||
28 | + ]); | ||
29 | + | ||
30 | + } else { | ||
31 | + echo DynamicFormHelper::CreateGridWithDropDownListHeader($dataProvider, $form, $header_model, $basic_column); | ||
32 | + } | ||
33 | + ?> | ||
34 | + | ||
35 | + <?php ActiveForm::end() ?> | ||
36 | + <?= Html::a('Return', ['parser/index'], ['class' => 'btn btn-primary', 'name' => 'Return',]) ?> | ||
37 | + | ||
38 | +</div> | ||
0 | \ No newline at end of file | 39 | \ No newline at end of file |