+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Drucken einer Komponentenansicht

  1. #1
    Neu an Board
    Registriert seit
    10.02.2010
    Ort
    Lippstadt
    Beiträge
    35
    Bedankte sich
    8
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Frage Drucken einer Komponentenansicht

    Hallo Forum,

    zuerst der Hinweis, ich bin blutiger Anfänger im Bereich der Programmierung unter Joomla!. Wahrscheinlich habe ich genau deswegen diese Schwierigkeiten. Ich habe eine Komponente mit unterschiedlichen View's in Back- und Frontend programmiert. Bei einer Ansicht im Frontend möchte ich nun die Möglichkeit einbauen, nur diese Ansicht zu drucken. Leider finde ich keine Hinweise oder Erklärungen im Netz, wie ich so etwas einbauen kann. Ich habe mir auch schon die com_content angesehen, aber leider verstehe ich da nicht alles.
    Hier also meine Frage, kennt jemand eine Dokumentation welche genau das erklärt, oder, kann mir das hier jemand im Forum kurz erklären.

    Vielen Dank schon einmal im voraus für Eure Hilfe,
    Christian
    Geändert von Christilon (29.11.2010 um 07:53 Uhr)

  2. #2
    War schon öfter hier
    Registriert seit
    28.11.2008
    Beiträge
    149
    Bedankte sich
    22
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    Zitat Zitat von Christilon Beitrag anzeigen
    Hallo Forum,

    zuerst der Hinweis, ich bin blutiger Anfänger im Bereich der Programmierung unter Joomla!. Wahrscheinlich habe ich genau deswegen diese Schwierigkeiten. Ich habe eine Komponente mit unterschiedlichen View's in Back- und Frontend programmiert. Bei einer Ansicht im Frontend möchte ich nun die Möglichkeit einbauen, nur diese Ansicht zu drucken. Leider finde ich keine Hinweise oder Erklärungen im Netz, wie ich so etwas einbauen kann. Ich habe mir auch schon die com_content angesehen, aber leider verstehe ich da nicht alles.
    Hier also meine Frage, kennt jemand eine Dokumentation welche genau das erklärt, oder, kann mir das hier jemand im Forum kurz erklären.

    Vielen Dank schon einmal im voraus für Eure Hilfe,
    Christian
    Hallo,

    es dürfte reichen, die folgenden Zeilen in die default.php der View einzufügen:

    Code:
    		
    <?php 
    		if (JRequest::getVar("print")!=1) 
    			echo JHTML::_('icon.print_popup'); 
    		else
    			echo JHTML::_('icon.print_screen');	
    		?>
    Gruß,
    joomlix

  3. #3
    Verbringt hier viel Zeit
    Registriert seit
    24.01.2006
    Beiträge
    594
    Bedankte sich
    108
    Erhielt 359 Danksagungen
    in 203 Beiträgen

    Standard

    Zitat Zitat von joomlix Beitrag anzeigen
    es dürfte reichen, die folgenden Zeilen in die default.php der View einzufügen:

    Code:
            
    <?php 
            if (JRequest::getVar("print")!=1) 
                echo JHTML::_('icon.print_popup'); 
            else
                echo JHTML::_('icon.print_screen');    
            ?>
    Gruß,
    joomlix
    Ich würde behaupten, dass dies nur funktioniert, wenn man sich in der com_content Komponente befindet oder zumindest die helper/icon.php von com_content läd, wobei die erste Methode wiederum nur mit com_content funktioniert => man muss sich selbst so etwas bauen (und kann ja die icon.php aus com_content als Vorbild nehmen)

  4. #4
    War schon öfter hier
    Registriert seit
    28.11.2008
    Beiträge
    149
    Bedankte sich
    22
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    Zitat Zitat von bembelimen Beitrag anzeigen
    Ich würde behaupten, dass dies nur funktioniert, wenn man sich in der com_content Komponente befindet oder zumindest die helper/icon.php von com_content läd, wobei die erste Methode wiederum nur mit com_content funktioniert => man muss sich selbst so etwas bauen (und kann ja die icon.php aus com_content als Vorbild nehmen)
    Nein, das funktioniert auch in einer eigenen Komponente so, zumindest in einer von mir. Es ist zwar schon wieder eine Zeit lang her, dass ich das so umsetzt habe, im Controller und Model habe ich nichts hinzufügen müssen.

  5. #5
    Verbringt hier viel Zeit
    Registriert seit
    24.01.2006
    Beiträge
    594
    Bedankte sich
    108
    Erhielt 359 Danksagungen
    in 203 Beiträgen

    Standard

    PHP-Code:
        function print_popup($article$params$access$attribs = array())
        {
            
    $url  'index.php?view=article';
            
    $url .=  @$article->catslug '&catid='.$article->catslug '';
            
    $url .= '&id='.$article->slug.'&tmpl=component&print=1&layout=default&page='.@ $request->limitstart;

            
    $status 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no';

            
    // checks template image directory for image, if non found default are loaded
            
    if ( $params->get'show_icons' ) ) {
                
    $text JHTML::_('image.site',  'printButton.png''/images/M_images/'NULLNULLJText::_'Print' ) );
            } else {
                
    $text JText::_'ICON_SEP' ) .'&nbsp;'JText::_'Print' ) .'&nbsp;'JText::_'ICON_SEP' );
            }

            
    $attribs['title']    = JText::_'Print' );
            
    $attribs['onclick'] = "window.open(this.href,'win2','".$status."'); return false;";
            
    $attribs['rel']     = 'nofollow';

            return 
    JHTML::_('link'JRoute::_($url), $text$attribs);
        } 
    Tut bei mir nicht außerhalb von com_content...

  6. #6
    War schon öfter hier
    Registriert seit
    28.11.2008
    Beiträge
    149
    Bedankte sich
    22
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    Du hast Recht. Ich habe nur den Helper übersehen, der das bewerkstelligt ...

  7. #7
    Neu an Board
    Registriert seit
    10.02.2010
    Ort
    Lippstadt
    Beiträge
    35
    Bedankte sich
    8
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Hallo Forum,

    ich habe eine ganz einfache Lösung gefunden. Ich muss die Ansicht einfach mit dem Parameter tmpl=component aufrufen.

    Beispielcode:
    PHP-Code:
    <?php 
    $status 
    "'scrollbars=yes,resizable=yes,width=640,height=480,directories=no,menubar=yes,toolbar=yes'";
    $link "'index.php?option=com_mysaal&view=saalplan&layout=buchungendrucken&tmpl=component'";
    ?>    
        
        <td><a href="index.php?option=com_mysaal&view=buchungendrucken&AktuelleVorstellung=<?php echo $AktuelleVorstellung?>&tmpl=component" title=Drucken"
        onclick="window.open(<?php echo $link;?>,'win2',<?php echo $status;?>); return false;" rel="nofollow">
        Buchungen drucken
        </a>
    Der Code onclick="window.open(<?php echo $link;?>,'win2',<?php echo $status;?>); öffnet en neues Fenster ohne Joomla-Überbau welches dann gedruckt werden kann.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein