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 | 3 | Flexible bunch of parsers for YII 2. |
| 6 | 4 | |
| 7 | 5 | ##Requirements## |
| 8 | 6 | |
| 9 | 7 | The Multiparser library has the following requirements: |
| 10 | 8 | |
| 11 | - - artweb/multiparser | |
| 9 | + - yiisoft/yii2 | |
| 12 | 10 | |
| 13 | 11 | ##Documentation## |
| 14 | 12 | |
| 15 | -###1. Общие сведения### | |
| 13 | +###1. Общие сведения.### | |
| 16 | 14 | Парсер позволяет отпарсить содержимое файла в массив. Парсер поддерживает csv, xml, xls, xlsx, txt расширения. Для каждого расширения необходимо описать правила парсинга в конфигурационном файле (см. п.4). Для одного расширения можно указать несколько сценариев (использование двух сценариев описано в п.3. в вложенном примере к парсеру). |
| 17 | -###2. Установка### | |
| 15 | +###2. Установка.### | |
| 18 | 16 | После копирования пакета в проект необходимо установить парсер как компонент YII. Для этого необходимо составить конфигурационный файл – config.php. Примерами могут служить файл который вложен в пакет или конфигурационный файл, который скомпонован для работы примера (п. 3). Далее в файле common/config/main.php – добавить компонент: |
| 19 | 17 | |
| 20 | 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 | 39 | \ No newline at end of file | ... | ... |