[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Verschachteltes Accordion - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Verschachteltes Accordion

27. Jul 2016, 10:45

Tag zusammen,
für ein Downloadmodul brauche ich ein verschachteltes Accordion.
Es geht um eine große Masse an Daten die vernünftig dargestellt werden soll.
Ebene 1
Ebene 1.1
Ebene 1.2
Ebene 1.2.1
Ebene 1.2.2
Ebene 1.3

Ebene 2
Ebene 2.1
Ebene 2.1.1
Ebene 2.1.2
Ebene 2.2

etc.

Technisch läuft das ganze über verschachtelte Listen. Nur bin ich mir unschlüssig wie ich das ganze als Modul umsetzen soll. Der Kunde möchte frei wählen, welche Bereiche wie tief verschachtelt werden ...

Hat jemand eine Idee für mich?

Danke
Marco

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Verschachteltes Accordion

27. Jul 2016, 13:16

Kategorien

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

27. Jul 2016, 14:05

Hallo Ingo,
es geht um mehrere hundert Dokumente die zum Download angeboten werden, sortiert nach verschiedenen Gruppen. Ich finde es irgendwie zu umständlich für jedes Dokument einen eigenen Artikel anzulegen oder?

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Verschachteltes Accordion

27. Jul 2016, 14:19

Mach die Hierarchie über Kategorien. Ausgegeben werden die Downloads über ein Modul mit nem Select aller Gruppen drin, der Kunde kann eine oder mehrere Gruppen zur Ausgabe wählen. Ich setze voraus, dass die Downloads über Metainfos oder eine MP Kategorie zu einer Gruppe zugeordnet sind.

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

15. Aug 2016, 17:21

Hallo Ingo,
nach langem hin und her habe ich mich jetzt dazu entschiedene deinen Ansatz zu verfolgen.
Der Kunde ist damit einverstanden.

Ich lege für jedes Accordion eine Kateogire an. Darin ist ein Artikel in dem für jedes Dokument ein Modul angelegt wird. Außerdem gibt es in der Kategorie eventuell noch weitere Kategorien mit jeweilss einem Artikel.

Das Ausgabemodul sieht dann so aus:
Zeige mir alle Kategorien der aktuellen Kategorie, zeige den Inhalt des Artikels und zeige mir alle Kinder der Kategorie.

Leider verzweifle ich gerade ganz banal an der Ausgabe der Kategorien.

Mit folgendem Code bekomme ich nur die aktuellen Kinder:

Code: Alles auswählen

	$category = rex_category::getCurrent();
	// Kinder auswählen
	$category_childs_1 = $category->getChildren();
Wie kann ich denn die "Kindeskinder" anzeigen lassen ???

Danke für deine Hilfe
Marco

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Verschachteltes Accordion

15. Aug 2016, 21:02

So banal ist das gar nicht :)
Da dein Kunde die Verschachtelungstiefe selbst bestimmen möchte, solltest du dir eine rekursive Funktion schreiben. Vielleicht hilft dir das hier weiter: http://www.redaxo.org/de/download/module/?modul_id=450

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

17. Aug 2016, 11:36

Die Tiefe ist auf 3 Ebenen begrenzt, hilft das weiter ???

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Verschachteltes Accordion

17. Aug 2016, 11:49

Wenn es nur darum geht Downloads bereit zu stellen würde ich überlegen mit den Kategorien im Medienpool zu arbeiten...

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

17. Aug 2016, 12:05

Hallo Oliver,
danke für den Tip, daran hatte ich auch gedacht.
Problem ist leider, dass viele Formulare in mehreren Sprachen angeobten werden.
Es soll dann also Dokument 1 DE EN FR stehen. Ich denke das lässt sich nur über ein Modul lösen in dem die 3 Dateien verknüpft werden oder?

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Verschachteltes Accordion

17. Aug 2016, 12:38

Hallo,

könntest du evtl. mal eine Skizze hochladen (oder mir schicken?)...

Ich kann mir gerade den gewünschten Output nicht wirklich vorstellen.

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

17. Aug 2016, 14:08

Anbei ein Bild zur Schematischen Darstellung.

Ich bin drauf und dran das ganze Konzept auf Module umzustellen.
Modul: Accordion Start (<dl><dt>REX_VALUE</dt><dd>)
Moudl: Dokument (REX_VALUE + REX_MEDIAs)
Modul: Accordion Ende (</dd></dl>)

Somit kann sich der Kunde seine Struktur in einem Artikel selber zusammenstellen.
Funktioniert es denn 100 Blöcke zu platzieren? Oder gibt es da eine Beschränkung?

