Pracujem na aplikácii postavenej na rámci CakePHP, ktorá používa AJAX (s jQuery).
Mám problémy s používaním doplnku jQuery"tablesorter" s AJAX-upravenými tabuľkami, pretože si myslím, že môj View neprodukuje výstup, ktorý by mal: štruktúra tabuľky v skutočnom HTML výstupe nie je to, čo by mal robiť môj PHP kód (chýbajúce tagy, tagy objavujúce sa odnikiaľ ).
Som v CakePHP nováčikom, takže moja otázka znie: Existuje spôsob, ako ovládať, ako CakePHP upravuje výstup HTML? Alebo - ešte lepšie - vypnúť túto nepríjemnú funkciu?
Možno snívam a možno CakePHP nie je vinný za tento, ale nikdy predtým som nič také nevidel (programoval som v PHP bez rámca).
PS: prepáč za moju angličtinu, francúzštinu vo vnútri.
ÚPRAVA: tu je kód podľa môjho názoru:
echo"<thead>
<th>ID</th>
<th>Dénomination</th>
<th>Stock</th>
</thead>";
?>
<?php foreach ($products as $product){ ?>
<tr>
<td><?php echo $product["Product"]["id"]; ?></td>
<td>
<?php echo $this->Html->link($product["Product"]["denomination"], "/products/view/".$product["Product"]["id"], array("escape"=>false)); ?>
</td>
<td><?php echo $product["Product"]["quantity"]; ?></td>
</tr>
<?php }
?>
<script>
$("#result").tablesorter();
</script>
a tu je výstup HTML:
<table id="result">
<tbody>
<tr> <td>64</td>
<td>
....
Odvtedy si nemyslím, že je užitočné ísť ďalej <thead>
nie je tam a <tbody>
je.
odpovede:
0 pre odpoveď č. 1Tento kód použite na prezeranie tabuľky vo svojom súbore search.ctp.
<table id="result" cellpadding="0" cellspacing="0" border="0" class="emailTable display table" width="100%">
<thead>
<th>ID</th>
<th>Dénomination</th>
<th>Stock</th>
</thead>
<tbody>
<?php
foreach ($products as $product): ?>
<tr>
<td><?php echo $product["Product"]["id"]; ?></td>
<td>
<?php echo $this->Html->link($product["Product"]["denomination"], "/products/view/".$product["Product"]["id"], array("escape"=>false)); ?>
</td>
<td><?php echo $product["Product"]["quantity"]; ?></td>
</tr>
<?php
endforeach;
?>
</tbody>
<script>
$("#result").tablesorter();
</script>