Blame view

app/Providers/ComposerServiceProvider.php 2.34 KB
6eff6bf11   Андрей Ларионов   Админка сайта кат...
1
2
3
4
5
  <?php
  
  namespace App\Providers;
  
  use App\Models\Category;
e73374e87   Андрей Ларионов   Каталог ajax, адм...
6
  use App\Models\Company;
1bd0c6ebe   Андрей Ларионов   Админка, товары. ...
7
  use App\Models\Good;
6eff6bf11   Андрей Ларионов   Админка сайта кат...
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  use Illuminate\Support\Facades\View;
  use Illuminate\Support\ServiceProvider;
  
  class ComposerServiceProvider extends ServiceProvider
  {
      /**
       * Register services.
       *
       * @return void
       */
      public function register()
      {
          $views = [
              'layout.part.categories', //меню в правой колонке в публичной части
              'admin.part.categories', //выбор категории поста при редактировании
              'admin.part.parents', //выбор родителя категории при редактировании
              'admin.part.all-ctgs', //все категории в административной части
1bd0c6ebe   Андрей Ларионов   Админка, товары. ...
25
              'admin.part.category_id',
0cbcbfbe0   Андрей Ларионов   Дополнительные ка...
26
27
              'layout.site',
              'layout.admin',
6eff6bf11   Андрей Ларионов   Админка сайта кат...
28
29
30
31
32
33
34
35
36
          ];
          View::composer($views,
              function($view) {
                  static $items = null;
                  if (is_null($items)) {
                      $items = Category::all();
                  }
                  $view->with(['items' => $items]);
              });
1bd0c6ebe   Андрей Ларионов   Админка, товары. ...
37
38
39
40
41
42
43
44
45
46
47
48
  
          $views = [
              'admin.part.goods',
          ];
          View::composer($views,
              function($view) {
                  static $items = null;
                  if (is_null($items)) {
                      $items = Good::all();
                  }
                  $view->with(['items' => $items]);
              });
e73374e87   Андрей Ларионов   Каталог ajax, адм...
49
50
51
52
53
54
55
56
57
58
          $views = [
              'layout.admin',
              'index',
              'company',
          ];
          View::composer($views,
              function($view) {
                  $company = Company::query()->where('id', '=', '1')->get();
                  $view->with(['company' => $company]);
              });
1bd0c6ebe   Андрей Ларионов   Админка, товары. ...
59

6eff6bf11   Андрей Ларионов   Админка сайта кат...
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
      }
  
      /**
       * Bootstrap services.
       *
       * @return void
       */
      public function boot()
      {
          View::composer('layout.part.categories',
              function($view)
              {
                  static $items = null;
  
                  if (is_null($items)) {
                      $items = Category::all();
                      $parent = 0;
                      $view->with(['items' => $items, 'parent' => $parent]);
                  } else {
                      $view->with(['items' => $items]);
                  }
  
              }
          );
      }
  }