Seite 1 von 2

modul druckversion

Verfasst: Sa 26. Okt 2002, 21:34
von websugar
soweit ich gesehen habe, gibt es noch kein modul, das einen artikel in einer druckbaren version liefert.

hat das vielleicht von euch jemand schon gemacht bzw. durchdacht?
würde es gerne probieren umzusetzen - vielleich hat jemand ideen, wie man da vorgehen könnte/sollte...

Verfasst: Sa 26. Okt 2002, 22:00
von idea-tec
Hi "Süße" ;-)

das ist im grunde ganz einfach...

du generierst einen Link wie folgt:
<href=<? echo "print_content.php?$QUERY_STRING target=\"_new\">Druckversion</a>
die Datei "print_content.php" erstellst du, indem du die "front_content.php" kopierst. In der print_content entfernst du nun den ganzen schmodder vonwegen Navigation, Banner, etc...
und fügst am besten noch irgendwo einen Button (java-befehl = print!!!) ein ...
schwups ... hast du ne printversion!!!

Verfasst: Sa 26. Okt 2002, 22:03
von idea-tec
huch...
<a href=<? echo "print_content.php?$QUERY_STRING ?>target=\"_new\">Druckversion</a>
so sollte er lauten... jaja, der schlendrian...
du solltest natürlich auch darauf achten, ob du dich bereits im php-tag befindest oder in einem html-bereich ... wegen dem öffnen und schließen von php... you know?

Verfasst: So 27. Okt 2002, 09:35
von websugar
hört sich lösbar an für mich!

danke für die rasche antwort!

Verfasst: So 27. Okt 2002, 10:41
von jacke
Wenn ich mich recht erinnere gab es ein solches Modul schon. Lag damals unter:

http://server1.host-berlin.de


der Bereich ist jetzt allerdings geschützt. Aber vieleicht findest du es im alten Forum. Ich schaue auch bei mir nochmal nach.

jacke

Verfasst: So 27. Okt 2002, 11:09
von websugar
hab schon vorher gesucht, aber nichts gefunden (altes forum, unter dem link, der seit einigen wochen passwortgeschützt ist, lokal)... hoffe, daß ich nichts übersehen hab!!

Verfasst: So 27. Okt 2002, 17:11
von ekke

Druckversion

Verfasst: Di 29. Okt 2002, 12:38
von John
Hallo,
vielleicht stehe ich ein wenig auf der Leitung, aber von Euren Lösungsvorschlägen für eine Druckversion verstehe ich irgendwie gar nichts...
Meine Vorstellung von einer Druckversion wäre folgende:
Beim Aufruf einer print_conten.php, wird automatisch ein anderes Layout genommen (das normale Layout enthält Bilder, Farben u.a., die natürlich bei einer Druckversion sinnlos sind) und auch nur bestimmte Container (z.B. nicht der für Navigation, evt. keine Bilder usw.) angezeigt. Wie ich das durch eine Kopie der front_content.php lösen soll, erschliesst sich mir bisher leider nicht.
Meine Lösung ist die, dass ich im Layout den Inhaltsbereich (wenn dieser im Layout verteilt ist, ruhig auch mehrere) mit HTML-Kommentar markiere und bei der Durckversion eine php-Datei aufrufe, die nur diesen Bereich (oder Bereiche) ausliest und in ein einfaches zum Druck geeignetes Layout lädt.
Leichter ist das natürlich, wenn der Inhalt zusammensteht, was er ja aber bei den meisten Layouts tut, etwas aufpassen muss man bei komplizierteren Tabellen, aber im Prinzip funktioniert das recht einfach.
Wenn das natürlich mit den Mitteln von contenido funktionieren würde, also z.B. einer einfachen Anpassung der front_content, wäre mir das lieber, müsstet Ihr mir aber nochmal genauer erklären :-)
Viele Grüße,
John

Verfasst: Di 29. Okt 2002, 15:13
von Sven777b
ich war da auch schon dran - habs aber aus Zeitmangel erstmal aufgegeben. Ich wollte es so machen, dass man ein Modul erstellt, welches man im Input konfiguriert. Man wählt dort die Container aus, die bei der Druckfassung angezeigt werden sollen. Der User bekommt dann nur ein Drucksymbol und das Modul generiert nach einem Klick darauf eine normale Popup-Seite mit den reinen Inhalten der angegebenen Container.

Allerdings bin ich auf kleinere Probleme gestossen - z.b. das das Layout der Texte verschoben wird. (also die Anordnung der Container) oder dass es ziemliche Performance-Einbußen gab.

Besser wäre es wohl, eine solche Funktion nicht per Modul zu lösen - sondern als Erweiterung fest ins Backend zu integrieren.

Verfasst: So 8. Dez 2002, 13:13
von gustaf
Tach,

das mit dem "Schmodder" hab ich versucht. Naja, geklappt hat es nicht :(. Werde eine Seite erstellen mit'm Link auf der zu druckenden Seite.
Muss wohl noch ein bisschen an den Zusammenhängen von Contenido arbeiten :?

--Gustaf

Verfasst: So 8. Dez 2002, 17:24
von Björn
Idee:

1) Man kopiert im Frontend den Inhalt der Datei 'front_content.php' in eine neue Datei z.B. print.php

2) Durch Outputbuffering speichert man den erzeugten Inhalt der Seite in einer Variablen, z.B. $content (so wie es bei der Webgraberweiterung gemacht wird).

