Commit 9af79e71c667ccdd4add84bec20ae5cc5186a0ac
1 parent
6fab04aa
Sitemap and slugbehavior fix
Showing
18 changed files
with
416 additions
and
60 deletions
Show diff stats
backend/config/main.php
| 1 | 1 | <?php |
| 2 | + use artbox\core\components\SeoUrlManager; | |
| 2 | 3 | use artbox\core\models\Page; |
| 3 | 4 | use common\components\Sitemap; |
| 4 | - use yii\web\UrlManager; | |
| 5 | 5 | |
| 6 | 6 | $params = array_merge( |
| 7 | 7 | require( __DIR__ . '/../../common/config/params.php' ), |
| ... | ... | @@ -97,7 +97,7 @@ |
| 97 | 97 | 'rules' => [], |
| 98 | 98 | ], |
| 99 | 99 | 'urlManagerFrontend' => [ |
| 100 | - 'class' => UrlManager::className(), | |
| 100 | + 'class' => SeoUrlManager::className(), | |
| 101 | 101 | 'baseUrl' => '/', |
| 102 | 102 | 'enablePrettyUrl' => true, |
| 103 | 103 | 'showScriptName' => false, |
| ... | ... | @@ -111,7 +111,7 @@ |
| 111 | 111 | 'conditions' => [ |
| 112 | 112 | [ 'in_menu' => 1 ], |
| 113 | 113 | ], |
| 114 | - 'url' => 'site/page', | |
| 114 | + 'url' => 'page/view', | |
| 115 | 115 | ], |
| 116 | 116 | ], |
| 117 | 117 | ], | ... | ... |
backend/controllers/SitemapController.php
| ... | ... | @@ -156,6 +156,7 @@ |
| 156 | 156 | if (isset( $old_entity_models[ $entity_model->entity ] )) { |
| 157 | 157 | $entity_model->status = $old_entity_models[ $entity_model->entity ]->status; |
| 158 | 158 | $entity_model->priority = $old_entity_models[ $entity_model->entity ]->priority; |
| 159 | + $entity_model->frequency = $old_entity_models[ $entity_model->entity ]->frequency; | |
| 159 | 160 | } |
| 160 | 161 | } |
| 161 | 162 | // ***** <<< End |
| ... | ... | @@ -190,7 +191,7 @@ |
| 190 | 191 | "[$count]url", |
| 191 | 192 | [ |
| 192 | 193 | 'options' => [ |
| 193 | - 'class' => 'form-group col-xs-8 col-sm-9', | |
| 194 | + 'class' => 'form-group col-xs-5 col-sm-6', | |
| 194 | 195 | ], |
| 195 | 196 | ] |
| 196 | 197 | ) |
| ... | ... | @@ -198,6 +199,27 @@ |
| 198 | 199 | ->render(); |
| 199 | 200 | $content .= $form->field( |
| 200 | 201 | $model, |
| 202 | + "[$count]frequency", | |
| 203 | + [ | |
| 204 | + 'options' => [ | |
| 205 | + 'class' => 'form-group col-xs-3 col-sm-3', | |
| 206 | + ], | |
| 207 | + ] | |
| 208 | + ) | |
| 209 | + ->dropDownList( | |
| 210 | + [ | |
| 211 | + 'always' => 'always', | |
| 212 | + 'hourly' => 'hourly', | |
| 213 | + 'daily' => 'daily', | |
| 214 | + 'weekly' => 'weekly', | |
| 215 | + 'monthly' => 'monthly', | |
| 216 | + 'yearly' => 'yearly', | |
| 217 | + 'never' => 'never', | |
| 218 | + ] | |
| 219 | + ) | |
| 220 | + ->render(); | |
| 221 | + $content .= $form->field( | |
| 222 | + $model, | |
| 201 | 223 | "[$count]priority", |
| 202 | 224 | [ |
| 203 | 225 | 'options' => [ | ... | ... |
| 1 | +<?php | |
| 2 | + use common\models\Settings; | |
| 3 | + use yii\bootstrap\ActiveForm; | |
| 4 | + use yii\web\View; | |
| 5 | + | |
| 6 | + /** | |
| 7 | + * @var View $this | |
| 8 | + * @var Settings $model | |
| 9 | + * @var ActiveForm $form | |
| 10 | + */ | |
| 11 | + echo $form->field($model, 'analytics_key') | |
| 12 | + ->textInput(); | |
| 0 | 13 | \ No newline at end of file | ... | ... |
| 1 | +<?php | |
| 2 | + use common\models\Settings; | |
| 3 | + use yii\bootstrap\ActiveForm; | |
| 4 | + use yii\web\View; | |
| 5 | + | |
| 6 | + /** | |
| 7 | + * @var View $this | |
| 8 | + * @var Settings $model | |
| 9 | + * @var ActiveForm $form | |
| 10 | + */ | |
| 11 | + echo $form->field($model, 'phone') | |
| 12 | + ->textInput() | |
| 13 | + ->hint(\Yii::t('core', 'Contact phone for website')); | |
| 14 | + echo $form->field($model, 'phone2') | |
| 15 | + ->textInput() | |
| 16 | + ->hint(\Yii::t('core', 'Contact phone for website')); | |
| 17 | + echo $form->field($model, 'email') | |
| 18 | + ->textInput() | |
| 19 | + ->hint(\Yii::t('core', 'Contact email for website')); | |
| 20 | + echo $form->field($model, 'skype') | |
| 21 | + ->textInput(); | |
| 22 | + echo $form->field($model, 'house') | |
| 23 | + ->textInput(); | |
| 24 | + echo $form->field($model, 'street') | |
| 25 | + ->textInput(); | |
| 26 | + echo $form->field($model, 'office') | |
| 27 | + ->textInput(); | |
| 28 | + echo $form->field($model, 'city') | |
| 29 | + ->textInput(); | |
| 30 | + echo $form->field($model, 'lat') | |
| 31 | + ->textInput(); | |
| 32 | + echo $form->field($model, 'lon') | |
| 33 | + ->textInput(); | |
| 34 | + | |
| 0 | 35 | \ No newline at end of file | ... | ... |
| 1 | +<?php | |
| 2 | + use common\models\Settings; | |
| 3 | + use yii\bootstrap\ActiveForm; | |
| 4 | + use yii\web\View; | |
| 5 | + | |
| 6 | + /** | |
| 7 | + * @var View $this | |
| 8 | + * @var Settings $model | |
| 9 | + * @var ActiveForm $form | |
| 10 | + */ | |
| 11 | + echo $form->field($model, 'name') | |
| 12 | + ->textInput(); | |
| 13 | + echo $form->field($model, 'logo') | |
| 14 | + ->widget( | |
| 15 | + \noam148\imagemanager\components\ImageManagerInputWidget::className(), | |
| 16 | + [ | |
| 17 | + 'showPreview' => true, | |
| 18 | + 'showDeletePickedImageConfirm' => false, | |
| 19 | + ] | |
| 20 | + ); | |
| 21 | + echo $form->field($model, 'about') | |
| 22 | + ->textarea(); | |
| 0 | 23 | \ No newline at end of file | ... | ... |
| 1 | +<?php | |
| 2 | + use common\models\Settings; | |
| 3 | + use yii\bootstrap\ActiveForm; | |
| 4 | + use yii\web\View; | |
| 5 | + | |
| 6 | + /** | |
| 7 | + * @var View $this | |
| 8 | + * @var Settings $model | |
| 9 | + * @var ActiveForm $form | |
| 10 | + */ | |
| 11 | + echo $form->field($model, 'facebook') | |
| 12 | + ->textInput(); | |
| 13 | + echo $form->field($model, 'vk') | |
| 14 | + ->textInput(); | |
| 15 | + echo $form->field($model, 'google') | |
| 16 | + ->textInput(); | |
| 17 | + echo $form->field($model, 'twitter') | |
| 18 | + ->textInput(); | |
| 19 | + echo $form->field($model, 'ok') | |
| 20 | + ->textInput(); | |
| 0 | 21 | \ No newline at end of file | ... | ... |
backend/views/settings/settings.php
| ... | ... | @@ -8,6 +8,7 @@ |
| 8 | 8 | use artbox\gentelella\widgets\XPanel; |
| 9 | 9 | use yii\bootstrap\ActiveForm; |
| 10 | 10 | use yii\bootstrap\Html; |
| 11 | + use yii\bootstrap\Tabs; | |
| 11 | 12 | use yii\web\View; |
| 12 | 13 | |
| 13 | 14 | $this->title = 'Settings'; |
| ... | ... | @@ -26,19 +27,57 @@ |
| 26 | 27 | |
| 27 | 28 | <?php |
| 28 | 29 | $form = ActiveForm::begin(); |
| 29 | - | |
| 30 | - echo $form->field($model, 'id') | |
| 31 | - ->textInput(); | |
| 32 | - | |
| 33 | - echo $form->field($model, 'name') | |
| 34 | - ->textInput(); | |
| 35 | - | |
| 36 | - echo $form->field($model, 'description') | |
| 37 | - ->textInput(); | |
| 38 | 30 | |
| 39 | - echo $form->field($model, 'analytics_key') | |
| 40 | - ->textInput(); | |
| 41 | - | |
| 31 | + echo Tabs::widget( | |
| 32 | + [ | |
| 33 | + 'options' => [ | |
| 34 | + 'class' => 'bar_tabs', | |
| 35 | + ], | |
| 36 | + 'items' => [ | |
| 37 | + [ | |
| 38 | + 'label' => \Yii::t('core', 'Main'), | |
| 39 | + 'content' => $this->render( | |
| 40 | + '_main_tab', | |
| 41 | + [ | |
| 42 | + 'model' => $model, | |
| 43 | + 'form' => $form, | |
| 44 | + ] | |
| 45 | + ), | |
| 46 | + ], | |
| 47 | + [ | |
| 48 | + 'label' => \Yii::t('core', 'Contact'), | |
| 49 | + 'content' => $this->render( | |
| 50 | + '_contact_tab', | |
| 51 | + [ | |
| 52 | + 'model' => $model, | |
| 53 | + 'form' => $form, | |
| 54 | + ] | |
| 55 | + ), | |
| 56 | + ], | |
| 57 | + [ | |
| 58 | + 'label' => \Yii::t('core', 'Social'), | |
| 59 | + 'content' => $this->render( | |
| 60 | + '_social_tab', | |
| 61 | + [ | |
| 62 | + 'model' => $model, | |
| 63 | + 'form' => $form, | |
| 64 | + ] | |
| 65 | + ), | |
| 66 | + ], | |
| 67 | + [ | |
| 68 | + 'label' => \Yii::t('core', 'Codes'), | |
| 69 | + 'content' => $this->render( | |
| 70 | + '_codes_tab', | |
| 71 | + [ | |
| 72 | + 'model' => $model, | |
| 73 | + 'form' => $form, | |
| 74 | + ] | |
| 75 | + ), | |
| 76 | + ], | |
| 77 | + ], | |
| 78 | + ] | |
| 79 | + ); | |
| 80 | + | |
| 42 | 81 | echo Html::submitButton( |
| 43 | 82 | 'Save', |
| 44 | 83 | [ | ... | ... |
backend/views/sitemap/index.php
| 1 | 1 | <?php |
| 2 | 2 | use artbox\gentelella\widgets\XPanel; |
| 3 | + use common\components\Sitemap; | |
| 3 | 4 | use yii\bootstrap\Html; |
| 4 | 5 | use yii\web\View; |
| 5 | 6 | |
| ... | ... | @@ -8,6 +9,10 @@ |
| 8 | 9 | */ |
| 9 | 10 | $this->title = \Yii::t('core', 'Sitemap'); |
| 10 | 11 | $this->params[ 'breadcrumbs' ][] = $this->title; |
| 12 | + /** | |
| 13 | + * @var Sitemap $sitemap | |
| 14 | + */ | |
| 15 | + $sitemap = \Yii::$app->get('sitemap'); | |
| 11 | 16 | ?> |
| 12 | 17 | <div class="sitemap-main"> |
| 13 | 18 | <?php |
| ... | ... | @@ -63,12 +68,32 @@ |
| 63 | 68 | [ 'generate' ], |
| 64 | 69 | [ |
| 65 | 70 | 'class' => 'btn btn-app ajax', |
| 71 | + 'data' => [ | |
| 72 | + 'need-reload' => !$sitemap->checkFileExist(), | |
| 73 | + ], | |
| 66 | 74 | ] |
| 67 | 75 | ); |
| 68 | 76 | ?> |
| 69 | 77 | </div> |
| 70 | 78 | </div> |
| 71 | 79 | <?php |
| 80 | + if ($sitemap->checkFileExist()) { | |
| 81 | + echo Html::tag( | |
| 82 | + 'div', | |
| 83 | + Html::a( | |
| 84 | + \Yii::t('core', 'View generated sitemap.xml'), | |
| 85 | + $sitemap->getUrl(), | |
| 86 | + [ | |
| 87 | + 'target' => '_blank', | |
| 88 | + ] | |
| 89 | + ), | |
| 90 | + [ | |
| 91 | + 'class' => 'row text-right', | |
| 92 | + ] | |
| 93 | + ); | |
| 94 | + } | |
| 95 | + ?> | |
| 96 | + <?php | |
| 72 | 97 | $xPanel::end(); |
| 73 | 98 | ?> |
| 74 | 99 | </div> | ... | ... |
backend/views/sitemap/update.php
| ... | ... | @@ -36,12 +36,31 @@ |
| 36 | 36 | "[$index]url", |
| 37 | 37 | [ |
| 38 | 38 | 'options' => [ |
| 39 | - 'class' => 'form-group col-xs-8 col-sm-9', | |
| 39 | + 'class' => 'form-group col-xs-5 col-sm-6', | |
| 40 | 40 | ], |
| 41 | 41 | ] |
| 42 | 42 | ) |
| 43 | 43 | ->textInput() . $form->field( |
| 44 | 44 | $model, |
| 45 | + "[$index]frequency", | |
| 46 | + [ | |
| 47 | + 'options' => [ | |
| 48 | + 'class' => 'form-group col-xs-3 col-sm-3', | |
| 49 | + ], | |
| 50 | + ] | |
| 51 | + ) | |
| 52 | + ->dropDownList( | |
| 53 | + [ | |
| 54 | + 'always' => 'always', | |
| 55 | + 'hourly' => 'hourly', | |
| 56 | + 'daily' => 'daily', | |
| 57 | + 'weekly' => 'weekly', | |
| 58 | + 'monthly' => 'monthly', | |
| 59 | + 'yearly' => 'yearly', | |
| 60 | + 'never' => 'never', | |
| 61 | + ] | |
| 62 | + ) . $form->field( | |
| 63 | + $model, | |
| 45 | 64 | "[$index]priority", |
| 46 | 65 | [ |
| 47 | 66 | 'options' => [ |
| ... | ... | @@ -49,7 +68,7 @@ |
| 49 | 68 | ], |
| 50 | 69 | ] |
| 51 | 70 | ) |
| 52 | - ->textInput() . Html::icon( | |
| 71 | + ->textInput() . Html::icon( | |
| 53 | 72 | 'minus', |
| 54 | 73 | [ |
| 55 | 74 | 'class' => 'col-xs-1 field-group-remove', |
| ... | ... | @@ -85,7 +104,7 @@ |
| 85 | 104 | <?php |
| 86 | 105 | foreach ($entity_models as $index => $entity_model) { |
| 87 | 106 | ?> |
| 88 | - <div class="form-group col-xs-9 col-sm-10"> | |
| 107 | + <div class="form-group col-xs-6 col-sm-8"> | |
| 89 | 108 | <?php |
| 90 | 109 | echo Html::tag( |
| 91 | 110 | 'div', |
| ... | ... | @@ -118,6 +137,23 @@ |
| 118 | 137 | </div> |
| 119 | 138 | <div class="form-group col-xs-3 col-sm-2"> |
| 120 | 139 | <?php |
| 140 | + echo $form->field($entity_model, "[$index]frequency") | |
| 141 | + ->label(false) | |
| 142 | + ->dropDownList( | |
| 143 | + [ | |
| 144 | + 'always' => 'always', | |
| 145 | + 'hourly' => 'hourly', | |
| 146 | + 'daily' => 'daily', | |
| 147 | + 'weekly' => 'weekly', | |
| 148 | + 'monthly' => 'monthly', | |
| 149 | + 'yearly' => 'yearly', | |
| 150 | + 'never' => 'never', | |
| 151 | + ] | |
| 152 | + ); | |
| 153 | + ?> | |
| 154 | + </div> | |
| 155 | + <div class="form-group col-xs-3 col-sm-2"> | |
| 156 | + <?php | |
| 121 | 157 | echo $form->field($entity_model, "[$index]priority") |
| 122 | 158 | ->label(false) |
| 123 | 159 | ->input( | ... | ... |
common/components/Sitemap.php
| ... | ... | @@ -6,14 +6,38 @@ |
| 6 | 6 | use yii\base\Object; |
| 7 | 7 | use yii\db\ActiveRecord; |
| 8 | 8 | use yii\helpers\Html; |
| 9 | - use yii\helpers\Url; | |
| 9 | + use yii\web\UrlManager; | |
| 10 | 10 | |
| 11 | 11 | class Sitemap extends Object |
| 12 | 12 | { |
| 13 | 13 | public $entities = []; |
| 14 | 14 | public $path = '@frontend/web/sitemap.xml'; |
| 15 | + public $url = 'sitemap.xml'; | |
| 15 | 16 | |
| 16 | 17 | /** |
| 18 | + * Get absolute url to sitemap.xml | |
| 19 | + * | |
| 20 | + * @return string | |
| 21 | + */ | |
| 22 | + public function getUrl(): string | |
| 23 | + { | |
| 24 | + /** | |
| 25 | + * @var UrlManager $urlManager | |
| 26 | + */ | |
| 27 | + $urlManager = \Yii::$app->get('urlManagerFrontend'); | |
| 28 | + return $urlManager->createAbsoluteUrl('/' . $this->url); | |
| 29 | + } | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * Check whether sitemap.xml exist | |
| 33 | + * | |
| 34 | + * @return bool | |
| 35 | + */ | |
| 36 | + public function checkFileExist(): bool | |
| 37 | + { | |
| 38 | + return file_exists(\Yii::getAlias($this->path)); | |
| 39 | + } | |
| 40 | + /** | |
| 17 | 41 | * Generate sitemap XML in $path |
| 18 | 42 | * |
| 19 | 43 | * @return bool |
| ... | ... | @@ -47,6 +71,10 @@ |
| 47 | 71 | */ |
| 48 | 72 | public function generateOneShot(): string |
| 49 | 73 | { |
| 74 | + /** | |
| 75 | + * @var UrlManager $urlManager | |
| 76 | + */ | |
| 77 | + $urlManager = \Yii::$app->get('urlManagerFrontend'); | |
| 50 | 78 | $content = '<?xml version="1.0" encoding="UTF-8"?>'; |
| 51 | 79 | $content .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; |
| 52 | 80 | /** |
| ... | ... | @@ -60,7 +88,7 @@ |
| 60 | 88 | 'url', |
| 61 | 89 | Html::tag('loc', $item->url) . Html::tag('lastmod', date('Y-m-d')) . Html::tag( |
| 62 | 90 | 'changefreq', |
| 63 | - 'monthly' | |
| 91 | + $item->frequency | |
| 64 | 92 | ) . Html::tag('priority', $item->priority) |
| 65 | 93 | ); |
| 66 | 94 | } |
| ... | ... | @@ -100,16 +128,15 @@ |
| 100 | 128 | 'url', |
| 101 | 129 | Html::tag( |
| 102 | 130 | 'loc', |
| 103 | - Url::to( | |
| 131 | + $urlManager->createAbsoluteUrl( | |
| 104 | 132 | [ |
| 105 | 133 | $entity[ 'url' ], |
| 106 | 134 | 'id' => $record->getAttribute('id'), |
| 107 | - ], | |
| 108 | - true | |
| 135 | + ] | |
| 109 | 136 | ) |
| 110 | 137 | ) . Html::tag('lastmod', date('Y-m-d')) . Html::tag( |
| 111 | 138 | 'changefreq', |
| 112 | - 'monthly' | |
| 139 | + $model->frequency | |
| 113 | 140 | ) . Html::tag('priority', $model->priority) |
| 114 | 141 | ); |
| 115 | 142 | } | ... | ... |
common/config/SitemapDynamic.php
| ... | ... | @@ -2,9 +2,10 @@ |
| 2 | 2 | |
| 3 | 3 | return [ |
| 4 | 4 | 1 => [ |
| 5 | - 'entity' => 'artbox\\core\\models\\Page', | |
| 6 | - 'status' => '1', | |
| 7 | - 'priority' => '0.6', | |
| 8 | - 'id' => 1, | |
| 5 | + 'entity' => 'artbox\\core\\models\\Page', | |
| 6 | + 'status' => '1', | |
| 7 | + 'frequency' => 'hourly', | |
| 8 | + 'priority' => '0.7', | |
| 9 | + 'id' => 1, | |
| 9 | 10 | ], |
| 10 | 11 | ]; |
| 11 | 12 | \ No newline at end of file | ... | ... |
common/config/SitemapStatic.php
| ... | ... | @@ -2,8 +2,15 @@ |
| 2 | 2 | |
| 3 | 3 | return [ |
| 4 | 4 | 1 => [ |
| 5 | - 'url' => 'http://www.artbox.dev/', | |
| 6 | - 'priority' => '1', | |
| 7 | - 'id' => 1, | |
| 5 | + 'url' => 'http://www.artbox.dev/', | |
| 6 | + 'frequency' => 'monthly', | |
| 7 | + 'priority' => '1', | |
| 8 | + 'id' => 1, | |
| 9 | + ], | |
| 10 | + 2 => [ | |
| 11 | + 'url' => 'http://www.artbox.dev/site/contacts', | |
| 12 | + 'frequency' => 'monthly', | |
| 13 | + 'priority' => '0.7', | |
| 14 | + 'id' => 2, | |
| 8 | 15 | ], |
| 9 | 16 | ]; |
| 10 | 17 | \ No newline at end of file | ... | ... |
common/config/settings.php
| ... | ... | @@ -2,17 +2,32 @@ |
| 2 | 2 | |
| 3 | 3 | return [ |
| 4 | 4 | 1 => [ |
| 5 | - 'id' => '1', | |
| 6 | - 'name' => 'Admin321', | |
| 7 | - 'description' => 'Site administrator', | |
| 5 | + 'phone' => '+38 (044) 593-73-76', | |
| 6 | + 'phone2' => '+38 (098) 468-07-64', | |
| 7 | + 'skype' => 'artwebstudio', | |
| 8 | + 'email' => 'artweb.ua@gmail.com', | |
| 9 | + 'house' => '1-М', | |
| 10 | + 'street' => 'пр. М. Бажана', | |
| 11 | + 'office' => '25', | |
| 12 | + 'city' => 'Киев', | |
| 13 | + 'country' => '', | |
| 14 | + 'lat' => '50.409382', | |
| 15 | + 'lon' => '30.646391', | |
| 16 | + 'facebook' => 'https://www.facebook.com/ArtWeb.ua/', | |
| 17 | + 'vk' => 'https://vk.com/artwebua', | |
| 18 | + 'ok' => 'https://ok.ru/artwebua', | |
| 19 | + 'google' => 'https://plus.google.com/+ArtwebUaAgency', | |
| 20 | + 'twitter' => 'https://twitter.com/ArtWeb_ua', | |
| 21 | + 'name' => 'Artweb', | |
| 22 | + 'logo' => '2', | |
| 23 | + 'about' => 'Строим бизнес в онлайне', | |
| 8 | 24 | 'analytics_key' => '119240817', |
| 9 | 25 | 'robots' => 'User-agent: Google |
| 10 | 26 | Disallow: |
| 11 | - | |
| 12 | -User-agent: * | |
| 13 | -Disallow: /', | |
| 14 | - 'ga_code' => 'TEst', | |
| 15 | - 'ya_code' => 'TEst 2', | |
| 16 | - 'tag_manager' => 'TEst 3', | |
| 27 | +', | |
| 28 | + 'ga_code' => '796967', | |
| 29 | + 'ya_code' => '08908908', | |
| 30 | + 'tag_manager' => '', | |
| 31 | + 'id' => 1, | |
| 17 | 32 | ], |
| 18 | 33 | ]; |
| 19 | 34 | \ No newline at end of file | ... | ... |
common/models/Settings.php
| 1 | 1 | <?php |
| 2 | 2 | namespace common\models; |
| 3 | - | |
| 3 | + | |
| 4 | + use noam148\imagemanager\models\ImageManager; | |
| 4 | 5 | use yii2tech\filedb\ActiveRecord; |
| 5 | 6 | use Yii; |
| 6 | 7 | |
| ... | ... | @@ -8,14 +9,30 @@ |
| 8 | 9 | * Class Settings |
| 9 | 10 | * |
| 10 | 11 | * @package artbox\core\models |
| 11 | - * @property string $name | |
| 12 | - * @property string $id | |
| 13 | - * @property string $description | |
| 14 | 12 | * @property string $analytics_key |
| 15 | 13 | * @property string $robots |
| 16 | 14 | * @property string $ga_code |
| 17 | 15 | * @property string $ya_code |
| 18 | 16 | * @property string $tag_manager |
| 17 | + * @property string $phone | |
| 18 | + * @property string $phone2 | |
| 19 | + * @property string $skype | |
| 20 | + * @property string $email | |
| 21 | + * @property string $house | |
| 22 | + * @property string $street | |
| 23 | + * @property string $office | |
| 24 | + * @property string $city | |
| 25 | + * @property string $country | |
| 26 | + * @property float $lat | |
| 27 | + * @property float $lon | |
| 28 | + * @property string $facebook | |
| 29 | + * @property string $vk | |
| 30 | + * @property string $ok | |
| 31 | + * @property string $google | |
| 32 | + * @property string $twitter | |
| 33 | + * @property string name | |
| 34 | + * @property int $logo | |
| 35 | + * @property string $about | |
| 19 | 36 | */ |
| 20 | 37 | class Settings extends ActiveRecord |
| 21 | 38 | { |
| ... | ... | @@ -50,17 +67,70 @@ |
| 50 | 67 | return [ |
| 51 | 68 | [ |
| 52 | 69 | [ |
| 53 | - 'name', | |
| 54 | - 'description', | |
| 55 | - 'id', | |
| 56 | 70 | 'analytics_key', |
| 57 | 71 | 'robots', |
| 58 | 72 | 'ga_code', |
| 59 | 73 | 'ya_code', |
| 60 | 74 | 'tag_manager', |
| 75 | + 'phone', | |
| 76 | + 'phone2', | |
| 77 | + 'skype', | |
| 78 | + 'email', | |
| 79 | + 'house', | |
| 80 | + 'street', | |
| 81 | + 'office', | |
| 82 | + 'city', | |
| 83 | + 'country', | |
| 84 | + 'facebook', | |
| 85 | + 'vk', | |
| 86 | + 'google', | |
| 87 | + 'twitter', | |
| 88 | + 'name', | |
| 89 | + 'about', | |
| 90 | + 'ok', | |
| 61 | 91 | ], |
| 62 | 92 | 'string', |
| 63 | 93 | ], |
| 94 | + [ | |
| 95 | + [ | |
| 96 | + 'lat', | |
| 97 | + 'lon', | |
| 98 | + ], | |
| 99 | + 'double', | |
| 100 | + ], | |
| 101 | + [ | |
| 102 | + [ | |
| 103 | + 'email', | |
| 104 | + ], | |
| 105 | + 'email', | |
| 106 | + ], | |
| 107 | + [ | |
| 108 | + [ | |
| 109 | + 'logo', | |
| 110 | + ], | |
| 111 | + 'integer', | |
| 112 | + ], | |
| 113 | + [ | |
| 114 | + [ | |
| 115 | + 'logo', | |
| 116 | + ], | |
| 117 | + 'exist', | |
| 118 | + 'targetClass' => ImageManager::className(), | |
| 119 | + 'targetAttribute' => 'id', | |
| 120 | + ], | |
| 121 | + [ | |
| 122 | + [ | |
| 123 | + 'logo', | |
| 124 | + ], | |
| 125 | + 'filter', | |
| 126 | + 'filter' => function ($value) { | |
| 127 | + if (empty( $value )) { | |
| 128 | + return null; | |
| 129 | + } else { | |
| 130 | + return $value; | |
| 131 | + } | |
| 132 | + }, | |
| 133 | + ], | |
| 64 | 134 | ]; |
| 65 | 135 | } |
| 66 | 136 | |
| ... | ... | @@ -78,14 +148,30 @@ |
| 78 | 148 | public function attributeLabels() |
| 79 | 149 | { |
| 80 | 150 | return [ |
| 81 | - 'id' => Yii::t('core', 'ID'), | |
| 82 | - 'name' => Yii::t('core', 'Name'), | |
| 83 | - 'description' => Yii::t('core', 'Description'), | |
| 84 | 151 | 'analytics_key' => Yii::t('core', 'Google Analytics Key'), |
| 85 | 152 | 'robots' => Yii::t('core', 'Robots'), |
| 86 | 153 | 'ga_code' => Yii::t('core', 'Google analytics code'), |
| 87 | 154 | 'ya_code' => Yii::t('core', 'Yandex metrics code'), |
| 88 | 155 | 'tag_manager' => Yii::t('core', 'Tag Manager code'), |
| 156 | + 'phone' => Yii::t('core', 'Phone'), | |
| 157 | + 'phone2' => Yii::t('core', 'Additional phone'), | |
| 158 | + 'skype' => Yii::t('core', 'Skype'), | |
| 159 | + 'name' => Yii::t('core', 'Company name'), | |
| 160 | + 'email' => Yii::t('core', 'Email'), | |
| 161 | + 'house' => Yii::t('core', 'House'), | |
| 162 | + 'street' => Yii::t('core', 'Street'), | |
| 163 | + 'office' => Yii::t('core', 'Office'), | |
| 164 | + 'city' => Yii::t('core', 'City'), | |
| 165 | + 'country' => Yii::t('core', 'Country'), | |
| 166 | + 'lat' => Yii::t('core', 'Latitude'), | |
| 167 | + 'lon' => Yii::t('core', 'Longitude'), | |
| 168 | + 'facebook' => Yii::t('core', 'Facebook'), | |
| 169 | + 'vk' => Yii::t('core', 'VK'), | |
| 170 | + 'google' => Yii::t('core', 'Google'), | |
| 171 | + 'twitter' => Yii::t('core', 'Twitter'), | |
| 172 | + 'logo' => Yii::t('core', 'Company logo'), | |
| 173 | + 'about' => Yii::t('core', 'About us'), | |
| 174 | + 'ok' => Yii::t('core', 'Odnoklassniki'), | |
| 89 | 175 | ]; |
| 90 | 176 | } |
| 91 | 177 | ... | ... |
common/models/SitemapDynamic.php
| ... | ... | @@ -12,6 +12,7 @@ |
| 12 | 12 | * @property string $entity |
| 13 | 13 | * @property bool $status |
| 14 | 14 | * @property float $priority |
| 15 | + * @property string $frequency | |
| 15 | 16 | */ |
| 16 | 17 | class SitemapDynamic extends ActiveRecord |
| 17 | 18 | { |
| ... | ... | @@ -37,6 +38,7 @@ |
| 37 | 38 | 'entity', |
| 38 | 39 | 'status', |
| 39 | 40 | 'priority', |
| 41 | + 'frequency', | |
| 40 | 42 | ]; |
| 41 | 43 | } |
| 42 | 44 | |
| ... | ... | @@ -59,6 +61,7 @@ |
| 59 | 61 | 'entity', |
| 60 | 62 | 'status', |
| 61 | 63 | 'priority', |
| 64 | + 'frequency', | |
| 62 | 65 | ], |
| 63 | 66 | 'required', |
| 64 | 67 | ], |
| ... | ... | @@ -71,6 +74,7 @@ |
| 71 | 74 | [ |
| 72 | 75 | [ |
| 73 | 76 | 'entity', |
| 77 | + 'frequency', | |
| 74 | 78 | ], |
| 75 | 79 | 'string', |
| 76 | 80 | ], |
| ... | ... | @@ -91,10 +95,11 @@ |
| 91 | 95 | public function attributeLabels() |
| 92 | 96 | { |
| 93 | 97 | return [ |
| 94 | - 'id' => Yii::t('core', 'ID'), | |
| 95 | - 'entity' => Yii::t('core', 'Model'), | |
| 96 | - 'status' => Yii::t('core', 'Status'), | |
| 97 | - 'priority' => Yii::t('core', 'Priority'), | |
| 98 | + 'id' => Yii::t('core', 'ID'), | |
| 99 | + 'entity' => Yii::t('core', 'Model'), | |
| 100 | + 'status' => Yii::t('core', 'Status'), | |
| 101 | + 'priority' => Yii::t('core', 'Priority'), | |
| 102 | + 'frequency' => Yii::t('core', 'Frequency'), | |
| 98 | 103 | ]; |
| 99 | 104 | } |
| 100 | 105 | ... | ... |
common/models/SitemapStatic.php
| ... | ... | @@ -11,6 +11,7 @@ |
| 11 | 11 | * @property int $id |
| 12 | 12 | * @property string $url |
| 13 | 13 | * @property float $priority |
| 14 | + * @property string $frequency | |
| 14 | 15 | */ |
| 15 | 16 | class SitemapStatic extends ActiveRecord |
| 16 | 17 | { |
| ... | ... | @@ -31,6 +32,7 @@ |
| 31 | 32 | 'id', |
| 32 | 33 | 'url', |
| 33 | 34 | 'priority', |
| 35 | + 'frequency', | |
| 34 | 36 | ]; |
| 35 | 37 | } |
| 36 | 38 | |
| ... | ... | @@ -66,6 +68,7 @@ |
| 66 | 68 | [ |
| 67 | 69 | [ |
| 68 | 70 | 'url', |
| 71 | + 'frequency', | |
| 69 | 72 | ], |
| 70 | 73 | 'string', |
| 71 | 74 | ], |
| ... | ... | @@ -78,9 +81,10 @@ |
| 78 | 81 | public function attributeLabels() |
| 79 | 82 | { |
| 80 | 83 | return [ |
| 81 | - 'id' => Yii::t('core', 'ID'), | |
| 82 | - 'url' => Yii::t('core', 'Url'), | |
| 83 | - 'priority' => Yii::t('core', 'Priority'), | |
| 84 | + 'id' => Yii::t('core', 'ID'), | |
| 85 | + 'url' => Yii::t('core', 'Url'), | |
| 86 | + 'priority' => Yii::t('core', 'Priority'), | |
| 87 | + 'frequency' => Yii::t('core', 'Frequency'), | |
| 84 | 88 | ]; |
| 85 | 89 | } |
| 86 | 90 | ... | ... |
composer.lock
| ... | ... | @@ -4,8 +4,8 @@ |
| 4 | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
| 5 | 5 | "This file is @generated automatically" |
| 6 | 6 | ], |
| 7 | - "hash": "36eb0ae581bcd3b79ac784abbb046108", | |
| 8 | - "content-hash": "51847bf92742211dfa7159261b54c33b", | |
| 7 | + "hash": "c2e977cd213cebff0ae0575975d20974", | |
| 8 | + "content-hash": "ca665ed7c0e1bd63947fab086b435a30", | |
| 9 | 9 | "packages": [ |
| 10 | 10 | { |
| 11 | 11 | "name": "2amigos/yii2-tinymce-widget", | ... | ... |
| 1 | +<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>http://www.artbox.dev/</loc><lastmod>2017-03-30</lastmod><changefreq>monthly</changefreq><priority>1</priority></url><url><loc>http://www.artbox.dev/site/contacts</loc><lastmod>2017-03-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url><url><loc>http://www.artbox.dev/en/text-en</loc><lastmod>2017-03-30</lastmod><changefreq>hourly</changefreq><priority>0.7</priority></url></urlset> | |
| 0 | 2 | \ No newline at end of file | ... | ... |