2009-03-02 2 views
0

Ich arbeite derzeit an einem Legacy-E-Commerce-System-Front-End, das viel doppelten HTML-Code hat.Kann mir jemand auf einen guten Artikel über "abstrahieren HTML" hinweisen?

Ich versuche einen Weg zu finden, um die Komplexität fast zu abstrahieren, wie wenn man die Ähnlichkeiten zwischen ähnlichen Klassen in eine gemeinsame abstrakte Basisklasse verschiebt.

I.E. "Herausnehmen, was sich ändert und es abstrahiert"

Ich habe Java-Frameworks wie Tiles verwendet, um dies zu tun, aber derzeit verwende ich Webby.

Auch wenn ich HTML abstrahierte, schrieb ich den Code von Grund auf neu und benutze ein MVC-Framework, das machte die Dinge ein bisschen einfacher (musste nichts mit diff vergleichen).

Würde jemand einen anderen Begriff für das, was ich beschreibe, oder vielleicht einen guten Artikel über die Abstraktion von existierendem HTML-Code für diesen Zweck kennen?

Antwort

1

Diese besondere Funktion ist nicht die am besten dokumentierte, aber Webby hat Partials, mit denen Sie Schnipsel von Seiten schreiben und in andere Seiten einbinden können. Erstellen Sie eine Datei, deren Name mit einem Unterstrich beginnt (z. B. "_untocaesar"), und Sie können sie dann mit einem ERB-Filter unter <% render(:partial => '_untocaesar') %> einfügen.

Partials können Header haben, um die Verarbeitung wie normale Seiten anzuzeigen. Durch die Kombination einer Vorlagensprache wie ERB und Teiltabellen sollten Sie in der Lage sein, Ihre Website ziemlich sauber zu gestalten.

Dies ist kein allgemeines HTML-Konzept, da HTML wirklich nur statische Seiten ist, so dass Sie nicht ohne einen Präprozessor tun können. Es ist etwas, das normalerweise von dem Framework gehandhabt wird, das Sie verwenden. Tiles ist einer, Webby ist ein anderer. Wie es genau funktioniert, hängt zu einem gewissen Grad vom Rahmen selbst ab.

+0

Wissen Sie, ob Sie dies auf mehreren Ebenen tun können? Wie ein Layout in einem Layout? – leeand00

+0

Kudos für die "Render untocaesar" heheh :) – leeand00

+0

Sie sollten in der Lage, eine partielle überall in Webby, dass Sie Ruby-Code schreiben können. – Chuck

Verwandte Themen