Sortierung html export

Das ist die "magische Zeile":

$loop(%_filename_ext%)

Wenn du "%_filename_ext%" durch "%artist%" ersetzt, müsste alles nach Interpret sortiert werden.

Das alleine genügt leider noch nicht, da so nur nach Interpreten sortiert werden würde.

Um zunächst nach Interpret und dann nach Titel zu sortieren, musst Du die $loop-Anweisungen verschachteln, wie es z.B. in der Exportkonfiguration html_newexport (558 Bytes) gemacht wurde.

Viele Grüße,
~ Florian

Erst mal danke für die rasche Hilfe (nach einigem rumprobieren mit der von Florian genannten new export.mte, hab ich es geschafft das wie gewünscht sortiert wird), allerdings ein kleines Prob hab ich da noch :wink: - nämlich die Formatierung.
Normalerweise werden die Farben (hell/dunkel) abwechselnd gezeigt, nun ist es allerdings so, das dies nun völlig unterschiedlich gemacht wird (sprich hell/hell/hell/dunkel/hell/dunkel etc.) erscheint irgendwie willkürlich. :w00t:
Im moment sieht die Syntax so aus bei mir. (wenn man es dennn so nennt :wink: )

<table>
<tr>
<th class="title">Interpret</th>
<th class="title">Titel</th>
<th class="title">Album</th>
<th class="title">Track</th>
</tr>

$loop(%artist%)
$loop(%title%)
<tr>
<td$if($odd(%_counter%), class="odd",)>%artist%</td>
<td$if($odd(%_counter%), class="odd",)>%title%</td>
<td$if($odd(%_counter%), class="odd",)>%album%</td>
<td$if($odd(%_counter%), class="odd",)>%track%</td>
</tr>

$loopend()
$loopend()
</table>

Wenn ihr mir jetzt noch sagen könntet, wie ich es schaffe, das die einzelnen "Zeilen" wieder abwechselnd dargestellt werden, dann bin ich wieder glücklich und zufrieden bis zur nächsten syntaxumstellung g
LG
Artaios

Ist zZ nicht möglich.
Aber Florian arbeitet daran.

Na ja dann werd ich vorläufig wohl damit leben müssen :wink: und hoffen, das es demnächst eine Lösung dafür gibt. Danke jedenfalls für die Auskunft.
Gruß
Artaios

Hallo Artaios,

eine Lösung dafür dürfte es relativ bald geben, ich arbeite daran :slight_smile:

Viele Grüße,
~ Florian

Hallo Artaios,

der aktuelle Development Build bietet nun die Möglichkeit benutzerdefinierte Variablen im Export zu benutzen.

Eine Beispielanwendung

