--=REKLAMA=--

Jak dodać opcję drukuj do komponentu

Z Joomla!WikiPL

Dodanie opcji "drukuj" do widoku szczegółowego komponentu Sobi2

Opisany sposób umożliwia osiągnięcie takiej samej funkcjonalności drukowania jaką mają artykuły. Można go zastosować w dowolnym komponencie odpowiednio modyfikując dane. Zaczynamy od sprawdzenia jak wygląda adres strony, na której chcemy umieścić ikonkę "Drukuj", nazwę go adresem bazowym:

index.php?option=com_sobi2&sobi2Task=sobi2Details& catid=0&sobi2Id=8&Itemid=56

Poniższy kod PHP wstawiamy do pliku sobi2.details.tmpl.php zaraz nad:

<table class="sobi2Details" <?php echo $style; ?> >
<?php
$Itemid = JRequest::getVar('Itemid', '', '', 'int');
$sobi2Id = JRequest::getVar('sobi2Id', '', '', 'int');
$print = JRequest::getVar('print', '0', '', 'int');
?>
<?php if ($print == 1){ ?>
<div class="druk">
<a href="#" onclick="window.print();return false;"><img src="images/M_images/printButton.png" alt="Drukuj"  /></a>
</div>
<?php } 
else { ?>
<div class="druk1">
<a href="index.php?view=article&amp;tmpl=component&amp;print=1&amp;layout=default&amp;page=&amp;option=com_sobi2&amp;sobi2Task=sobi2Details&amp;sobi2Id=
<?php echo $sobi2Id;?>&amp;catid=0&amp;Itemid=<?php echo $Itemid;?>" title="Drukuj"
onclick="window.open(this.href,'win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,
height=480,directories=no,location=no'); return false;" rel="nofollow">
<img src="images/M_images/printButton.png" alt="Drukuj"  /></a>
</div>
<?php }?>

Pobrane zmienne $print i $Itemid są uniwersalne dla każdego komponentu, $sobi2Id jest specyficzny dla Sobi2. W innych komponentach zazwyczaj do określenia id wyświetlanego elementu używana jest zmienna o nazwie id.

Przyglądając się adresowi, za pomocą którego otwierana jest strona do drukowania można zauważyć, że zawiera ona adres bazowy:
index.php?view=article&amp;tmpl=component&amp;prin t=1&amp;layout=default&amp;page=&amp;option=com_sobi2&amp;sobi2Task=sobi2Details&amp;sobi2Id=
<?php echo $sobi2Id;?>&amp;catid=0&amp;Itemid=<?php echo $Itemid;?>

Używając tej metody dla innego komponentu adres bazowy musi być odpowiedni dla niego.
Pozostają do zdefiniowania (zmienienia) klasy css użyte dla prezentacji ikonek drukowania.

Dziękujemy za wkład

» Stefan Wajda [zwiastun],