Commit d5c5ba58 authored by john's avatar john

2949

parent 4d5b8975
...@@ -20,14 +20,16 @@ class UrlManager extends \yii\web\UrlManager ...@@ -20,14 +20,16 @@ class UrlManager extends \yii\web\UrlManager
$documents = DocList::find()->where(['active' => true])->all(); $documents = DocList::find()->where(['active' => true])->all();
foreach ($documents as $document) { foreach ($documents as $document) {
$content = $document->docContents; $content = $document->docContents;
if ($content) if ($content) {
$rules['<document:(' . $content[0]->lang->url . ')>'] = 'documentation/page/view'; foreach ($content[0]->langs as $lang)
$rules['<document:(' . $lang->url . ')>'] = 'documentation/page/view';
}
} }
$request->url = rtrim($request->url, '/'); $request->url = rtrim($request->url, '/');
$this->addRules($rules, false); $this->addRules($rules, false);
return parent::parseRequest($request); return parent::parseRequest($request);
} }
......
...@@ -17,7 +17,8 @@ class PageController extends \common\components\BaseController ...@@ -17,7 +17,8 @@ class PageController extends \common\components\BaseController
public function actionView($document) public function actionView($document)
{ {
$model = $this->findDocumentModel($document); $modelContent = $this->findDocumentModel($document);
$model = $modelContent->content;
$documentation = $model->lang->html; $documentation = $model->lang->html;
...@@ -27,7 +28,8 @@ class PageController extends \common\components\BaseController ...@@ -27,7 +28,8 @@ class PageController extends \common\components\BaseController
return $this->render('view', [ return $this->render('view', [
'documentation' => $documentation, 'documentation' => $documentation,
'model' => $model 'model' => $model,
'modelContent' => $modelContent
]); ]);
} }
...@@ -57,12 +59,8 @@ class PageController extends \common\components\BaseController ...@@ -57,12 +59,8 @@ class PageController extends \common\components\BaseController
protected function findDocumentModel($url) protected function findDocumentModel($url)
{ {
$langContent = \common\modules\documentation\models\DocContentLang::findOne(['url' => $url]); $langContent = \common\modules\documentation\models\DocContentLang::findOne(['url' => $url]);
if (!$langContent) { if ($langContent !== null) {
throw new NotFoundHttpException('The requested page does not exist.'); return $langContent;
}
$model = $langContent->content;
if ($model !== null) {
return $model;
} else { } else {
throw new NotFoundHttpException('The requested page does not exist.'); throw new NotFoundHttpException('The requested page does not exist.');
} }
......
...@@ -147,7 +147,7 @@ class DocList extends \yii\db\ActiveRecord ...@@ -147,7 +147,7 @@ class DocList extends \yii\db\ActiveRecord
$l .= '   '; $l .= '   ';
$leftStr = ($left) ? $l : ''; $leftStr = ($left) ? $l : '';
$curent [$level->id . ' '] = $leftStr . $level->lang->name; $curent [$level->id . ' '] = $leftStr . $level->lang->name;
$nodes = $level->getParentList($updated, $level->id, $left + 1); $nodes = $level->getParentList($updated, $level->id, $left + 1, $ignore);
if ($nodes) if ($nodes)
$curent = array_merge($curent, $nodes); $curent = array_merge($curent, $nodes);
$list = array_merge($list, $curent); $list = array_merge($list, $curent);
...@@ -168,12 +168,20 @@ class DocList extends \yii\db\ActiveRecord ...@@ -168,12 +168,20 @@ class DocList extends \yii\db\ActiveRecord
$thisLevel = DocList::find()->where(['=', 'parent_id', $parent_id])->orderBy(['position' => SORT_ASC])->all(); $thisLevel = DocList::find()->where(['=', 'parent_id', $parent_id])->orderBy(['position' => SORT_ASC])->all();
foreach ($thisLevel as $level) { foreach ($thisLevel as $level) {
$docContents = $level->docContents; $docContents = $level->docContents;
$url = ($docContents) ? '/' . $docContents[0]->lang->url : '#'; $url = '#';
$urls = [];
if ($docContents) {
$url = '/' . $docContents[0]->lang->url;
$all = \yii\helpers\ArrayHelper::map($docContents[0]->langs, 'id', 'url');
foreach ($all as $itm)
$urls [] = '/' . $itm;
}
$curent = [ $curent = [
'id' => $level->id, 'id' => $level->id,
'text' => $level->lang->name, 'text' => $level->lang->name,
'url' => $url, 'url' => $url,
'urls' => $urls,
'state' => [ 'state' => [
'selected' => $updated->id == $level->id, 'selected' => $updated->id == $level->id,
'expanded' => true, 'expanded' => true,
...@@ -203,12 +211,13 @@ class DocList extends \yii\db\ActiveRecord ...@@ -203,12 +211,13 @@ class DocList extends \yii\db\ActiveRecord
$active = ''; $active = '';
if ( if (
$item['url'] == yii::$app->request->url || $item['url'] == yii::$app->request->url ||
in_array(yii::$app->request->url, $item['urls']) ||
($baseLevel && $open) ($baseLevel && $open)
) { ) {
$active = 'active'; $active = 'active';
} }
$list[] = Html::tag('li', Html::a($item['text'], $item['url']) . $ch, ['class' => $active]); $list[] = Html::tag('li', Html::a($item['text'], $item['url']) . $ch, ['class' => $active]);
if ($item['url'] == yii::$app->request->url) { if ($item['url'] == yii::$app->request->url || in_array(yii::$app->request->url, $item['urls'])) {
$open = 'active'; $open = 'active';
} }
} }
......
...@@ -66,25 +66,13 @@ DocumentationAsset::register($this); ...@@ -66,25 +66,13 @@ DocumentationAsset::register($this);
<?= $form->field($model, 'priority')->textInput(['maxlength' => 3])->hint('Приоритетность URL относительно других URL на Вашем сайте. Допустимый диапазон значений — от 0.0 до 1.0. Это значение позволяет указать поисковым системам, какие страницы, по Вашему мнению, более важны для сканеров (позволяет задать порядок их обработки ПС). Приоритет страницы по умолчанию — 0.5.') ?> <?= $form->field($model, 'priority')->textInput(['maxlength' => 3])->hint('Приоритетность URL относительно других URL на Вашем сайте. Допустимый диапазон значений — от 0.0 до 1.0. Это значение позволяет указать поисковым системам, какие страницы, по Вашему мнению, более важны для сканеров (позволяет задать порядок их обработки ПС). Приоритет страницы по умолчанию — 0.5.') ?>
<?php $model->list_id .= ' ' ?>
<?= $form->field($model, 'list_id')->dropDownList($data = $modelDocList->getParentList($model->list, 0, 0, true), ['class' => 'form-control', 'prompt' => 'Выберите родительский раздел']) ?>
<?= $form->field($model, 'list_id')->dropDownList($data = $modelDocList->getParentList($model->list,0, 0, true), ['class' => 'form-control', 'prompt'=>'Выберите родительский раздел']) ?>
<div class="form-group"> <div class="form-group">
<?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?> <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
</div> </div>
<?php ActiveForm::end(); ?> <?php ActiveForm::end(); ?>
</div> </div>
<?php \ No newline at end of file
$js = <<<JS
$('.list_list_id .list-group-item').click(function(){
if($(this).hasClass('node-selected')){
$('#doccontent-list_id').val('')
}else{
$('#doccontent-list_id').val($(this).attr('id'))
}
})
JS;
$this->registerJs($js);
?>
\ No newline at end of file
...@@ -9,7 +9,6 @@ use common\modules\documentation\models\DocList; ...@@ -9,7 +9,6 @@ use common\modules\documentation\models\DocList;
DocumentationAsset::register($this); DocumentationAsset::register($this);
$modelDocList = new DocList(); $modelDocList = new DocList();
$ml = $model->lang;
?> ?>
...@@ -35,7 +34,7 @@ $ml = $model->lang; ...@@ -35,7 +34,7 @@ $ml = $model->lang;
<div class="way"> <div class="way">
<a href="/">Главная</a> <a href="/">Главная</a>
<span>|</span> Документация <span>|</span> Документация
<span>|</span> <?php echo $ml->name ?> <span>|</span> <?php echo $modelContent->name ?>
</div> </div>
</div> </div>
</div> </div>
...@@ -52,13 +51,13 @@ $ml = $model->lang; ...@@ -52,13 +51,13 @@ $ml = $model->lang;
<!-- Post--> <!-- Post-->
<h1><?php echo $ml->name ?></h1> <h1><?php echo $modelContent->name ?></h1>
<div class="single-post-meta"> <div class="single-post-meta">
<div class="meta-link"><i class="icon-clock"></i><?= $model->list->getFormatedCreatedAt() ?></div> <div class="meta-link"><i class="icon-clock"></i><?= $model->list->getFormatedCreatedAt() ?></div>
</div> </div>
<?php echo $ml->html ?> <?php echo $modelContent->html ?>
</div> </div>
<!-- Sidebar --> <!-- Sidebar -->
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment