Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Допустим, новости хранятся в таблице article с полями id, title, views и year
- */
- class Article extends yiibaseModel //yiidbActiveRecord
- {
- // Я добавил поля в модель и наследовал yiibaseModel потому, что не работаю с бд
- public $id;
- public $title;
- public $views;
- public $year;
- public static function tableName()
- {
- return "article";
- }
- }
- /**
- * $articles = Article::find()
- * // Сортируем по году и ID
- * ->orderBy(['year' => SORT_DESC, 'id' => SORT_ASC])
- * // Массив будет такого вида: [2017 => [Article, Article, ....], 2018 => [...]]
- * ->indexBy('year')
- * ->all();
- */
- // У меня такой таблиц нет, я просто эмулирую выборку
- $articles = [
- 2016 => [
- new Article([
- 'id' => 1,
- 'title' => "Test title",
- 'views' => 100500,
- 'year' => 2016
- ]),
- new Article([
- 'id' => 2,
- 'title' => "Test title 2",
- 'views' => 1000,
- 'year' => 2016
- ]),
- new Article([
- 'id' => 3,
- 'title' => "Title for 3",
- 'views' => 200,
- 'year' => 2016
- ]),
- ],
- 2017 => [
- new Article([
- 'id' => 4,
- 'title' => "Test title 2017",
- 'views' => 100500,
- 'year' => 2017
- ]),
- new Article([
- 'id' => 5,
- 'title' => "Test title 2017 2",
- 'views' => 0,
- 'year' => 2017
- ]),
- new Article([
- 'id' => 6,
- 'title' => "Title for 2017 3",
- 'views' => 800,
- 'year' => 2017
- ]),
- ]
- ];
- <div class="ThisDay-default-index">
- <div class="form-group thisday-butt">
- <div class="col-md-2">
- <button type="submit" class="btn btn-default">Далее</button>
- </div>
- </div>
- <p class="thisday-time">Выберите ключевые новости
- 12 Января из прошлого:</p>
- <?php
- $form = yiiwidgetsActiveForm::begin([
- 'options' => [
- 'class' => 'thisday-content',
- ],
- ]); ?>
- <div class="thisday-container">
- <div class="horizontal-scroll-wrapper">
- <?php foreach ($articles as $year => $yearArticles): ?>
- <div class="control-group">
- <h3><?= $year ?></h3>
- <?php foreach ($yearArticles as $article): ?>
- <?= $form->field($article, 'id[' . $year . '][]')->radio([
- 'label' => apphelpersHtml::encode($article->title)
- . apphelpersHtml::tag('div', '', ['class' => 'control__indicator'])
- . apphelpersHtml::tag('span', $article->views, ['class' => 'control-views-count']),
- 'labelOptions' => [
- 'encode' => false,
- 'class' => 'control control--radio',
- ],
- ]); ?>
- <?php endforeach; ?>
- </div>
- <?php endforeach; ?>
- </div>
- </div>
- <?php yiiwidgetsActiveForm::end(); ?>
- </div>
Add Comment
Please, Sign In to add comment