Lernen am Beispiel: Printversion [Gelöst]

  • Proximo Proximo
    Jedi-Ratsmitglied
    0 x
    563 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2005, 11:20

    Als Erstes muß ich erwähnen das große Teile dieser Printversion irgendwo in Schnippseln im Buch "Typo3 Enterprise Content Management" der Open Source Press zu finden sind.

    Der Grund für diese "Präsentation" ist die Tatsache das ich täglich Leute im Forum sehen die Neulingen erklären wollen das sie 2 Seiten Code in ihr eh meist schon ziemlich großes und unübersichtliches Project (das ist Tatsache wenn man eine Typoseite zum 1. oder 2. mal zusammenbastelt ;) ) reinbasteln müssen, nur um eine Printversion zu gestalten.

    Ich will beweisen das dies nicht der Fall ist:

    Als 1. definieren wir also die Druckversion:

    1. temp.PRINT= COA
    2. temp.PRINT {
    3. wrap = <!!=|====>Drucken</a>
    4.  
    5. # Diese Methode verwendet Typo wenn wir SimulateStaticHTML verwenden... sie fügt uns
    6. # den Type in die URL ein, und zwar so das SimulateStaticHTML damit zurechkommt
    7. 10 = TEXT
    8. 10.data = getIndpEnv:REQUEST_URI
    9. 10.listNum.splitChar = .
    10. 10.listNum = 1
    11. 10.wrap = |.98.html
    12. }
    13.  
    14. # Diese Methode verwendet Typo wenn wir kein SimulateStaticHTML verwenden
    15. [globalString = ENV:REQUEST_URI = /index.php*]
    16. temp.PRINT.10 >
    17. temp.PRINT {
    18. 10 = TEXT
    19. 10.data = getIndpEnv:REQUEST_URI
    20. 10.wrap = |&type=98
    21. }
    22. [GLOBAL]

    Nun haben wir einen Link geschaffen den wir irgendwo auf der Seite unserer Wahl einbauen können, zb im Marker "DRUCKEN" (###DRUCKEN###) also nicht vergessen dies auchnoch an der richtigen stelle mit

    marks.DRUCKEN < temp.PRINT

    einzubauen!

    Als nächstes definieren wir noch "was ist eine Druckversion?".´

    Nun das erklären wir Typo folgendermaßen:

    1. print = PAGE
    2. print {
    3. typeNum = 98
    4. bodyTag =<body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="javascript:window.print()">
    5.  
    6. 10 < styles.content.getLeft
    7. 20 < styles.content.get
    8. }

    Achtung! Dieser ganze Absatz darf nicht in irgendwelchen Klammern stehen (es ist ja ein Seitentype für sich alleine) UND er MUß im Haupttemplate stehen! (falls ihr mehrere habt)

    Toll ist auch das dies nicht nur für 1 Seite sondern für alle funktioniert ;) (das stimmt natürlich nur solange wie unser Inhalt ausschließlich in der Hauptspalte und der Linken zu finden ist ;) )

    So und nun... nein Spaß^^ das wars schon... einfach oder? (jaja das sagen sie alle ;)

    MFG Proximo


  • Moeffz Moeffz
    Jedi-Meister
    0 x
    431 Beiträge
    0 Hilfreiche Beiträge
    19. 07. 2005, 11:37

    Ein Rechtschreibfehler. Da ist ein 'h' zu viel.

    Der Rest steht dann in Modern Template Building Teil 1. Grob gesagt macht der Dir aus Deiner Designvorlage das HTML-Template, wenn ich es richtig verstanden habe.

  • Amelia Amelia
    Jedi-Meister
    0 x
    327 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 12:14

    Sagt mal, wie bekomm ich denn in die Druckseite (Vorschau)noch einen (Druck-)Button rein?

    Oder: Wie kann ich denn die Seite 10.wrap=|.98.html ansprechen?

  • Proximo Proximo
    Jedi-Ratsmitglied
    0 x
    563 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 12:28

    ?! Druckbutton? Ich weiß das klingt jetzt ungünstig (wer verwendet schon gerne js-Funktionen...) aber binde doch einfach folgendes in deinen BODY-TAG ein:
    [HTML]<body onLoad="javascript:window.print()">
    [/HTML]
    Simple aber effektiv... deine Kunden bekommen ein schönes Fenster das sie auffordert einen Drucker, bzw Seitenanzahl @ Co zu wählen... sollte der Kunde (was-weiß-ich-warum aber man weiß bei deinen Kunden ja nie ;) ) nun doch nicht drucken wollen kann er hier den Druckvorgang sogar noch abbrechen!

    MFG Proximo

  • Amelia Amelia
    Jedi-Meister
    0 x
    327 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 12:32

    Okay ich probier das mal aus! Ich eprsönlich finde js auch nicht schön, aber der Kunde mags es so haben...

    PS: Wie schreib ich das im CSS?

  • adventuremaker adventure...
    Jedi-Meister
    0 x
    292 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 12:43

    Sorry, aber ohne jetzt persönlich werden zu wollen:
    Hast du auch nur eine minimale Vorstellung von dem, was du machst?
    Du scheinst echt die grundlegensten Techniken nicht verstanden zu haben. Tut mir echt leid, aber soviel Engagement und Einarbeitung kann man denke ich schon erwarten, dass man wenigsten die Unterschiede zwischen JavaScript und CSS weiß, bevor man sich mit Content-Management befasst und das sogar noch "Kunden" zumutet!
    Korrigiert mich, wenn ich das flasch sehe, aber ich denke nicht, dass dieses Forum für solche _trivialen_ Dinge gedacht ist.

    Nichts gegen Anfänger, bin selbst einer. Aber sowas...

    Aber echt!

  • Proximo Proximo
    Jedi-Ratsmitglied
    0 x
    563 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 12:51

    Ich hab mich zwar auch grad gewundert, aber um das abschließen zu können... Probiers doch mal mit TS im bestehenden Druck-TS also bei:

    print = PAGE
    print {
    ...
    }

    und schreib

    print = PAGE
    print {
    bodyTag =<body onLoad="javascript:window.print()">
    }

    MFG Proximo

  • Amelia Amelia
    Jedi-Meister
    0 x
    327 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 12:54

    Momentmal! Also bevor Du Dich hier so niederträchtig auslässt:
    Du hast meine Frage wohl falsch verstanden, bzw ich habe mich falsch ausgerückt!
    Der Body-Tag wird u.a. von Typo3 erzeugt, richtig!? Ich setze per CSS die Parameter für den Body-Tag.

    Proximo schrieb:

    binde doch einfach folgendes in deinen BODY-TAG ein:<body onload="javascript:window.print()">

    Daher meine Frage: Wie soll ich das in meinen Body-Tag einbinden, wenn dieser doch im CSS definiert wird.
    Ist das also eine so unmöglich Frage, welche ich hier stellte!?

  • Proximo Proximo
    Jedi-Ratsmitglied
    0 x
    563 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 12:57

    Was sucht der Bodytag genau im CSS? Naja ich misch mich da normal nicht ein aber... das ist wohl Sache vom Typo... und falls nicht dann HTML Hardcoding...

    MFG Proximo

  • Amelia Amelia
    Jedi-Meister
    0 x
    327 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2005, 13:02

    Okay dann die Frage etwas anders und ganz simple: Wie komme ich an den von Typo3 erzeugten Bodytag?