[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
No Template ... Wie funzt denn das Ausdrucken bei R4? - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Cabby
Beiträge: 104
Registriert: 21. Sep 2006, 13:24
Wohnort: Bad Salzuflen
Kontaktdaten: Website

No Template ... Wie funzt denn das Ausdrucken bei R4?

9. Nov 2007, 12:55

Hi,

mal ne Frage zu R4 ... Die bewährte " Artikel Drucken" Methode funzt nicht mehr.

Template:

<?
echo "<a href=\"index.php?article_id=35&FORM[aid]=$this->article_id&FORM[cla]=REX_CLANG_ID\" target=\"_blank\"><img src=\"files/print.jpg\" /> #ausdruck#</a>"
?>

Modul:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><? print $REX['SERVERNAME'].' | '.$this->getValue("name"); ?></title>
<link href="redaxo/css/style.css" rel="stylesheet" type="text/css">
</head>

<body onLoad="self.print()">
<table width=550 cellpadding=0>
<tr>
<td>
<?

if ("REX_ARTICLE_ID"!=$FORM[aid]) {

$CONTENT = new article();
$CONTENT->setArticleID($FORM[aid]);
$CONTENT->setClang($FORM[cla]);
echo $CONTENT->getArticle();
}

?>
</td>
</tr>
</table>

</body>
</html>

Das Modul habe ich wie üblich in einen Artikel gepackt, der wiederum kein eigenes Template hat. Redaxo sagt mit nun jedoch NO TEMPLATE wenn ich den Artikel aufrufe.

Allerdings funzt es auch nicht, wenn ich das Modul als eigenes Template nutze und es dem entsprechenden Artikel zuweise. Dann bekomme ich zwar die Seite angezeigt, jedoch ohne den gewünschten Inhalt ...

Weiß eventuell jemand Rat?

Gruß
Cabby
<love>redaxo</love>
Twitter @tobias_gerlach

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

9. Nov 2007, 14:11

Also erstmal muss ein Artikel in Version 4 immer ein Template haben. Deswegen würde ich das eher ins Template packen. Oder zumindest ein leeres Templare anlegen.

Der zweite Haken dürfte der sein, dass die Parameter-Übergabe mit FORM[parameter] nicht mehr funktioniert.
Ich würde also Paramater in der klassischen Form übergeben:

Code: Alles auswählen

aid=$this->article_id
und dann den Parameter über GET oder REQUEST auslesen:

Code: Alles auswählen

if ("REX_ARTICLE_ID"!=$_GET[aid])
Grüße,
Peter.

Benutzeravatar
Cabby
Beiträge: 104
Registriert: 21. Sep 2006, 13:24
Wohnort: Bad Salzuflen
Kontaktdaten: Website

9. Nov 2007, 14:37

Danke für die schnelle Hilfe ...

Leider funzt bei mir gar nichts ... Wie genau muss mann die Variablen denn übergeben und wiederum ins Template einbauen?

Ich versteh ma wieder gaar nix ;)
<love>redaxo</love>
Twitter @tobias_gerlach

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

9. Nov 2007, 14:43

Ersetze im aufrufenden Template FORM[aid] mit aid und FORM[cla] mit cla.
Ersetze im aufgerufenen Modul/Template $FORM[aid] mit $_GET[aid] und $FORM[cla] mit $_GET[cla]
Ist ungetestet.

Benutzeravatar
Cabby
Beiträge: 104
Registriert: 21. Sep 2006, 13:24
Wohnort: Bad Salzuflen
Kontaktdaten: Website

9. Nov 2007, 17:35

Wunderbar ... dat passt!
Vielen Dank!
<love>redaxo</love>
Twitter @tobias_gerlach

barbe
Beiträge: 239
Registriert: 17. Mai 2006, 13:09

15. Nov 2007, 01:07

So könnte das fertige Print-Template aussehen:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><? print $REX['SERVERNAME'].' | '.$this->getValue("name"); ?></title>
</head>

<body onLoad="self.print()">

<?

if ("REX_ARTICLE_ID"!=$_GET[aid])
{
$content = new article;
$content->setArticleID($_GET[aid]);
echo '<h1>'.$content->getValue("name").'</h1>';
echo $content->getArticle();
}

?>

</body>
</html>
Und so der Aufruf:

Code: Alles auswählen

<? print '<a href="index.php?article_id=38&aid='.$this->article_id.'" target="_blank" title="Diese Seite ausdrucken?" alt="Diese Seite ausdrucken?">Drucken</a>'; ?>
Gruss
Sebastian

Benutzeravatar
openmind
Beiträge: 125
Registriert: 11. Dez 2006, 12:45

Hier noch die Version für Mehrsprachigkeit

30. Aug 2008, 20:27

Danke für Eure postings, haben mir sehr geholfen. allerdings hat es für Rex4 nur einsprachig geklappt.
Deshalb hier noch die ERgänzung für die Mehrsprachige anzeige des Druckfensters:

Link für aufruf:

Code: Alles auswählen

<? 
//first article id has to fit the Artikle ID of the article wich has an Printing template
print '<a href="index.php?article_id=82&aid='.$this->article_id.'&clang=REX_CLANG_ID" target="_blank" title="###outprintContent###" alt="###outprintContent###">###outprintContent###</a>'; 
?>

Hier das vervollständigte Code für das Template:

Code: Alles auswählen


<?php
if ("REX_ARTICLE_ID"!=$_GET[aid])
{
$content = new article;
$content->setArticleID($_GET[aid]);
$content->setClang($REX['CUR_CLANG']); 
// Nächste Zeile würde die Bezeichnung der Rubrik oben auf der Druckseite einblenden
// echo '<h1>'.$content->getValue("name").'</h1>';
echo $content->getArticle(1); //cType Nummer (Weglassen, wenn alle cTypes gezeigt werden sollen
}

?> 
LG, openmind
:wink:

Zurück zu „Allgemeines [R4]“