NEUES DRUCKEN MODUL

kevinerhardt
Beiträge: 15
Registriert: Mi 14. Apr 2004, 16:27
Kontaktdaten:

NEUES DRUCKEN MODUL

Beitrag von kevinerhardt » Di 27. Jul 2004, 14:34

Hallo an Contenido Gemeine

Habe hier einen Drucken Modul erstellt der einen bestimmten Bereich druckt. Diser Bereich muss vorher im Layout festgelegt werden z.B:

Code: Alles auswählen

<div class="fliestext">
<!-- #PRINT -->
CMS_CONTAINER[10]
CMS_CONTAINER[6]
<!-- ##PRINT -->
</div>
es muss eine artikel_drucken.php Datei im cms Verzeichniss angelegt werden und ein Modul namens "Artikel drucken" angelegt werden.

Quelltext MODUL

Code: Alles auswählen

<?php
	/** OUTPUT
		Modul: Artikel drucken 1.0
		Author: Kevin Erhardt
		Date: 27.07.2004
		Last edit:
	*/
	$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?idcatart='. $idcatart .'&lang='. $lang .'&client='. $client;

	echo "<a href=\"artikel_drucken.php?url=".$url."\">[ Artikel drucken ]</a> "
?>
Die artikel_drucken.php Datei

Code: Alles auswählen

<?php
	/**
		Modul: Artikel drucken (Verarbeitung)
		Author: Kevin Erhardt
		Date: 27.07.2004
		Last edit:
	*/
	
	function text_ausschnitt($string, $beginn, $ende){
		$string = strchr($string, $beginn);
		$pos_ende = strpos($string, $ende);
		$string = substr($string, 0,$pos_ende);
		return $string;
	}
	$url = $_GET['url'];	
	$beginn = "<!-- #PRINT -->";
	$ende = "<!-- ##PRINT -->";
	if($url != NULL){
		
//		Öffne und lese die Seite
		$string = file_get_contents($url);
	}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>

	<!--------------------------------->
	<!-- Kevin Erhardt               -->
	<!-- www.kevin-erhardt.de        -->
	<!-- kontakt(at)kevin-erhardt.de -->
	<!--------------------------------->

<head>
	<title>Artikel Drucken</title>
	<meta name="author" content="Kevin Erhardt">
	<meta name="date" content="2004">
	<style type="text/css">
		body {
			font-family: "Verdana", Arial, Tahoma;
			font-size: 9pt;
			color: #000000;
		}
	</style>
</head>

<body>
<?php echo text_ausschnitt($string, $beginn, $ende); ?>
<br>
<button onclick="self.print();">Drucken</button>
</body>
</html>
falls jemand verbesserungsvorschläge hat dann bitte.

Mit freundlichen Grüßen

Kevin
Zuletzt geändert von kevinerhardt am So 29. Aug 2004, 19:56, insgesamt 1-mal geändert.

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 16. Aug 2004, 09:59

verbesserungsvorschlag:
die url die erzeugt wird, sollte eventuell auch die $post variablen auswerten und mit übergeben...
*** make your own tools (wishlist :: thx)

maTTos
Beiträge: 130
Registriert: Fr 27. Jun 2003, 14:14
Kontaktdaten:

Beitrag von maTTos » Mo 16. Aug 2004, 12:29

Warum sollte sie das? Vielleicht ist das der Grund für mein Problem mit dem Skript. Denn bei mir wird oben in der url-Zeile des Browsers eigentlich die richtige URL angezeigt, nämlich:

http://www.domain.de/cms/drucken.php?ur ... 1&idart=18

Problem: Tatsächlich zeigt die Druckansicht den Inhalt der vorherigen Seite an. Wenn ich beim Druckbutton die Variable "$url" ausgeben lassen, erhalte ich:
http://www.domain.de/cms/front_content.php?client=1

Ist das der Grund, warum $post ausgewertet werden sollte? Wenn ja, wäre es schön wenn das Script um die entsprechenden Zeilen ergänzt werden könnte. Falls nicht, weiß jemand womit mein Problem zu tun haben könnte? Danke!

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 16. Aug 2004, 13:09

