Witam,
Posiadam widok w joomla, który to próbuję skonwertować do pdf (biblioteka dompdf). Niestety oprócz braku obramowań tabeli wywala mi jeszcze błąd:
on line C:\AppServ\www\joomla2.5\components\com_katalog\views\wydruk\tmpl\default.php]: The
second argument should be either an array or an object in function.array-key-exists: array_key_exists() [
Chodzi o tę linię: $item = array_key_exists ($i, $list) ? $list[$i] : item;
Tłumaczyć to chyba można: Jeżeli istnieje klucz o wartość $i w tablicy to pobierz obiekt spod tego indeksu. W przeciwnym razie utwórz nowy obiekt (żeby błędami/ostrzeżeniami nie sypał) i przypisz do $item
Kod widoku wygląda następująco:
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8" />
<title class="spis">Spis sprzętu w pomieszczeniu</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<link rel="stylesheet" href="style_print.css" media="print" type="text/css" />
<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body class="spis">
<div id="container">
<div class="title">
<span class="name"><b>XXXX</b></span></br>
<span class="name">.............................................................................
<br>(Nazwa jednostki użytkownika)</span>
<span class="date"><b>4</b></span></br>
<span class="date">.........................................................
<br><center>(Numer budynku/kompleksu)</center></br></span>
</div>
<br><br / >
<br><br / >
<h1 class='spis'><center>SPIS SPRZĘTU W POMIESZCZENIU NR <?php echo "".$list[0]->nr_pomieszczenia.""?></center></h1>
<br><br / >
<table id=spis>
<?php
echo '<tr>';
echo '<td class="lp" rowspan="2"><center>Lp</center></td>';
echo '<td class="nazwa" rowspan="2"><center>Nazwa przedmiotu (wg katalogu)</center></td>';
echo '<td rowspan="2"><center>Oznaczenie katalogowe</center></td>';
echo '<td rowspan="2"><center>Jedn. miary</center></td>';
echo '<td colspan="8"<center>Stan w dniu</center></td>';
echo '</tr>';
echo '<tr>';
echo '<td height="120"></td>';
echo '<td></td>';
echo '<td></td>';
echo '<td></td>';
echo '<td></td>';
echo '<td></td>';
echo '<td></td>';
echo '<td></td>';
echo '</tr>';
$lp = 0;
for ($i=0; $i<21; $i++)
{
$lp = $i+1;
$item = array_key_exists ($i, $list) ? $list[$i] : item;
//foreach($list as $item)
echo '<tr>';
echo "<td>$lp.</td>";
echo "<td>".$item->nazwa."</td>";
echo "<td>".$item->JIM."</td>";
echo "<td>".$item->skrot."</td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";
echo '</tr>';
}
echo '</table>';
echo '<br><br>';
echo '<br><p align=right> ...............................<br></p>';
echo '<address> <p align=right>stopień imię i nazwisko</address><br></p>';
echo '<address><p align=right>podpis uĹĽytkownika sprzętu</address><br></p>';
echo '</div></body>';
echo '</html>';
echo'
<form method="post" action="index.php?view=Wydruk&format=pdf">
<input type="image" src="pdf.png" value="submit" onfocus="blur()" />;
</p>
</form>';
echo '</table>';
Taki błąd wywala 21 razy, tyle ile jest wierszy w tabeli.
Nie wiem czemu się tak dzieje. Wykaz sformalizowany w załączniku.