_layout.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: NODELOG
  5. * Date: 2016/12/15
  6. * Time: 下午3:14
  7. */
  8. /**
  9. * @var \yii\web\View $this
  10. * @var common\modules\book\models\BookChapter $model
  11. */
  12. use common\helpers\Tree;
  13. $chapters = $model->book->chapters;
  14. $items = [];
  15. foreach ($chapters as $chapter) {
  16. $item = [];
  17. $item['label'] = $chapter->chapter_name;
  18. $item['url'] = ['update-chapter', 'id' => $chapter->id];
  19. $item['active'] = (request('id') == $chapter->id && Yii::$app->controller->action->id == 'update-chapter') || (request('chapter_id') == $chapter->id && Yii::$app->controller->action->id == 'create-chapter');
  20. $item['id'] = $chapter->id;
  21. $item['pid'] = $chapter->pid;
  22. $item['linkOptions'] = ['data-id' => $chapter->id, 'data-pid' => $chapter->pid];
  23. $items[] = $item;
  24. }
  25. $menuItems = Tree::build($items, 'id', 'pid', 'items');
  26. ?>
  27. <style>
  28. .btn-operate-chapter {
  29. position: absolute;
  30. right:10px;
  31. top:10px;
  32. z-index:999;
  33. }
  34. .btn-operate-chapter a{
  35. width: 30px;
  36. height: 30px;
  37. background-color: rgba(0, 0, 0, 0.8);
  38. padding: 4px;
  39. border-radius: 5px;
  40. color: #fff;
  41. margin-left:5px;
  42. }
  43. </style>
  44. <div class="row">
  45. <div class="col-md-3">
  46. <?= \common\widgets\SideNavWidget::widget([
  47. 'items' => $menuItems
  48. ]) ?>
  49. <?= \yii\helpers\Html::a('<i class="fa fa-plus"></i> 新增章节', ['/book/admin/create-chapter', 'id' => $model->book->id], ['class' => 'btn bg-maroon btn-sm']) ?>
  50. </div>
  51. <div class="col-md-9">
  52. <div class="box box-solid">
  53. <div class="box-body">
  54. <?= $content ?>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. <?php $this->beginBlock('js') ?>
  60. <script>
  61. $('.list-group-item').hover(function(){
  62. var that = this;
  63. var createChapterUrl = '<?= url(['create-chapter']) ?>';
  64. var deleteChapterUrl = '<?= url(['delete-chapter']) ?>';
  65. var movePrevUrl = '<?= url(['move-chapter', 'at' => 'prev']) ?>';
  66. var moveNextUrl = '<?= url(['move-chapter', 'at' => 'next']) ?>';
  67. var chapterId = $(this).data('id');
  68. var bookId = '<?= $model->book->id ?>';
  69. $('<span>', {"class":'btn-operate-chapter'})
  70. .append('<a href="' + movePrevUrl.addQueryParams({id:chapterId}) + '" data-method="post"><i class="fa fa-arrow-up"></i></a>')
  71. .append('<a href="' + moveNextUrl.addQueryParams({id:chapterId}) + '" data-method="post"><i class="fa fa-arrow-down"></i></a>')
  72. .append('<a href="' + createChapterUrl.addQueryParams({id:bookId, chapter_id:chapterId}) + '"><i class="fa fa-plus"></i></a>')
  73. .append('<a href="' + deleteChapterUrl.addQueryParams({id:chapterId}) + '" data-confirm="确认要删除这个章节吗?"><i class="fa fa-remove"></i></a>')
  74. .appendTo(that);
  75. }, function () {
  76. $(this).find('.btn-operate-chapter').remove();
  77. })
  78. </script>
  79. <?php $this->endBlock() ?>