Druckfunktion in ConPresso 4

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 01:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal
Kontaktdaten:

Druckfunktion in ConPresso 4

Beitrag von semf »

Da sich die Fragen per E-Mail häufen, wie die Druckfunktion hier http://www.tippe-info.de funktioniert, ein allgemeines Beispiel:

1.) Die Dateien index.php und detail.php kopieren und als indexprint.php und detailprint.php speichern.

2.) Die Dateien global_header.php und global_footer.php kopieren und als print_header.php und print_footer.php speichern

3.) Die Dateien indexprint.php und detailprint.php in einem Editor öffnen und diese Code-Stelle:

indexprint.php:

Code: Alles auswählen

include(CPO_BASEDIR.$directory.'/loadheaders.php');
require(CPO_BASEDIR.'_includesite/i_index.php');
include(CPO_BASEDIR.$directory.'/loadfooters.php');
detailprint.php:

Code: Alles auswählen

include(CPO_BASEDIR.$directory.'/loadheaders.php');
require(CPO_BASEDIR.'_includesite/i_detail.php');
include(CPO_BASEDIR.$directory.'/loadfooters.php');
so abändern:

indexprint.php:

Code: Alles auswählen

include('../_cfg/print_header.php');
require(CPO_BASEDIR.'_includesite/i_index.php');
include('../_cfg/print_footer.php');
detailprint.php:

Code: Alles auswählen

include('../_cfg/print_header.php');
require(CPO_BASEDIR.'_includesite/i_detail.php');
include('../_cfg/print_footer.php');
An der Stelle, an der der Drucklink erscheinen soll, das hier einfügen:

Code: Alles auswählen

if (stristr($_SERVER['PHP_SELF'],'detail.php')) {
  	 $printfile = 'detailprint.php';
	 } else {
	   $printfile = 'indexprint.php';
  }

  if (!empty($_SERVER["QUERY_STRING"])) {
	   $printfile .= '?'.$_SERVER["QUERY_STRING"];
  }

echo '<a title="Druckansicht" href="'.$printfile.'" target="_blank">Druckansicht</a>';
Anmerkung:
Der lokale Header und Footer wird nicht berücksichtigt. print_header.php und print_footer.php müssen anschliessend natürlich angepasst werden.

Die Lösung kommt denen entgegen, die Tabellen und anderen Schnickschnack verwenden. Die optimale Lösung sieht einfach eine CSS-Datei für die Print-Ausgabe vor - scheint aber noch so ihre Tücken zu haben. Daher ist die obige Lösung sicherer.
Zuletzt geändert von semf am 10.02.2006 08:02, insgesamt 1-mal geändert.
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
DanielT
ConPresso-Newbie
Beiträge: 15
Registriert: 17.08.2005 16:17
Wohnort: bremen
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Beitrag von DanielT »

Hallo Semf,

Danke für die Druckfunktion. Seit dem letzten Update auf die aktuellste Con4-Version funktionierte meine alte Lösung nämlich nicht mehr.

Um die alte Funktionalität wieder herzustellen habe ich jetzt noch eine Frage. Ich habe alles so gemacht, wie von Dir beschrieben und in der indexprint.php noch folgende Zeile ergänzt, um alle Artikel anzeigen zu lassen: "$cpoRubricSettings['noOfArticles'] = 1000;"

Jetzt besteht mein Problem darin, dass sämtliche Formatierungen und Bilder und Autorendaten aus den Artikeln auch in der Druckversion angezeigt werden. Das würde ich gerne unterbinden und weiß nicht wie? Fällt Dir vielleicht was ein?

Hier noch der Link zu meiner Druckansicht
http://www.jugendszenen.de/_cfg/indexpr ... rubric=lan

Vielen Dank und Grüße
DanielT
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 01:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal
Kontaktdaten:

Beitrag von semf »

hhmm, bei der druckansicht fehlen entscheidende tags wie <html><head> oder <body>!? liegt vielleicht daran, das du die
indexprint.php anscheinend im _cfg-ordner aufrufst - bei mir liegt die immer den rubriken bei.

zur ausgabesteuerung:
ich habe im <head> der druckansicht eine angepasste css-datei eingehängt, die die nicht benötigten bereiche ausblendet. das setzt natürlich eine entsprechende css-formatierung im original voraus.
aber wenn man dann display: hidden; im css der druckansicht für den entsprechenden bereich angibt, dann wird der ausgeblendet. so hat man auch die druckansicht in "der hand" :wink:
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
DanielT
ConPresso-Newbie
Beiträge: 15
Registriert: 17.08.2005 16:17
Wohnort: bremen
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Beitrag von DanielT »

