2017-06-25 2 views
0

Gibt es eine Möglichkeit, Akkordeons in Drupal 8 einfach zu implementieren. Bis jetzt habe ich es mit Feldsammlung (oder Absatz) getan, aber mein Klient möchte ein Akkordeon überall in einem setzen Inhalt wo er will. Mit den Feldern muss ich es auf der Vorlage vorbereiten.So erstellen Sie einfache Akkordeons in Drupal

So denke ich an so etwas wie ein Shortcode in Wordpress bekannt:

[accordion] 
    [accordion-item id="item-1" title="Title of accordion item"]Drop-down content goes here.[/accordion-item] 
    [accordion-item id="item-2" title="Second accordion item"]Drop-down content goes here.[/accordion-item] 
    [accordion-item id="item-3" title="A Third accordion"]Drop-down content goes here.[/accordion-item] 
[/accordion] 

Oder vielleicht eine Art von Seite Builder-Modul für Drupal ist es, die ein bisschen mehr Flexibilität zu schaffen, den Inhalt, dass und gibt ermöglicht?

Vielen Dank für jeden Hinweis.

Antwort

1

Ok, also hier ist eine sehr benutzerdefinierte Lösung (nicht so einfach wie gewünscht), aber immer noch, ich denke, ich würde es so machen. Sie benötigen FieldGroup Modul- und Themenvorverarbeitungen.

  • Fügen Sie ein zusätzliches Feld in Ihre Form (en) ein. Es wird eine Feldgruppe einer Titereingabe und eines Body-Textareals sein. Konfigurieren Sie es so, dass der Benutzer unendlich viele Elemente hinzufügen kann.
  • Jetzt sagen wir, Sie fügen dieses Token in Ihrem wysiwyg: [Akkordeon].
  • Erstellen Sie in Ihrem Thema eine Vorverarbeitungsfunktion für Ihren Knoten (THEMENAME_preprocess_node), und holen Sie sich den Wysiwyg-Inhalt. Suchen Sie nach dem Token, und wenn es da ist, legen Sie den Inhalt der Feldgruppe dort ab.
  • Vergessen Sie nicht, den Inhalt der Feldgruppe auf dem Bildschirm auszublenden.
  • Schließlich, in Ihrem Thema, fügen Sie eine Akkordeon-Bibliothek (oder jquery-ui Akkordeon aus dem Kern) und wenden Sie es auf Ihre injizierten HTML.

Es sollte die Arbeit machen.

Bearbeiten: Sie können auch mit Views Accordion gehen. Aber ich denke, es wäre eine weniger interessante Lösung für Ihren Client UX.

+0

danke, sicher ein guter Hinweis, aber ich werde versuchen, einen einfacheren Weg zu finden, vielleicht existiert es und wenn nicht, dann werde ich mit Ihrem gehen. – mastercheef85

+1

[Views Akkordeon] (https://www.drupal.org/project/views_accordion) ist der einfachste Weg, aber nicht notwendig der beste, wenn Sie die Benutzererfahrung Ihres Kunden berücksichtigen möchten. – Kiwad

Verwandte Themen