<head><title>Test</title></head>
<style type="text/css"><!--
.table1 { background: #FF9900; }
.table2 { background: #FFFFE0; }
--></style>
<body>
$puts(cnt,0)
<table>
<tr>
<th class="title">Interpret</th>
<th class="title">Titel</th>
<th class="title">Album</th>
<th class="title">Track</th>
</tr>

$loop(%artist%)
$loop(%title%)
<tr>
<td$if($odd($get(cnt)), class="table1", class="table2")>%artist%</td>
<td$if($odd($get(cnt)), class="table1", class="table2")>%title%</td>
<td$if($odd($get(cnt)), class="table1", class="table2")>%album%</td>
<td$if($odd($get(cnt)), class="table1", class="table2")>%track%</td>
</tr>
$puts(cnt,$add($get(cnt),1))
$loopend()
$loopend()
</table>
</body>
</html>

Hier wurde die benutzerdefinierte Variable "cnt" verwendet.

Viele Grüße,
~ Florian

jajaja :smiley:

darauf habe auch ich gewartet!
nun kann nämlich auch ich mein problem mit den verschachteltetn schleifen und den
trennlinen lösen denke ich!

Topic 1
Topic 2

DANKE für dieses geniale programm florian!
atmosfear

Mein Ziel ist es, eine Variable vor der loop auf einen Anfagswert setzten, der nicht Null ist, und ihn dann in der Schleife um je 1 heraufsetzen. Ich habe gerade versucht, dafür eine benutzerdefinierte Variable zu benutzen. Dabei sind mir ein Fehler aufgefallen. Ich versuche, sie an Florians Beispiel zu erklären. Um den Counterwert anzuzeigen habe ich hinter der Zeile

noch die Zeile $get(cnt) eingefügt.
Bei der ersten Zeile steht gar nichts in cnt. Das $puts(cnt,0) außerhalb der loops hat überhaupt keinen Effekt. Erst durch $puts(cnt,$add($get(cnt),1)) wird die Variable angelegt und ist zuerst auf 0 und wird durch diese Anweisung um 1 erhöht. Es besteht also keine funktionierende Möglichkeit, den Startwert der Variablen festzulegen.
Florian, bitte sieh dir die Funktionen noch einmal an oder erklär mir, wie ich es richtig machen kann.
Gruß,
Julchen

Meines Wissens haut das wegen der internen Verarbeitungsreihenfolge nicht hin. Ich habe etwas probiert, um trotzdem einen Startwert zu simulieren, das scheitert aber auch.
$if($eql($get(cnt),),$put(cnt,"startwert"),)

Hallo Julchen,

dano hat Recht: das Ganze ist im Moment nicht möglich und liegt tatsächlich an der internen Ausführungs- und Ersetzungreihenfolge des Generators für die Exportdateien.

Ich werde versuchen eine Lösung zu finden ... :rolleyes:

Viele Grüße,
~ Florian

Hallo Julchen, Hallo dano!

Ich habe jetzt einen Workaround gefunden, auf den mich dano gebraucht hat: $puts(cnt,$if($eql($get(cnt),),5,$get(cnt))) wobei die 5 hier der Startwert ist.

Erklärung: $if liefert das zurück, was Parameter 2 und 3 zurück liefern. Die Auswertungsreihenfolge ist dabei von innen nach außen - d.h. in dano's Beispiel werden beide $put ausgeführt.

Viele Grüße,
~ Florian

Ich habe eine Weile probiert, wo ich Florians Code einfügen muss. Jetzt habe ich es hinbekommen und bedanke mich herzlich für diese Lösung.

Hi

Ich habe auch ein Problem mit der Sortierung.

Nur nach dem Interpret sortieren geht, sonst funktionierts bei mir aber nicht. Vielleicht kann mir ja jemand kurz sagen, was falsch ist.

$filename(html)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
    <meta name="GENERATOR" content="Mp3tag - http://www.mp3tag.de" />
    <title>Mp3tag - Datei&uuml;bersicht</title>
    <style type="text/css"><!--
  h1 { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 16pt; color: #000 }
  body { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 8pt; background: #fff }
  table, tr, td { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 9pt; color: #000; }
  a:link, a:visited, a:active { text-decoration: none; color: #03f; }
  a:hover { text-decoration: none; color: #f03; }
  .title { font-weight: bold; padding: 7px; margin: 0px; color: #000; }
  .odd { background-color: #ccc; }
    --></style>
</head>
<body>
    <h1>Mp3tag - Datei&uuml;bersicht</h1>
    <p>%_date%</p>
    <table>
  <tr>
      <th class="title">Interpret</th>
      <th class="title">Album</th>
      <th class="title">Titel</th>
      <th class="title">Jahr</th>
      <th class="title">Nr.</th>
      <th class="title">Länge</th>

      
  </tr>

$loop(%artist%)
$loop(%album%)
$loop(%track%)

  <tr>
      <td$if($odd(%_counter%), class="odd",)>%artist%</td>
      <td$if($odd(%_counter%), class="odd",)>%album%</td>
      <td$if($odd(%_counter%), class="odd",)>%title%</td>
      <td$if($odd(%_counter%), class="odd",)>%year%</td>
      <td$if($odd(%_counter%), class="odd",)>%track%</td>
      <td$if($odd(%_counter%), class="odd",)>%_length%</td>
      
  
  </tr>
$loopend()

    </table>
    <p>Erstellt am %_date% mit %_app% - dem universellen Tag Editor <a href="http://www.mp3tag.de/" title="Mp3tag Website">www.mp3tag.de</a></p>
</body>
</html>

Weiter würde ich gerne am Schluss der Liste die Anzahl, Gesamtlänge und Gesamtgrösse der Tracks einfügen. Wie mache ich das?

Hi Gladiator!

Hier:

fehlen noch 2 $loopend() (jede Schleife muss geschlossen werden).

Die abwechselde Farbformatierung mit %_counter% wird durch die 3 Schleifen gestört, siehe dazu den Anfang von diesem Thread (benutzerdefinierte Variablen).

und für Gesamtlänge usw. gibts entsprechende Platzhalter wie %_total_files%, %_total_size%, %_total_time% (siehe auch Hilfe->Export dazu).

Gruß
nickless

Vielen Dank

Das mit den Platzhalter weiss ich, ich habe die Hilfe schon gelesen. Ich weiss jedoch nicht, wo ich die platzieren muss!

Dahin, wo du sie haben willst? :huh:
z.B. gleich nach dem - Tag.

Am besten erklärst du etwas genauer, was du haben willst, wenn du dich mit HTML nicht auskennst.

Hm irgend wie krieg ich das nicht wirklich hin. Jemand der das kann hat das schnell, vielleicht kann mir ja jemand die paar Script Zeilen kurz schreiben.

Ich möchte ein Script, welches mir eine Liste mit allen Mp3 Files erstellt, und zwar nach folgendem Muster:

Zuerst eine Nummerierung von 1-x (Anzahl Tracks gesamt). Dann sollten Interpret, Album, Titel, Track, Jahr und die Zeit des einzelnen Mp3s (formatiert) kommen. Sortierung nach Interpret, Album, Track.

Am Schluss sollte dann noch stehen, wieviele Mp3s dass es sind, wie lange die Gesamtspielzeit beträgt (formatiert) und wie gross alle Mp3s sind.

Also so was?

$filename(Dateiübersicht.htm)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<meta name="GENERATOR" content="Mp3tag - http://www.mp3tag.de" />
<title>Mp3tag - Datei&uuml;bersicht</title>
<style type="text/css"><!--
  h1 { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 16pt; color: #000; text-align: center }
  body { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 8pt; background: #fff }
  table, tr, td { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 9pt; color: #000; }
  a:link, a:visited, a:active { text-decoration: none; color: #03f; }
  a:hover { text-decoration: none; color: #f03; }
  .title { font-weight: bold; padding: 7px; margin: 0px; color: #000; }
  .odd { background-color: #ccc; }
--></style>
</head>
<body>
<h1>Mp3tag - Datei&uuml;bersicht</h1>
<table>
 <tr>
  <th class="title">Nr.</th>
  <th class="title">Interpret</th>
  <th class="title">Album</th>
  <th class="title">Titel</th>
  <th class="title">Track</th>
  <th class="title">Jahr</th>
  <th class="title">L&auml;nge</th>

 
 </tr>

$puts(counter,0)
$loop(%artist%)
$loop(%album%)
$loop(%track%)
$puts(counter,$add($get(counter),1))
 <tr>
  <td$if($odd($get(counter)), class="odd",)>$get(counter)</td>
  <td$if($odd($get(counter)), class="odd",)>%artist%</td>
  <td$if($odd($get(counter)), class="odd",)>%album%</td>
  <td$if($odd($get(counter)), class="odd",)>%title%</td>
  <td$if($odd($get(counter)), class="odd",)>%track%</td>
  <td$if($odd($get(counter)), class="odd",)>%year%</td>
  <td$if($odd($get(counter)), class="odd",)>%_length%</td>
 
 
 </tr>
$loopend()
$loopend()
$loopend()
</table>

<center>


<table style="width: 75%%;">
<tbody>
<tr>
<td style="text-align: right; font-weight: bold;">Gesamtanzahl:</td>
<td style="width: 30px"></td>
<td style="text-align: left;">%_total_files%</td>
</tr>
<tr>
<td style="text-align: right; font-weight: bold;">Gesamtspielzeit:</td>
<td style="width: 30px"></td>
<td style="text-align: left;">%_total_time%</td>
</tr>
<tr>
<td style="text-align: right; font-weight: bold;">Gesamtgr&ouml;&szlig;e:</td>
<td style="width: 30px"></td>
<td style="text-align: left;">%_total_size%</td>
</tr>
</tbody>
</table>

<p>Erstellt am %_date% mit %_app% - dem universellen Tag Editor <a href="http://www.mp3tag.de/" title="Mp3tag Website">www.mp3tag.de</a></p>
</center>
</body>
</html>

Hey super. So ists perfekt!!

Vielen herzlichen Dank!!