eine auswertung der postvariablen ermöglicht es zb wenn seiten mittels eines formulars angezeigt werden ebenfalls anzuzeigen...

aber das ganze ist ja nur ne idee für 'nen verbesserungsvorschlag...
ob diese möglichkeit wirklich zielführend ist, kann ich nicht sagen, weil ich es nicht versucht habe...
*** make your own tools (wishlist :: thx)

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Problem beim Drucken des Suchergebnis

Beitrag von schmitt197 » Di 24. Aug 2004, 13:52

Hi,
ich benutze das Modul zur Druckvorschau. FUnktioniert auch schön, allerdings habe ich beim Drucken von Suchergebnissen ein Problem. Meine Suchergebnisse, die ich zwar auf der "normalesn" Seite sehen, verschwinden in der Druckvorschau.

Woran kann das liegen?

Hier der Code meines Suchmoduls.

Input:

Code: Alles auswählen

echo "
<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
  <tr valign=\"top\">
    <td width=\"202\">Schriftart Link:</td>
    <td><select name=\"CMS_VAR[0]\" size=\"1\">";
    
	if ("CMS_VALUE[0]" != 0) {
		echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
	} else {
		echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
	}
    
	for ($i=1; $i<=50; $i++) {
		if ( $i != "CMS_VALUE[0]" ) {
			echo "<option value=\"$i\">Font $i</option>";
		} else {
			echo "<option value=\"$i\" selected>Font $i</option>";
		}
	}
    
	echo "
	</SELECT></td>
  </tr>  <tr valign=\"top\">
    <td width=\"202\">Schriftart Text:</td>
    <td><select name=\"CMS_VAR[1]\" size=\"1\">";
    
	if ("CMS_VALUE[1]" != 0) {
		echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
	} else {
		echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
	}
	
    for ($i=1; $i<=50; $i++) {
		if ( $i != "CMS_VALUE[1]" ) {
			echo "<option value=\"$i\">Font $i</option>";
		} else {
			echo "<option value=\"$i\" selected>Font $i</option>";
		}
	}
	
    echo "
	</SELECT></td>
  </tr>  <tr valign=\"top\">
    <td width=\"202\">Zusatzangaben: </td>
    <td><INPUT TYPE=\"radio\" NAME=\"CMS_VAR[2]\" VALUE=\"0\" ";
	
    if("CMS_VALUE[2]" == 0) { 
		echo "checked=checked"; 
	}
	echo "> nichts <br>
    <INPUT TYPE=\"radio\" NAME=\"CMS_VAR[2]\" VALUE=\"1\" ";
    
	if("CMS_VALUE[2]" == 1) { 
		echo "checked=checked"; 
	} 
	echo "> Kommentar <br>
    <INPUT TYPE=\"radio\" NAME=\"CMS_VAR[2]\" VALUE=\"2\" ";
    
	if("CMS_VALUE[2]" == 2) { 
		echo "checked=checked"; 
	} 
	echo "> Textausschnitt </td>
  </tr>  <tr valign=\"top\">
    <td width=\"202\">Linkziel: </td>
    <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[3]\" VALUE=\"CMS_VALUE[3]\"></td>
  </tr>
</table>";
Output

Code: Alles auswählen

<?php
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"margin: 0px\" height=\"10\">
	<tr>
<form name='suche' method='POST' action='front_content.php?idcat=49'>
<td><input type=\"text\" style=\"width:120px\" name=\"suche\" value=\"$suche\"></td>
                <td><INPUT type=\"image\" src=\"images/finden.gif\" valign=\"bottom\"></td>
</form>
         </tr>
</table>";
?>
Die Ausgabeseite der Suche sieht so aus:

Code: Alles auswählen

