PDA

Zobacz pełną wersję : Przycisk publikacji dla kolumn innych niż "published".



GrzesiekP
12-11-2010, 20:05
Postępując wg wskazówek tutaj:
http://www.wromanek.info/artykuly/16-kurs-pisania-komponentow-dla-joomla-15-mvc/67-lekcja-13-backend-cz-2.html
http://www.wromanek.info/artykuly/16-kurs-pisania-komponentow-dla-joomla-15-mvc/68-lekcja-14-backend-cz3.html

Udało mi się wyświetlić przyciski publikacji i zbindować do nich zadania.

Mam natomiast w tabeli więcej pól typu tak/nie - i moje pytanie brzmi czy i w jaki sposób mogę ten sposób (szybkiego aktualizowania rekordów) zastosować do innych kolumn niż "published".

Dziękuję.

Jola
12-11-2010, 21:16
Witam,
mowa moja będzie krótka - oczywiście że tak :).

GrzesiekP
13-11-2010, 10:32
Byłbym wdzięczny za jakieś linki, jakbyś miala :)

Btw, mam problem. Otóż pomimo tego, iż rekordy w tabeli mają published = 0 albo 1, to u mnie, cały czas wyświetla czerwony krzyżyk.


<?php
foreach ($this->SongsTable as $row):
?>
<tr><td>
<?php echo JHTML::_('grid.id', $i, $row['0']); ?>
</td>
<td><?php echo $i; ?></td>
<td><?php echo $row['1']; ?></td>
<td><?php echo $row['2']; ?></td>
<td>
<?php
$published = JHTML::_('grid.published', $row, $i);
echo $published;
?>
</td>
<td><?php echo $row['4']; ?></td>
<td><?php echo $row['5']; ?></td>
<td><?php echo $row['6']; ?></td>
<td><?php echo $row['7']; ?></td>
</tr>
<?php $i++; endforeach; ?>


Edit:
Dodam, że przycisk działa tylko w kierunku unpublish->publish.
Ale po ustawieniu published=1, i tak jest czerwony krzyżyk :(

---------- Post dodany 13-11-2010 o 10:32 ---------- Poprzedni post był 12-11-2010 o 21:24 ----------

Zauważyłem, że jeśli pobiorę rekordy z tabeli przy pomocy:

function getSongsTable()
{
$db =& JFactory::getDBO();
$query = "SELECT * FROM radio_songs ORDER BY id ASC";
$db->setQuery($query);
$result = $db->loadObjectList();
return $result;
}


A nie loadRowLists, to jeśli w widoku wyświetlę dane w pętli for (a nie foreach):

<?php
for ( $i=0, $n=count($this->SongsTable); $i<$n; $i++ )
{
$row =& $this->SongsTable[$i];
$published = JHTML::_('grid.published', $row, $i);

?>
<tr>
<td><?php echo $i+1; ?></td>
<td><?php echo $row->author; ?></td>
<td><?php echo $row->title; ?></td>
<td><?php echo $published ?></td>
<td><?php echo $row->is_waiting; ?></td>
<td><?php echo $row->was_waiting; ?></td>
<td><?php echo $row->is_in_top; ?></td>
<td><?php echo $row->was_in_top; ?></td>
</tr>
<?php
}
?>

To przycisk publikacji jest poprawnie wyświetlany, ale niestety nie wywołuje żadnej akcji.