2017-04-23 3 views
0

Ich versuche, eine Anwendung mit Laravel zu erstellen, und ich habe einige Schwierigkeiten zu verstehen, wie Inhalt dynamisch in eine Abteilung gemäß der Schaltfläche aus der Menüleiste geklickt wird .Dynamisch Inhalt in einer Abteilung auf Knopfdruck in Laravel laden

Ich habe eine obere Navigationsleiste, seitliche Navigationsleiste und einen Hauptinhaltsabschnitt auf der Homepage.

Ich möchte, dass sich der Hauptinhalt entsprechend der ausgewählten Option aus der seitlichen Navigationsleiste ändert, aber ich kann die Lösung nicht finden.

@extends('layouts.app') 
@section('title', '| Homepage') 

@section('content') 
    <div id="wrapper" class="active"> 

     <!-- Sidebar --> 
      <!-- Sidebar --> 
     <div id="sidebar-wrapper"> 
      <ul id="sidebar_menu" class="sidebar-nav"> 
       <li class="sidebar-brand">menu</li> 
      </ul> 
      @include('includes.sidebar') 
     </div> 

     <!-- Page content --> 
     <div id="page-content-wrapper"> 
     <!-- Keep all page content within the page-content inset div! --> 
     <div class="page-content inset"> 
      <div class="row"> 
      <!--this part will change--> 
      </div> 
     </div> 
     </div> 
     </div> 
@endsection 

dies ist die home.blade.php. Ich habe es mit Layout und Teilkonzept von Laravel erstellt. Ich möchte ein Formular im Hauptinhaltsbereich laden, wenn der Benutzer dies durch Klicken auf die Seitenleiste anfordert.

kann mir bitte jemand helfen mit dem wie es geht?

+0

Ich schlage zu verwenden 'javascript' oder' jquery' Ihre Aufgabe zu erreichen – Shashika

Antwort

2

Sie können das Ereignis onclick einer Schaltfläche verwenden, um eine Funktion aufzurufen, wenn auf diese Schaltfläche geklickt wird.

aber zuerst müssen Sie Routen und Ansichten für Ihren dynamischen Div-Inhalt definieren. so

  1. Erstellen Sie eine Ansicht in resources/views Ordner wie und den Code für Ihre Hauptinhalt setzen.
  2. schaffen eine Route in routes/web.php die die Sicht machen wir nur

    erstellt

    Route::get("/main_content", function() { return View::make("main_content"); });

  3. nehme an, Sie dazu in der Sidebar eine Schaltfläche ähnlich haben.

    <button onclick="load_main_content()" type="button">load</button>

    auch eine id zum div zuweisen denken Sie daran, das sollte wie

    <div class="row" id="main_content_div"> <!--this part will change--> </div>

    ändern

    dann sollte funktionieren wie diese

    <script type="text/javascript"> function load_main_content() { $('#main_content_div').load('/main_content/'); } </script> sein

So jetzt, wenn die Schaltfläche geklickt wird, sollte die Ansicht automatisch in das Div geladen werden.

hoffe, das hilft

+0

Ihnen für Ihre Antwort danken .. es tatsächlich funktioniert aber nicht, dass sie ich wollte Weg. wahrscheinlich muss ich meine Frage neu formulieren. Meine Sidebar hat Drop-Down-Menüs und Untermenüs und alle von ihnen ändern die Ansicht des Hauptinhalts, wenn darauf geklickt wird. Ihre Methode hat absolut funktioniert, als ich mit einer Ansicht gearbeitet habe. aber irgendwie hat es einige Fehler beim Arbeiten mit mehreren Ansichten. Ich habe einen Weg gefunden, es zu lösen. Allerdings muss jedes Mal, wenn eine Ansicht aufgerufen wird, ein Teil geladen werden. Aber jetzt funktioniert es gut. danke .. – Mill3r

+0

Sie sollten wahrscheinlich ein Master-Layout haben, die nur Sidebar und anderen Inhalt hat, die über die Anwendung konstant bleiben.und die Seitenleisten-Links zeigen auf mehrere Ansichten für alle Ihre Seiten. Sie sollten auch in den Controller schauen, da sie sehr wichtig sind, wenn Sie planen, eine Webanwendung mit Logik und nicht nur mit statischer Site zu erstellen. Wie auch immer, du kannst die Antwort akzeptieren, wenn du denkst, dass es richtig war –

Verwandte Themen