<html>
	<head>
		<LINK REL="STYLESHEET" HREF="css/xxx.css" TYPE="text/css">
		<title></title>
	</head>

	<body>
		<table width="100%" height="100%" cellspacing="0" cellpadding="0">
			<tr>
				<td align="center" valign="top">
                                 	<table width="795" class="content" height="100%" cellspacing="0" cellpadding="0" border="0">
                                         	<tr>
                                                 	<td height="25" align="right">
<table>
<tr>
<td>CMS_CONTAINER[1]</td>
<td>CMS_CONTAINER[11]</td>
<td><!-- Suche -->CMS_CONTAINER[10]<!-- Ende Suche --></td>
</tr>
</table>
</td>
[b]<!-- #PRINT --> [/b]
                   
                                         	<tr>
                                                 	<td valign="top" height="169"><img src="upload/website/images/dummy.jpg" width="794" height="169" border="0"></td>
                                                 </tr>
                                         	<tr>
                                                 	<td height="35" valign="middle">CMS_CONTAINER[3]</td>
                                                 </tr>
                                         	<tr>
                                                 	<td valign="top" height="1" style="background-color: white"><img src="upload/website/images/1px_w.gif" width="1" height="1"></td>
                                                 </tr>
                                         	<tr>
                                                 	<td valign="middle" height="25">CMS_CONTAINER[4]</td>
                                                 </tr>
                                         	<tr>
                                                 	<td valign="top">
                                                         	<table cellpadding="0" cellspacing="0" border="0" width="795">
<tr>
<td>&nbsp;</td>
</tr>
                                                                 	<tr>
                                                                         	<td class="header" valign="top">CMS_CONTAINER[12]</td>
                                                                         </tr>
<tr>
<td class="inhalt"><p>
<?php
	         echo "<table border=0 cellpadding=0 cellspacing=0>";
	         if($suche){
	         $suche = trim($suche);
	         $suchregexp = "(".str_replace(" ",")|(",$suche).")";
	         $s=ereg_replace("ü", "%FC",strtolower($suche));
	         $s=ereg_replace("ä", "%E4",$s);
	         $s=ereg_replace("ö", "%F6",$s);
	         $suchregexp .= "|$s";
	         $suchliste = explode(" ",strtolower($suche));

	         $sql = "SELECT
	         a.title AS title, a.idart AS idart, a.summary AS comment, a.idartlang AS idartlang,
	         b.idcat AS idcat,
	         c.parentid AS parentid,
	         d.value AS content
	         FROM
	         ".$cfg["tab"]["art_lang"]." AS a,
	         ".$cfg["tab"]["cat_art"]." AS b,
	         ".$cfg["tab"]["cat"]." AS c,
	         ".$cfg["tab"]["content"]." AS d
	         WHERE
	         a.idart = b.idart AND
	         a.idartlang = d.idartlang AND
	         b.idcat = c.idcat AND
	         c.idclient = '$client' AND
	         idlang = '$lang' AND
	         online='1' AND
	         (d.value REGEXP '$suchregexp' OR a.title REGEXP '$suchregexp' OR a.summary REGEXP '$suchregexp')";

	         $db->query($sql);
	         if ($db->num_rows() != 0){
	         for ($i=0; $i<$db->num_rows(); $i++) {
	         $db->next_record();
	         if ($auth->auth["uid"] == "nobody"){
	         $sql2 = "SELECT public FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='".$db->f("idcat")."'";
	         $db2 = new DB_Contenido; $db2->query($sql2); $db2->next_record();
	         if($db2->f("public") == 0) continue;
	         };
	         $num = 0 + $db->f("idartlang");
	         $results[$num][link] = "front_content.php?client=$client&lang=$lang&parent=".$db->f("parentid")."&idcat=".$db->f("idcat")."&idart=".$db->f("idart")."";
	         $results[$num][title] = $db->f("title");
	         switch ("CMS_VALUE[2]") {
	         case 0: $results[$num][text] = "";break;
	         case 1: $results[$num][text] = $db->f("comment");break;
	         case 2: $results[$num][text] .= substr(strip_tags(rawurldecode($db->f("content"))),0,100)."...";
	         };
	         for($x=0;$x<count($suchliste);$x++){
	         $hits[$num] += substr_count(strtolower($db->f("title")), $suchliste[$x]) +
	         substr_count(strtolower($db->f("comment")), $suchliste[$x]) +
	         substr_count(strtolower($db->f("content")), $suchliste[$x]);
	         };
	         };
	         if(count($hits) > 0){
	         $hits = array_values($hits);
	         $results = array_values($results);
	         array_multisort ($results, SORT_DESC, SORT_NUMERIC, $hits, SORT_DESC, SORT_NUMERIC);
	         for ($i=0; $i<count($hits); $i++){
	         echo "<tr><td align=left class=inhalt><font size=\"-1\"><a href=\"".$results[$i][link]."\"";

	         echo ">".$results[$i][title]."</a></font>(".$hits[$i]." Treffer)<BR>";
	         echo $results[$i][text]."</span></td></tr>";
	         };
	         } else { echo "<tr><td class='inhalt' align=center>Keine passenden Seiten gefunden</td></tr>"; };
	         } else { echo "<tr><td class='inhalt' align=center>Keine passenden Seiten gefunden</td></tr>"; };
	         };
	         echo "</table>";
	         ?>