3) Diese Variable lässt man durch das Printscript, welches unter http://www.cj-design.com/?id=index&cat= ... erfriendly zum freien Download gibt, laufen

4) Man schreibt ein Modul welches den entsprechende Content einer Seite per Hyperlink auf print.php umleitet. Nettes Extrafeature wäre, dass man im Modul auch die Grafiken, Fonts etc. strippen kann.

Fertig

Verfasst: Di 10. Dez 2002, 11:27
von Sausi
Björn hat geschrieben: 2) Durch Outputbuffering speichert man den erzeugten Inhalt der Seite in einer Variablen, z.B. $content (so wie es bei der Webgraberweiterung gemacht wird).
4) Man schreibt ein Modul welches den entsprechende Content einer Seite per Hyperlink auf print.php umleitet. Nettes Extrafeature wäre, dass man im Modul auch die Grafiken, Fonts etc. strippen kann.
Lieber Björn, ich bin ein furchtbarer Laie, was PHP betrifft. Kannst Du das irgendwie für mich etwas verständlicher darlegen? :-)
Insbesondere meine ich dies bezogen auf die Punkte 2 und 4.

Sausi

Verfasst: Di 10. Dez 2002, 16:38
von Björn
Hi Sausi,

Otputbuffering ist eigentlich schnell erklärt:
ob_start();

echo 'eigentlich würde dieser Text nun ausgegeben. Da das Outputbuffering aber eingeschaltet ist, wird aber nichts zu sehen sein. Erst, wenn dass Outputbuffering mit ob_get_contents() in einer Variablen gespeichert wird und mit ob_end_clean(); beendet wird, kann mit echo $output;alles ausgegeben oder weiterverarbeitet werden<br>';

$output = ob_get_contents();
ob_end_clean();
echo $output . $output;


zu 4)
Das sind interne Funktionen des Printscriptes. Wäre doch nett, wenn die gleich im Modul verfügbar wären.

Verfasst: Di 27. Apr 2004, 08:28
von Valentin-
Hi Websugar,
ich hätte vielleicht genau das, was du suchst.

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* MODUL / PRINT PAGE / SEITE DRUCKEN
*
*	Wie man sehen kann ist das einfach eine Seite die den Inhalt aus der Datenbank holt.
*	Da man bei drucken oft andere Formate oder Einstellungen verwenden möchte habe ich den CSS-Style
*	im Dokument an sich angegeben, das kann jedoch jeder Zeit geändert werden. 
*
*	Installation:
*	Nicht als Modul einbinden!
* 	Am besten kann man die Print.php auf jeder Seite unten als Link einfügen. Als einziges muss unten
*	die idcat übergeben und oder eben die Sprache. Das wars.
*	Falls jemand Änderung an der print.php machen möchte und diese neu veröffentlichen will, sollte mir
*	kurz eine Mail schreiben an jhiemer@web.de
* 
*
*
* Author      :     Johannes Hiemer
* Copyright   :     ITecon GmbH
* Created     :     27-04-2002
* Modified    :     27-04-2002
************************************************/


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Contenido PrintModule</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
.contenttext{
	position: 		absolute;
	top:			42px;
	left:			264px;
	height:		493px;
	width:		510px;
	overflow:		visible;
	padding:		0 15 0 0;
	}
.headline{
	font-family:      	Verdana, Helvetica,  sans-serif;
	font-size: 		12px;
	font-style: 		normal;
	font-weight: 		bold;
	color:			#D25C10;
	height:			27px;
	
	}
.text	{
	font-family:      	Verdana, Helvetica,  sans-serif;
	font-size: 		11px;
	font-style: 		normal;
	font-weight: 		normal;
	color:			#424A5A;
	line-height:		16px;
	}
</style>
</head>
<body>
<?php
	include_once ("config.php");
	include_once ($contenido_path . "includes/config.php");
	cInclude("includes", "cfg_sql.inc.php");

	
	$db = new DB_Contenido;
	

	$sql = "SELECT idart FROM etb_cat_art WHERE idcat='".$_REQUEST["idcat"]."' ";
    $db->query($sql);
	$db->next_record();
	$idart  = $db->f("idart");
	unset($sql);
	
	$sql = "SELECT idartlang FROM etb_art_lang WHERE idart = '".$idart."' AND idlang = '1'";
	$db->query($sql);
	$db->next_record();
	$idartlang = $db->f("idartlang");
	unset($sql);
	
	$sql = "SELECT value FROM etb_content WHERE idartlang = '".$idartlang."' AND idtype = '1' AND typeid = '1'";
	$db->query($sql);
	$db->next_record();	
	$title = str_replace("+", " ", rawurldecode($db->f("value")));
	unset($sql);
	
	$sql = "SELECT value FROM etb_content WHERE idartlang = '".$idartlang."' AND idtype = '2' AND typeid = '1'";
	$db->query($sql);
	$db->next_record();	
	$text = str_replace("+", " ", rawurldecode($db->f("value")));
	unset($sql);

?>

<div class="contenttext">
   <div class="headline"><?=$title ?></div>
   <div class="text"><?=$text ?></div>
   </div>
   </body>
</html>
Grüße Johannes

Verfasst: Di 27. Apr 2004, 10:23
von Snoopy
Ich habe es bereits hier im Forum gepostet:

http://www.thilo-sommer.de/PHPMyFAQ/ind ... 12&lang=de

Schaut euch diesen Artikel an. es geht viel einfacher als so mancher denkt