PDA

Zobacz pełną wersję : Problem z modułem - odświeżanie danych z bazy



hellsender
30-06-2014, 11:09
Witam dodalem napisany moduł który ma za zadanie umożliwić zmianę np newsa w aktywny lub nieaktywny. Wszystko działa lecz aby dane się odświeżyły trzeba przeładować stronę.
mod_reviews.php
<?php
defined('_JEXEC') or die('Wstęp wzbroniony');
require_once(dirname(__FILE__).DS.'helper.php');
$reviews = modREviewsHelper::getReviews($params);
$rows = modReviewsHelper::getReviews($params);
require(JModuleHelper::getLayoutPath('mod_reviews' ));

?>
helper.php
<?php
class modReviewsHelper
{
function getReviews($params)
{
$items =$params->get('items',10);
$db=&JFactory::getDBO();
$result=null;
$query = 'SELECT * FROM #__content';
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();
if($db->getErrorNum()){
JError::raiseWarning(500,$db->stderr(true));
}
return $rows;
}
function renderReviews(&$reviews, &$params)
{
$link = JRoute::_('index.php?option=com_reviews&id='.$reviews->id.'&task=view');
require(JModuleHelper::getLayoutPath('mod_reviews' ,'reviews'));
}

}
?>
reviews.php
<?php
defined('_JEXEC') or die('Wstep wzbroniony');

?>
<?php
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>


<form action="" method="post" name="form" >
<table width="95%">
<tr><td>
<strong><?php echo ucwords(strtolower($reviews->title));?><strong>
<br />
<span style="font-size:9px; margin-top:-5px;">
<?php echo ucwords(strtolower($reviews->state));?></span><br />
</td>
</tr>
<tr>
<td><?php echo wordwrap($reviews->introtext,130, "<br />\n");?></td>
<td><input name="nameid" value="<?php echo $reviews->id?>" type="hidden" /></td>
<td><input name="nametitle" value="<?php echo $reviews->title ?>" type="text" /></td>
<td><?php if ($reviews->state=='1') {echo "Aktywne";} else {echo "Nieaktywne";}?></td>
<td>

<select name="namestan">
<option value="1">Aktywne</option>
<option value="0">Nieaktywne</option>
</select></td>

<td><input name="submit" type="submit" value="submit" /> </td>

</tr>

</table>
</form>
<?php
if(isset($_POST['submit'])){
$dane->id = $_POST['nameid'];
$dane->state = $_POST['namestan'];
$result = JFactory::getDbo()->updateObject('#__content', $dane, 'id');

};

?>
default.php
<?php
defined('_JEXEC') or die('Wstep wzbroniony');
//echo $reviews;
foreach($rows as $row)
{
modReviewsHelper::renderReviews($row, $params);

}
?>
mod_reviews.xml
<?xml version="1.0" encoding="utf-8"?>
<extension
type="module"
version="2.5"
client="site"
method="upgrade">
<name>Reviews</name>
<author>Michal Nowak</author>
<version>1.0.0</version>
<description>Modul do wczytywania z bazy</description>
<files>
<filename module="mod_reviews">mod_reviews.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<folder>tmpl</folder>
<filename>mod_reviews.xml</filename>

</files>
</extension>
Czy ktos moża ma jakiś pomysł w jaki sposób zrobić aby dane były odświeżone po edycji stanu z aktywnego lub nieaktywnego bez wciskania F5