Help - Search - Members - Calendar
Full Version: Export: Unterschiedliche Loop-Schleifen
Mp3tag Forums > Mp3tag - Deutsch > Allgemein
poster
Ich versuche zur Zeit ein HTML-Export-Script aus dem Archiv für meine Bedürfnissse weiter anzupassen.
http://forums.mp3tag.de/index.php?showtopic=4504
Dabei stoße ich auf das Problem, dass ich unterschiedliche Tiefen des Loops benötige und nicht weiß, wie ich das angehen kann. Kann sein, dass mir einfach das Verständnis fehlt (nur rudimentär vorhanden), kann natürlich auch sein, dass das nicht so geht, wie ich es möchte.
Ich versuche es mal in Worte zu fassen.

Ich kann das sowohl von der Ordnerstruktur als auch von den Tags angehen.
Meine Ordnerstruktur, die ich in der Export-Datei ab der Stufe "Album-Set" abbilden will, hat eine je nach Album/Album-Set unterschiedliche Tiefe.

Beispiele für die unterschiedliche Ordnerstruktur:
Various Artists\Album-Set\Album\Songs
Various Artists\Album\Songs

Der Ordner "Album-Set" entspricht auch einem selbstdefinierten Tag %topset%, das ich also auf sein Vorhandensein abfragen kann.

Ich verstehe das so, dass für mein Vorhaben ein Loop ausgelassen werden müsste, wenn %topset% nicht vorhanden ist bzw.

Das Script sorgt für eine Darstellung bei der die unteren Ebenen durch Klick aufgeklappt werden.
Man sieht also zunächst eine Liste der Albumsets, dann durch Klick eine Liste der zugehörigen Alben, dann durch weitere Klicks die Songs des jeweiligen Albums.
Im Moment sieht mein Ergebnis so aus, dass ich auf der obersten Ebene bei Album-Sets den %topset% oder falls kein Set %album% angezeigt bekommen. So ist es auch gewünscht.
Allerdings führt weiteres Aufklappen dazu, dass in der nächsttieferen Stufe richtigerweise bei Album-Sets %album% angezeigt wird, bei Nicht-Sets jedoch auch. Mein Wunsch wäre jedoch, dass bei einem Einzelalbum direkt die Songs aufgeklappt würden.

Zur Zeit:
Album-Set\Album\Songs
Album\Album\Songs

Gewünscht:
Album-Set\Album\Songs
Album\Songs

Ist es irgendwie möglich eine Bedingung einzufügen, die bei Nichtvorhandensein des Tags %topset% eine Stufe übergeht?
ohrenkino
Würde nicht eine Schleife nach ALBUM und darin nach _PATH die einzelnen Stücke in der richtigen Reihenfolge präsentieren ohne durch die Schachtelungstiefe verwirrt zu werden?
poster
ZITAT(ohrenkino @ Jan 9 2017, 12:57) *
Würde nicht eine Schleife nach ALBUM und darin nach _PATH die einzelnen Stücke in der richtigen Reihenfolge präsentieren ohne durch die Schachtelungstiefe verwirrt zu werden?

Ich fürchte da fehlt mir der Durchblick.

Ich muss muss ja für jede Ebene definieren, was denn ausgegeben werden soll.

Im Moment sieht das im Code so aus:
QUELLTEXT
$loop($lower($if2(%topset%,%album%)))
  <!-- TOPSET START -->
  <table width="100%%" border=0>
    <tr>
    <td class="row2" align="center" width="3%%"><a >$num(%_counter%,3)</a></td>
    <td id="id$replace($if2(%topset%,%album%),'',,\,,",)" class="row2" width="43%%">
      <b><a href="java script:show(''$replace($if2(%topset%,%album%),'',,\,,",)_'');">[color="#FF0000"]$if2(%topset%,%album%)[/color]</a></b></td>
    <td class="row2" align="right" width="32%%">$loop(%album%)$loopend() %_max_counter% Album(s) %_total_size% | $num(%_total_files%,3) Track(s) | %_total_time% Std. </td>
    <td class="row2" align="center" width="4%%"></td>
    <td class="row2" align="center" width="18%%">%genre%</td>
    </tr>
  </table>

  <table style="display:none;" id="show$replace($if2(%topset%,%album%),'',,\,,",)_" width="100%%">
    $loop($lower(%album%))
    <!-- ALBUM START -->
    <tr>
    <td class="row4" align="center" width="3%%"><a >-$num(%_counter%,2)</a></td>
    <td id="id$replace($if2(%topset%,%album%),'',,\,,",)" class="row4" width="43%%">
      <b><a href="java script:show(''$replace($if2(%topset%,%album%),'',,\,,",)'');">[color="#FF0000"]%album%[/color]</a></b></td>
    <td class="row4" align="right" width="32%%">%_total_size% | $num(%_total_files%,2) Track(s) | %_total_time% Std. </td>
    <td class="row4" align="center" width="4%%">%year%</td>
    <td class="row4" align="center" width="18%%">%genre%</td>
    </tr>

    <tr style="display:none;" id="show$replace($if2(%topset%,%album%),'',,\,,",)">
    <td class="row3"></td>
    <td class="row3">$loop(%discnumber%$num(%track%,3))$num(%track%,2) - %artist% - $if2(%title%,%_path%)<br>$loopend()</td>
    <td class="row3" align="right">$loop(%discnumber%$num(%track%,3))%_file_size% | [%_bitrate%kbps %_vbr%] | %_length% min | Lyrics: $if(%unsyncedlyrics%,--,+) | <br>$loopend()</td>
    <td class="row3" align="center"></td>
    <td class="row3" align="center">%_total_size%<br>%_total_files% Track(s)</td>
    </tr>
    $loopend()
  </table>
$loopend()


und im Ergebnis wie im Screencopy.
Click to view attachment
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2017 Invision Power Services, Inc.