Commit c21f21ad by semenov

Доработка модуля

parent b274df9e
......@@ -9,6 +9,7 @@ use skeeks\cms\models\behaviors\HasStatus;
use skeeks\cms\models\behaviors\Implode;
use skeeks\cms\models\Core;
use skeeks\cms\models\User;
use yii\helpers\ArrayHelper;
/**
* This is the model class for table "reviews".
......@@ -45,14 +46,14 @@ class Reviews extends Core
*/
public function behaviors()
{
return parent::behaviors();
/*
return array_merge(parent::behaviors(), [
HasFiles::className() => [
"class" => HasFiles::className(),
return ArrayHelper::merge(parent::behaviors(), [
HasStatus::className() =>
[
'class' => HasStatus::className()
],
]);
*/
}
/**
......@@ -94,10 +95,6 @@ class Reviews extends Core
'url' => 'Url',//\Yii::t('app', 'Url'),
//'user_id' => \Yii::t('app', 'User ID'),
'status' => 'Статус',//\Yii::t('app', 'Status'),
'created_by' => 'Создан',//\Yii::t('app', 'Created By'),
'updated_by' => 'Изменен',//\Yii::t('app', 'Updated By'),
'created_at' => 'Создан',//\Yii::t('app', 'Created At'),
'updated_at' => 'Изменен',//\Yii::t('app', 'Updated At'),
]);
}
......
......@@ -18,14 +18,7 @@ use skeeks\cms\modules\admin\widgets\Pjax;
<?= $form->field($model, 'email')->textInput(['maxlength' => 255]) ?>
<?= $form->field($model, 'text')->textarea() ?>
<?= $form->field($model, 'url')->textInput(['maxlength' => 255]) ?>
<?= $form->field($model, 'status')->widget(
\skeeks\widget\chosen\Chosen::className(), [
'items' => [
'20' => 'Не опубликован',
'10' => 'Опубликован',
]
]);
?>
<?= $form->buttonsCreateOrUpdate($model); ?>
......
......@@ -26,7 +26,8 @@ $dataProvider->setSort(['defaultOrder' => [
//['class' => \skeeks\cms\grid\ImageColumn::className()],
'name',
'status',
['class' => \skeeks\cms\grid\StatusColumn::className()],
[
'class' => \yii\grid\DataColumn::className(),
......
......@@ -21,21 +21,21 @@ use yii\data\Pagination;
*/
class Reviews extends WidgetHasModelsSmart //\skeeks\cms\widgets\base\hasTemplate\WidgetHasTemplate
{
public $modelClassName = '\skeeks\modules\cms\reviews\models\Reviews';
/**
* @var null|string
*/
public $title = '';
public $status = 10;
public $limit = 10;
public $orderBy = null;
public $statuses = [];
public $modelClassName = '\skeeks\modules\cms\reviews\models\Reviews';
public function rules()
{
return ArrayHelper::merge(parent::rules(), [
[['title'], 'string'],
[['status', 'limit', 'orderBy'], 'safe'],
[['statuses'], 'safe'],
]);
}
......@@ -55,21 +55,11 @@ class Reviews extends WidgetHasModelsSmart //\skeeks\cms\widgets\base\hasTemplat
{
$find->limit($this->limit);
}
/*
if ($this->orderBy)
if ($this->statuses)
{
$find->orderBy($this->orderBy);
}*/
if ($this->status)
{
$find->andWhere(['status' => $this->status]);
$find->andWhere(['status' => $this->statuses]);
}
$find->orderBy('created_at DESC');
$this->_data->set('models', $find->all());
return $this;
}
}
......@@ -10,7 +10,7 @@
*/
use yii\helpers\Html;
use skeeks\cms\widgets\base\hasTemplate\ActiveForm;
use skeeks\cms\widgets\base\hasModelsSmart\ActiveForm;
$tree = new \skeeks\cms\models\Tree();
......@@ -20,45 +20,23 @@ $tree = new \skeeks\cms\models\Tree();
?>
<?php $form = ActiveForm::begin(); ?>
<?= $form->templateElement($model); ?>
<?= $form->standartElements($model); ?>
<?//= $form->field($model, 'title')->textInput(); ?>
<?= $form->fieldSet('Дополнительные фильтры'); ?>
<?= $form->field($model, 'statuses')->label('Статусы')->widget(
\skeeks\widget\chosen\Chosen::className(), [
'items' => $tree->getPossibleStatuses(),
'multiple' => true,
]);
?>
<?/*= $form->field($model, 'tree_ids')->widget(
\skeeks\widget\chosen\Chosen::className(), [
'items' => \skeeks\cms\models\helpers\Tree::getAllMultiOptions(),
'multiple' => true
]);*/
?>
<?= $form->fieldSetEnd(); ?>
<?= $form->field($model, 'limit')->textInput(); ?>
<?/*= $form->field($model, 'types')->widget(
\skeeks\widget\chosen\Chosen::className(), [
'items' => \yii\helpers\ArrayHelper::map(
(new \skeeks\cms\models\Publication())->getDescriptor()->getTypes()->getComponents(),
"id",
"name"
),
'multiple' => true,
]);*/
?>
<?/*= $form->field($model, 'statuses')->widget(
\skeeks\widget\chosen\Chosen::className(), [
'items' => $tree->getPossibleStatuses(),
'multiple' => true,
]);*/
?>
<?/*= $form->field($model, 'statusesAdults')->widget(
\skeeks\widget\chosen\Chosen::className(), [
'items' => $tree->getPossibleAdultStatuses(),
'multiple' => true,
]);*/
?>
<?= $form->fieldSet('Прочее'); ?>
<?= $form->field($model, 'title')->label('Заголовок')->textInput(); ?>
<?= $form->fieldSetEnd(); ?>
<?= $form->buttonsCreateOrUpdate($model); ?>
<?php ActiveForm::end(); ?>
......
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 06.03.2015
*
* @var \skeeks\modules\cms\reviews\models\Reviews $model
*/
$name = '';
if($model->created_by)
{
$name = $model->fetchCreatedBy()->username;
}
else
{
$name = $model->name;
}
?>
<li>
<div class="bl-reviews-title">
<div class="cl-grey"><?= Yii::$app->formatter->asDatetime($model->created_at) ?></div>
<? if($name) : ?>
<div class="condensed fz18"><?=$name?></div>
<? endif; ?>
</div>
<div class="bl-reviews-content fz12">
<?= $model->text; ?>
</div>
</li>
<?php
/**
* //TODO: menu-top-contacts - add to last element
*
* @var \skeeks\cms\models\Tree[] $models
* @var \skeeks\cms\widgets\treeChildrens\TreeChildrens $widget
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 17.03.2015
*/
/* @var $this yii\web\View */
/* @var $dataProvider \yii\data\ActiveDataProvider */
/* @var $widget \skeeks\cms\widgets\publicationsAll\PublicationsAll */
/* @var $search \skeeks\cms\models\Search */
?>
<? if ($models) : ?>
<ul class="unstyled bl-links">
<? foreach ($models as $model) : ?>
<?
$name = '';
if($model->created_by)
{
$name = $model->fetchCreatedBy()->username;
}
else
{
$name = $model->name;
}
?>
<li>
<div class="bl-reviews-title">
<div class="cl-grey"><?= Yii::$app->formatter->asDate($model->created_at)?></div>
<?if($name):?>
<div class="condensed fz18"><?=$name?></div>
<?endif?>
</div>
<div class="bl-reviews-content fz12">
<?=$model->text;?>
</div>
</li>
<? endforeach; ?>
</ul>
<? endif;?>
<button class="btn btn-primary mb-10" type="button">Добавить отзыв</button><br/>
\ No newline at end of file
<? if ($widget->title): ?>
<h2><?= $widget->title ?></h2>
<? endif; ?>
<? if ($widget->usePaging) : ?>
<? $template = "<p>{summary}</p>{pager}\n{items}\n{pager}"; ?>
<? else: ?>
<? $template = "\n{items}"; ?>
<? endif; ?>
<ul class="unstyled bl-links">
<? echo \yii\widgets\ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '_one',
'emptyText' => '',
'layout' => $template
])?>
</ul>
<button class="btn btn-primary mb-10" type="button">Добавить отзыв</button><br/>
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 sign in to comment