</p>
</td>
</tr>
                                                                 </table>
                                                         </td>
                                                 </tr>
                                         </table>
                                 </td>
			</tr>

[b]<!-- ##PRINT --> [/b]
		</table>
	</body>


</html>

Haue
Beiträge: 43
Registriert: Mi 27. Okt 2004, 20:25
Wohnort: Emsland
Kontaktdaten:

Beitrag von Haue » Mi 3. Nov 2004, 23:13

Hi, auch ich nutze dieses Modul, doch leider wird auf der auszudruckenden Seite nichts angezeigt: http://www.huerkamp-lucas.de/cms1/cms/front_content.php

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Mo 18. Apr 2005, 19:58

Danke für das nützliche Modul.

Ich habe im output geändert:

echo "<a class=\"klein\" onclick=\"MM_openBrWindow('artikel_drucken.php?url=".$url."','','resizable=yes, scrollbars=yes, width=720, height=640')\" href=\"javascript:;\">[ Artikel drucken ]</a> "

in der standard.js:
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}

Druckbereich geht dann in einem popup auf.

bruderbarnabas
Beiträge: 43
Registriert: Do 15. Jan 2004, 22:04
Wohnort: München
Kontaktdaten:

Beitrag von bruderbarnabas » So 16. Okt 2005, 21:13

Hi,

das Modul ist genau das was ich suche, aber irgendwas geht da nicht bei mir.

Bekomme folgenden Fehler wenn ich auf "Artikel drucken" klicke.
Warning: file_get_contents(): URL file-access is disabled in the server configuration in /usr/www/users/artcon/optoreha/cms/artikel_drucken.php on line 21

Warning: file_get_contents(http://artconcept-werbeagentur.de/optor ... idcatart=3): failed to open stream: no suitable wrapper could be found in /usr/www/users/artcon/optoreha/cms/artikel_drucken.php on line 21
Habe im Layout z.Bsp so was gemach:
<td>
<!-- #PRINT -->
CMS_CONTAINER[4]
<!-- ##PRINT -->
</td>
Und die Datei auch die artikel_drucken.php genau so gemacht wie du.
(hab sogar alle chmod rechte 777 vergeben)

An was kann es denn liegen?

Hat jemand ne Idee und kann mir weiterhelfen?

Es geht um diese Seite: http://artconcept-werbeagentur.de/optor ... hp?idcat=3

Und ich versuche den Content von Container 4 auszugeben.

Is noch im Aufbau ;)


Danke euch!

Basti
/:::::::::::::::::::::::\
| www.danruffs.de |
\:::::::::::::::::::::::/

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 16. Okt 2005, 22:23