DANKE
Marco
Dateianhänge
Bildschirmfoto 2016-08-17 um 14.05.34.png
Bildschirmfoto 2016-08-17 um 14.05.34.png (127.32 KiB) 18073 mal betrachtet

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Verschachteltes Accordion

17. Aug 2016, 14:21

Hi,

Blöcke kannst du - soweit ich weiß - unbeschränkt nutzen...

Ich hab nur gerade das Gefühl, dass man hier am besten nochmal über das Konzept nachdenken sollte....

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

17. Aug 2016, 15:03

Hallo Oliver,
ich zerbreche mir schon ewig den Kopf.
Da es manchmal mehrere Sprache gibt und machmal nicht, ist der Medienpool schon mal raus.

Kategorien war eine Alternative die ich im Endeffekt aber zu umständlich finde.

Wenn ich mit Modulen arbeite, hab' ich zwar viele Blöcke, bin aber völlig Flexibel auch was die Teife der Accordions angeht.

Hast du noch einen anderen Ansatz?

LG
Marco

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Verschachteltes Accordion

17. Aug 2016, 15:14

Hallo Marco,

dafür müsste ich mehr über die Seite wissen.

Gibt es die Seite in allen Sprachen?
Dann würde ich auch nur der Sprache entsprechend die Dokumente anbieten.

Wie viele Dokumente gibt es? Irgendwann macht evtl eine gänzlich andere Vorgehensweise wählen...

Evtl. eine Seite pro Hauptkategorie ... Weitere Ebenen als Überschriften
Oder man bietet Selectfelder an wie z.b. hier: http://www.wacom.eu/index4.asp?lang=de&pid=29
oder hier: http://mlz-garching.de/aktuelles-und-medien.html
Oder man nutzt eine DokumentManagmentSystem oder, oder oder...

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

17. Aug 2016, 15:20

Hallo Oliver,
danke dass du dir die Zeit nimmst.

Die Seite existiert zwar in mehreren Sprachen, da aber die Dokumente nicht konsequent in allen Sprachen vorhanden sind, soll der Downloadbereich gesammelt sein. Sonst muss der Franzsoe, erst auf der französischen Seite suchen, dann auf der englischen und ggf. noch auf der deutschen.

Der Optische Aufbau ist leider fix. Das haben Kunde und Agentur sich so gewünscht.

Ich kann ja für die erste Hirachie schon mal verschiedene Artikel verwenden, somit habe ich eine Ebene weniger...

Fanello
Beiträge: 336
Registriert: 24. Mai 2006, 14:01
Wohnort: Riedt (Schweiz)

Re: Verschachteltes Accordion

18. Aug 2016, 08:08

Ich stehe vor einem ganz ähnlichen Problem. Im ersten Ansatz wollte ich es so lösen, dass ich mit dem yform eine Downloadtabelle mache. Jeder Zeile in dieser Tabelle hat einen Text, eine Kategorie (aus einer anderen yform-Tabelle) und natürlich ein File.

Der Ansatz von Oliver mit dem Medienpool ist meiner Meinung nach viel eleganter.

Meine Seite ist in deutsch und englisch, wobei jede Sprache auch die entpsrechende Sprache bei den Download-Files zur Verfügung stellt. Auch mein Kunde wünscht ein verschachteltes Accordion, wobei es nur 2 Ebenen sind.

Ich würde jetzt im Medienpool ein Meta-Selectfeld hinzufügen, mit dem man für jedes File die Sprache auswählen kann. Wenn ich dann mit einem Modul die Files auselsen möchte, könnte ich ja quasi die Sprache noch als zusätzlichen Filter verwenden. Denke das sollte so gehen..

Jetzt aber... gibt es für R5 bereits ein Modul, das Dateien aus dem Medienpool holt?

Ich müsste es halt auch verschachtelt haben. Es soll also den Medienkategorie-Namen auslesen und darunter die dazugehörenden Dateien auflisten.

Wenn es eine Medienkategorie ohne Files ist aber mit weiteren Unterkategorien, dann soll es den Namen der Kategorie ausgeben, darunter dann jeweils den Namen der Unterkategorie und die dazugehörenden Files.

Das wäre mal ein erster Ansatz den ich schon mal eingesetzt habe:

Code: Alles auswählen

<?php
$media = rex_media_category::get("14");
$files = $media->getMedia(); 

if (is_array($files)) { 
  foreach ($files as $file) { 
   $fileName = $file->getFileName();
   echo $fileName;
}
}
?>

