Zum Inhalt springen

Lernen am Beispiel: Printversion

Erstellt am 13. Juli 2005 · 64 Antworten · letzte Antwort am 8. Januar 2007 · Seite 2 von 4

Tags: Tipp

Proximo ·

Versuch doch einfach mal die ganz einfache variante und vergiss das ganze andere komplizierte:

Bei dir steht irgendwo sowas wie

print {
10 < styles.content.get
}

um ein Logo hinzuzufügen:

print {
5 = IMAGE
5.file = fileadmin/.../images/logo.gif
10 < styles.content.get
}

So war das nämlich eigendlich gedacht...

MFG Proximo

EDIT: Ich sagte oben das muß man NICHT auslagern.. aber vergiss das einfach, das ist BSP wie man eine HTML-Quelle (also ein HTML-Template) einbindet... ziemlich sinnlos für ne Druckversion...

Amelia ·

Ja das ist schon klar! Aber dann habe ich doch die Sachen alle noch nicht richtig positioniert! Also das Logo linksbüdnig (steht jetzt mittig) den Text nur 561 px breit (nicht 100%) und die Überschriften drüber (nicht mittig!)!

just2b ·
Amelia schrieb

den Text nur 561 px breit (nicht 100%)

etwas OT, muss aber sein!
genau DAS soll bei einer druckversion aber nicht sein! genau da will ich den text auf 100$ am papier und nicht so ein kleines rändchen!

Amelia ·

Ja schön, dass Du das soll willst! Mir wäre das auch so recht, aber der Kunde möchte das anders! Also soll es so sein ! Gell :o)

Proximo ·

Du hast zwar komische Kunden (vorallem welche die Papier und Druckfarbe in Mengen haben) aber:

      print {
      5 = IMAGE
      5.file = fileadmin/.../images/logo.gif
      10 < styles.content.get
      }

wird nun zu:

   print {
      10 = TEMPLATE
      10 {
      template = FILE
      template.file = fileadmin/xyz.html
      workOnSubpart = DOKUMENT
      subparts.LOGO = IMAGE
      subparts.LOGO.file = fileadmin/.../images/logo.gif
      subparts.CONTENT < styles.content.get
      } 
   }

Aber vergiss nicht:

Du hast nun keinen Autopharser mehr der dir das "workOnSubpart" übernimmt... also mußt du manuell welche einfügen! (und in diesem Fall heißt dieser Subpart "<!-- ###DOKUMENT###--><!-- ###DOKUMENT###-->", in diesen kommt dann der Content wie Logo und CO rein der durch Subparts oder Marker definiert wird! Jeder Content, nicht so wie der subpart "CONTENT" (dazu gehört alles woran Typo pfuschen darf, alles andere ist "das HTML-Template"... unveränderbar von Typo)

Nun lies dir nochmal genau durch was da oben steht... sooo und jetzt mach es!

MFG Proximo 😉

PS: Natürlich löst das nicht dein Problem, aber nun kannst du "alles was du willst" im Template "fileadmin/xyz.html", oder wie es sonst heißt, definieren!

Moeffz ·

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 ·

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 ·

?! Druckbutton? Ich weiß das klingt jetzt ungünstig (wer verwendet schon gerne js-Funktionen...) aber binde doch einfach folgendes in deinen BODY-TAG ein:

<body onLoad="javascript:window.print()">

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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

Proximo ·

?!

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

?!???!?

Soweit ich weiß der einzige sinnvolle Weg... (meiner Meinung nach)

MFG Proximo

PS: Steht übrigens 2 Posts drüber

Fabian-K ·

Aaaaaaaaaaaaaaargh.. hiiiiiiiiiiiiiilfe!!!

Ich benutze realurl und den Source von der 1. (bzw. 2.) Seite des Threads hier.

Aber immer wenn ich dann auf 'Drucken' klicke, wird die Seite 'www.foo.de/foo/bar/html.98.html' aufgerufen..

Why?

Hier mein Source (main-template; gaaaaanz oben an erster stelle) :

# DRUCKEN
temp.PRINT = COA
temp.PRINT {
   wrap = <a href="|" name="Drucken" title="Drucken" target="_blank" class="print">Drucken</a>
   
   10 = TEXT
   10.data = getIndpEnv:REQUEST_URI
   10.listNum.splitChar = .
   10.listNum = 1
   10.wrap = |.98.html
}
 
[globalString = ENV:REQUEST_URI = *php?id*]
temp.PRINT.10 >
temp.PRINT {
   10 = TEXT
   10.data = getIndpEnv:REQUEST_URI
   10.wrap = |&type=98
}
[GLOBAL]

print = PAGE
print {
   typeNum = 98
   bodyTag =<body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="javascript:window.print()">
 
   #10 < styles.content.getLeft
   20 < styles.content.get
   #30 < styles.content.getRight
   #40 < styles.content.getBorder
}

wtf?
Was mache ich falsch?
Wieso wird ein falscher Link gesetzt?

Achja, zum Thema RealURL:

# RealURL
config.simulateStaticDocuments = 0
config.baseURL = 1 
config.tx_realurl_enable = 1

(auch im main-template; direkt unter dem Druck-Zeugs)

Kann mir jemand sagen was ich falsch mache?

thanks.

Proximo ·

Das ist ziemlich einfach:

   10.listNum.splitChar = .
   10.listNum = 1

Ich habe nämlich die variable von der SPRACHE auchnoch hier eingebunden... also:

seite.98.0.html

Die 0 Stellt die aktuelle Sprache dar...

Lösung: Ändere die Zahl von "10.listNum = 1"...

MFG Proximo

Fabian-K ·

Hi!
Ja is mir auch gerade eingefallen.. hatte nur das beim Split durcheinander gebracht, dass 1 immer der erste eintrag NACH dem splitChar ist xD

Naja okay, sieht gut aus.. jetz wird "foobar.de/foo/bar/foobar.98.html" aufgerufen, aaaaaaaaaaaber:

Error. Reason: Segment "foobar.98" was not a keyword for a postVarSet as expected!

Das kommt beim aufrufen des Drucken-Links.

Why? Und wie kann ich es verhindern?