Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Laravel 5.4 Kolory eventu, Problem z nadawaniem koloru eventu
K3n0
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.05.2016

Ostrzeżenie: (0%)
-----


Witam,
Mam problem dotyczący nadawania kolory dla poszczególnego eventu w kalendarzu. Chodzi mi o to, że mam tworzenie evetu i jest wbór tytulu eventu np Wydzial 1,2,3,4 i teraz chcialbym, żeby przy dodawaniu eventu ustawił się kolor względem wybranego tytułu.
Funkcja odpowiedzialna za wyświetlanie eventu w controllerze:
  1. /**
  2.   * Show the application dashboard.
  3.   *
  4.   * @return \Illuminate\Http\Response
  5.   */
  6. public function index()
  7. {
  8. $event = HomeModel::all();
  9.  
  10.  
  11. if($event->count()>0)
  12. {
  13. foreach ($event as $eve)
  14. {
  15. $all_day = $eve->day;
  16. $events[] = \Calendar::event(
  17. $eve->title,
  18. $eve->all_day,
  19. $eve->start,
  20. $eve->end,
  21. $eve->id
  22.  
  23. );
  24. }
  25. }
  26. else
  27. {
  28. $events = [];
  29.  
  30. }
  31.  
  32. $titles = HomeModel::where('title')->get();
  33.  
  34. foreach($titles as $title) {
  35. if($title == "Wydzial 1") {
  36. $color = '#378006';
  37. } elseif ($title == "Wydzial 2") {
  38. $color = '#ff0000';
  39. } elseif ($title == "Wydzial 3") {
  40. $color = '#73e600';
  41. } else {
  42. $color = '#0066ff';
  43. }
  44. }
  45.  
  46.  
  47. $calendar = \Calendar::addEvents($events)
  48. ->setOptions([
  49. 'FirstDay' => 1,
  50. 'contentheight' => 650,
  51. 'editable' => false,
  52. 'allDay' => false,
  53. 'aspectRatio' => 2,
  54. 'slotLabelFormat' => 'HH:mm:ss',
  55. 'timeFormat' => 'HH:mm',
  56. //'color' => $color
  57. ])->setCallbacks([]);
  58.  
  59. return view('home', compact('calendar'));
  60.  
  61. }
  62.  

Go to the top of the page
+Quote Post
Omenomn
post
Post #2





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 4.02.2014

Ostrzeżenie: (20%)
X----


Nie lepiej zrobić wybór koloru przy dodawaniu eventu?
Uzależnianie czegoś od treści tytułu to lekki bezsens, już lepiej użyć do tego pola slug, które ma ograniczoną ilość i różnorodność znaków.

Po za tym dodatkowe atrybuty modeli tworzy się w modelu, więc kod:
Kod
  
if($title == "Wydzial 1") {
                $color = '#378006';
            } elseif ($title == "Wydzial 2") {
                $color = '#ff0000';
            } elseif ($title == "Wydzial 3") {
                $color = '#73e600';
            } else  {
                $color = '#0066ff';
            }


powinien znaleźć się w modeu w funkcji getColorAttribute()

i wtedy wyciągasz kolor $model->color.

Ten post edytował Omenomn 12.03.2017, 08:44:51
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:41