Danke für den Tipp.
Jetzt klappt alles so wie ich mir das vorgestellt habe.

Noch eine kleine Ergänzung zu deiner Lösung. Ich habe die modifizierten Dateien im cfg-Ordner abgelegt und zur Druckausgabe einfach einen Link auf "../_cfg/indexprint.php?rubric="Name der Rubric"" eingegeben. Das fand ich etwas simpler :)

Nomals besten Dank für Deine Hilfe!
Daniel
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Nur mal als anderer Tipp:

Versucht doch einmal ganz auf eine spezielle Druckfunktion zu verzichten, indem Ihr dem Anwender einfach erlaubt im Browser auf "Drucken" zu klicken ;-).

Die Browser verstehen inzwischen naemlich alle sehr gut die Einbindung einer eigenen Stylesheet-Datei extra fuer den Druck - siehe auch http://de.selfhtml.org/css/formate/einb ... link_media

Wenn Ihr die Seite vernuenftig aufgebaut habt, koennt Ihr einzelne Teile in diesem CSS ausblenden (display: none;), usw.

Ich finde das benutzerfreundlicher, als diese "Druckfunktion"-Extraseite.

Balu
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 01:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal
Kontaktdaten:

Beitrag von semf »

ach balu, wenn alles im leben so einfach wäre! dieses ganze szenario
habe ich am anfang auch durchgespielt - um dann zu der erkenntnis
zu gelangen, dass man über eine separate seite das irgendwie besser
hinbekommt. den auch bei der druckfunktion scheinen diverse browser
ein gewisses eigenleben zu führen.

aber ich will hier dem könig nicht an den stuhl pinklen, daher
bitte so interpretieren: so kann man in conpresso evtl. auch zwei designs
anbieten - eines für die allgemeinheit und eines evtl. barrierefrei 8)
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
spyma
ConPresso-User
Beiträge: 25
Registriert: 29.08.2005 17:52
Hat sich bedankt: 2 Mal

Kein Inhalt zu sehen

Beitrag von spyma »

Ich bedanke mich für diese Anleitung.

Hab soweit auch alles hinbekommen. Da ich gelesen habe, das ich den PHP-Code nicht in das Template packen kann, habe ich mir das Inline-Mod installiert. Funktioniert soweit auch.

http://www.bluesmiley.com/zeb/_rubric/d ... uelles%29&

Nur leider wird der Inhalt nicht mehr angezeigt. Kann mir jemand sagen, woran das liegt. Ich vermute es könnte an einer Pfadangabe liegen, wüsste aber nicht welche.

Bin für jede Hilfe dankbar.
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 01:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal
Kontaktdaten:

Beitrag von semf »

hmmmm, also um das inline-modul auszuschliessen: versuch doch mal,
wie beschrieben, temporär einen link im global_footer zu legen. wenn es dann immer noch nicht funzt, dann müsste man mal die index- und detailprint.php in augenschein nehmen!
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Gast

Beitrag von Gast »

Danke für die schnelle Antwort.

Ich wäre gerne dem Gefolgt, leider ist das Layout so angepasst, das der Link soweit nur im Template stehen kann. Sonst passt es nicht zum Layout.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Die Ansage von semf war ja zu testen, ob es überhaupt irgendwo funktioniert.
Kann man das bejahen, dann kann man prüfen, wie man es in Template via Inline-Modul bringen kann.

Was nützt das schöne Layout, wenn es gar nicht funktioniert?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Was mich etrem irritiert ist die Index-Seite, die dazu gehört
http://www.bluesmiley.com/zeb/_rubric/i ... tuelles%29&

irgendwie sehr leer...

und daß die detailprint sehr wohl was ausgeben kann sieht man, wenn man die Rubrik manipuliert bzw. entfernt
http://www.bluesmiley.com/zeb/_rubric/d ... .php?nr=46

Ich habe das nirgendwo laufen, aber grundsätzlich würde ich jetzt mal die Inhalte der Rubrik prüfen und prüfen, ob diese URLs so richtig sind
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Gast

Beitrag von Gast »

Das Ganze ist leider etwas kompliziert aufgebaut. Vielleicht liegt es auch daran,

Es gibt ein Artikel (Aktuelles). In dem Template rufe ich 3 andere Rubriken auf (aktuelles, Presseberichte und Stellungnahmen) Die Detailseite wird aber im ersten Template bestimmt. Ich wusste soweit keinen anderen Weg, wie das hätte anders lösen können.