Fanello
Beiträge: 336
Registriert: 24. Mai 2006, 14:01
Wohnort: Riedt (Schweiz)

Re: Verschachteltes Accordion

18. Aug 2016, 08:59

Noch etwas.. idealerweise würde ich dem Kunden die Möglichkeite geben, über das Modul zu wählen welche Medienpool-Kategorie (Kategorie-Name und Files) angezeigt werden soll. Falls diese Kategorie dann Unterkategorien hat, sollen diese angezeigt werden.

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Verschachteltes Accordion

18. Aug 2016, 15:52

Servus Fanello du Glücklicher ;-)
Bei einer Seite mit einer klaren Struktru und identischen Sprachen finde ich die Medienkategorien auch am elegantesten.

Bei mir funktioniert das leider nicht, weil ich teilweise eine und teilweise bis zu 5 Sprachen habe. Da der Kunde unbedingt ein Accordion mit 3 Ebenen möchte, gibt es nach meinem dafürhalten nur den umständlichen manuellen Weg. Ansonsten geht die Flexibilität verloren.

Ich habe jetzt für jedes Accordion einen Artikel angelegt. Darin gibt es dann ein Modul Dokument Download sowie Module für "Unter Accordions". Nicht schön, aber zweckmäßig und flexibel.

Grüße
Marco

Benutzeravatar
alexplus
Beiträge: 212
Registriert: 13. Feb 2007, 15:03
Wohnort: Heilbronn
Kontaktdaten: Website

Re: Verschachteltes Accordion

25. Nov 2016, 13:50

Mittlerweile könnte man für sowas evtl. auch search_it einsetzen als alternativen Ansatz, statt sich durch Kategorien zu klicken.

Ich hätte eine Datenbank in YForm dafür angelegt und die Ebenen gestrichen, zugunsten von Schlagwörtern.

poing
Beiträge: 67
Registriert: 26. Mai 2006, 11:52
Wohnort: Köln

Re: Verschachteltes Accordion

29. Nov 2016, 15:58

ich hatte jetzt ein accordion mit Mblock umgesetzt.
basierend auf zurb foundation.

vielleicht ist das ja ein ansatz?
Müsste man nur überlegen wie man das verschachtel.

Eingabe:
<?php
// base ID
$id = 1;

// init mform
$mform = new MForm();

// fieldset
$mform->addFieldset('Accordion Item');

// textinput
$mform->addTextField("$id.0.name", array('label'=>'Titel')); // use string for x.0 json values
$mform->addTextField("$id.0.header", array('label'=>'Überschrift')); // use string for x.0 json values
$mform->addTextAreaField("$id.0.text", array('label'=>'Fliesstext','class'=>'redactorEditor2-textbox'));

// media button
$mform->addMediaField(1, array('label'=>'Bild')); // mblock will auto set the media file as json value

// parse form
echo MBlock::show($id, $mform->show(), array('min'=>2,'max'=>40)); // add settings min and max

?>

------------------------
Ausgabe:

<?php
if (rex::isBackend()) {
echo '<p>Accordion Element</p>';
}
else {
echo '<div class="row"><div class="large-12 columns"><ul class="accordion" data-accordion role="tablist">';
$x = rex_var::toArray("REX_VALUE[1]");
$z = 0;
foreach($x as $v){
// var_dump($v);
if($z==0) $isactive = ' is-active'; else $isactive = '';
$media = $v["REX_INPUT_MEDIA_1"];
echo '
<li class="accordion-item'.$isactive.'">
<a href="#pane'.$z.'" role="tab" class="accordion-title" id="pane'.$z.'-heading" aria-controls="pane'.$z.'"><h4>
<img class="up" src="'.rex_url::base("templating/dist/assets/img/chevronright-red.svg").'">
'.$v["name"].'</h4>
</a>
<!-- The content pane needs an ID that matches the above href, role="tabpanel", data-tab-content, and aria-labelledby. -->
<div id="pane'.$z.'" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="pane'.$z.'-heading">
<div class="row">
<div class="medium-8 columns">
<h3>'.$v["header"].'</h3>
'.$v["text"].'
</div>
<div class="medium-4 columns">
<img class="shadow" alt="'.$v["name"].'" title="'.$v["name"].'" src="index.php?rex_media_type=slider5&rex_media_file=' . $media . '" alt="'.$v["name"].'">
</div>
</div>
</div>
</li>
';
$z++;
}
echo '</ul></div></div>';
}
?>

------------------------
poioioing

Zurück zu „Module/Aktionen [R5]“