Ähm, steht doch da...
Warning: file_get_contents(): URL file-access is disabled in the server configuration in /usr/www/users/artcon/optoreha/cms/artikel_drucken.php on line 21
Die Konfiguration Deines Servers verhindert, dass die Funktion file_get_contents eine Datei via URL (http://...) öffnen kann...

D.h. man müsste den Server anders konfigurieren. Wenn es nicht Dein eigener ist -> Provider (unwarscheinlich...). Wie man das macht: Keine Ahnung... (wenn es Dein eigener ist).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Problem mit mehreren Sprachen - Variablen übergeben

Beitrag von lunsen_de » Mo 17. Okt 2005, 20:41

Ich hoffe mir kann bei dem modul jemand helfen.

Es gibt ein problem bei der Uebergabe der Variablen. Es wird nur das"?" nach front_content.php uebergeben (weil alles ein link im link ist).

Adresse im Browser (artikel drucken seite, bei mir sind die Artikel zweispachig, Sprache 5 ist englisch):

http://domain.de/cms/artikel_drucken.ph ... 5&client=1

Der Browser interpretiert also

http://domain.de/cms/artikel_drucken.php?url=....den link bis ?idcatart....&lang=5&client=1

soll aber

http://domain.de/cms/artikel_drucken.php?url=...den link mit seinen variablen...

verarbeiten.

wie kann man das modul formatieren dass "&lang=x" der front_content.php zugeordnet wird und nicht als und zur artikel_drucken.php?url= (diese datei weiß mit "lang" naehmlich nichts anzufangen). Wie kann man die Variable also richtig uebergeben.

Ich hoffe die php-Spezialisten haben eine Lösung.

mfg lunsen_de

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 18. Okt 2005, 12:43

Öhm, die Beispiele waren jetzt nicht so verständlich. Nach mehrfachem lesen glaube ich folgendes verstanden zu haben:

Er soll http://domain.de/cms/front_content.php? ... 5&client=1 drucken; er versucht aber http://domain.de/cms/front_content.php? zu drucken. Richtig?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Nicht ganz

Beitrag von lunsen_de » Di 18. Okt 2005, 12:59

hallo, nicht ganz

er soll drucken


http://domain.de/cms/artikel_drucken.ph ... &client=1)

nimmt aber in der zweiten (lang5) sprache nur die variable idcatart.
druckseite wird interpretiert als


http://domain.de/cms/artikel_drucken.ph ... 5&client=1

die klammern sind nur da um beim link im link zu zeigen welche variablen er welcher php-seite zuordnet.

gruss lunsen_de

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Problem gelöst

Beitrag von lunsen_de » Di 18. Okt 2005, 17:05

Problem gelöst.

Wer also dieses Druckenmodul bei mehreren Sprachen verwenden will, sollte den Code folgendermassen aendern (ansonsten wird bei einer zweiten Sprache z.B. Englisch immer die Sprache 1 (default) angezeigt, da die lang-Variable nicht uebergeben wird).

Code: Alles auswählen

<?php 
   $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?idcatart='. $idcatart .'&lang='. $lang .'&client='. $client; 
   echo '<a href="artikel_drucken.php?url=', urlencode ($url), '" target="_blank">Seite drucken</a>' ?>
gruss lunsen_de

Lepkojus
Beiträge: 65
Registriert: Fr 5. Mär 2004, 10:42
Kontaktdaten:

Beitrag von Lepkojus » Mi 2. Nov 2005, 17:35

Leider funktioniert das Modul nicht, wenn ich geschützte Artikel drucken will. Muß wahrschieinlich an dem fopen($url,"r"); liegen, da muß wahrscheinlich die Session bzw. der User mit.

Geht das irgendwie?
Grüße
Hartmut Lepkojus

joe
Beiträge: 23
Registriert: Do 26. Aug 2004, 11:05
Kontaktdaten:

gleiches problem

Beitrag von joe » Do 8. Dez 2005, 16:31

hallo,

ich habe das gleiche Problem wie lepkojus, nämlich dass man geschützte artikel nicht drucken kann (obwohl man natürlich angemeldet ist).

auch ich würde mich daher über einen lösungsansatz freuen.

joe

Gesperrt