Template Aktuelles (Javascript/PHP)

Code: Alles auswählen

<div id="aktuelles">
<div id="block">
<div id="abstandundtext">
<div id="linie">
<span id="datum"><!-- Value: pub_date; --></span>
<span id="atitle"><!-- Value: Title; --></span>
</div>
<div>
<div class="tab">
<!-- HTML: Teaser; -->

<!-- ifSet: Verweis; -->
<span id="newslink">
<!-- URL: Verweis; starttag; -->MEHR</a>
</span>
<!-- /ifSet -->

<!-- ifNotSet: Verweis; -->
<span id="newslink">

<!-- ifNotSet: weiter; -->
<!-- URL: Standardwert_weiter; starttag; -->MEHR</a>
<!-- /ifNotSet --></span></div>
<!-- /ifNotSet -->
</div>
</div>
</div>
</div>
Detail vom Template Aktuelles (Artikelseite)

Code: Alles auswählen

<div id="aktuelles">
<div class="back"><!-- ifNotSet: back; -->
<!-- URL: Standardwert_back; starttag --> zur&uuml;ck</a>
<!-- /ifNotSet --></span></div><br>

<div id="quelle">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="795"><!-- ifSet: Quelle; --><img src="../_skin/zeb/image/quelle.gif"><span class="text"><!-- Text: Quelle; --></span><!-- /ifSet --></td>
<td width="180"><span class="pdatum"><img src="../_skin/zeb/image/clock.gif"><!-- Value: pub_date; --></span></td>
</tr>
</table>
</div>
<div id="druck">###inline[1]###</div>
<div id="title"><!-- Value: Title; --></div>
<div id="fliesstext"><!-- HTML: Text; --></div><span class="oben" target="oben"><a href="#"> oben</a><br></span></div>
Template von Aktuelles, Stellungnahmen und Presseberichte (Indexseite)

Code: Alles auswählen

<div id="aktuelles">
<div id="punkt"><span id="text">Aktuelles</span></div>
</ br>
<span id="tab"><script language="JavaScript" type="text/javascript" src="index_js.php?rubric=6"></script></span>

<div id="punkt"><span id="text">Presseberichte</span></div>
</ br>
<span id="tab"><script language="JavaScript" type="text/javascript" src="index_js.php?rubric=4"></script></span>

<div id="punkt"><span id="text">Stellungnahmen</span></div>
</ br>
<span id="tab"><script language="JavaScript" type="text/javascript" src="index_js.php?rubric=5"></script></span>
</div>
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Re: Druckfunktion in ConPresso 4

Beitrag von MarkusR »

Meiner Meinung nach liegt es direkt an der Datei detailprint.php

Dabei irritiert mich, daß indexprint.php und detailprint.php IDENTISCH sein sollen:
semf hat geschrieben:3.) Die Dateien indexprint.php und detailprint.php in einem Editor öffnen und diese Code-Stelle:

Code: Alles auswählen

include(CPO_BASEDIR.$directory.'/loadheaders.php');
require(CPO_BASEDIR.'_includesite/i_index.php');
include(CPO_BASEDIR.$directory.'/loadfooters.php');
so abändern:

Code: Alles auswählen

include('../_cfg/print_header.php');
require(CPO_BASEDIR.'_includesite/i_index.php');
include('../_cfg/print_footer.php');
Ich würde ja blind sagen, daß bei detailprint nicht i_index.php sondern i_detail.php eingebunden werden sollte... aber das ist wie gesagt nur ein Schuss ins Blaue... :roll:

Wenn das bei Dir so ist, dann ist dies auch der Grund, weil wenn
http://www.bluesmiley.com/zeb/_rubric/i ... tuelles%29&
leer ist, dann ist auch
http://www.bluesmiley.com/zeb/_rubric/d ... tuelles%29&
leer, da in beiden vermutlich i_index.php verwendet wird?
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 01:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal
Kontaktdaten:

Beitrag von semf »

upps, die pannenshow - im conpresso-forum :wall:

natürlich muß es in der detailprint.php i_detail.php lauten - habe ich oben bereits abgeändert! sorry :oops:
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Gast

Beitrag von Gast »

Ich danke Euch für Eure hilfe.

Jetzt klappt es auch so wie es soll. Musste natürlich in der detailprint.php auf die i_detail.php setzen und nicht auf die i_index.php.

So jetzt ist noch das Design dran, aber das schaffe ich selber.

Ich bedanke mich nochmals für eure Geduld.
Antworten