PDA

Zobacz pełną wersję : Własny moduł - problem z kodem



Exoss
25-03-2012, 13:44
Witam,

Chciałbym zrobić własny moduł, w zasadzie już mam podstawę by go zainstalować i prawidłowo wyświetlić. Ma polegać na wyświetlaniu wyjazdów/akcji przez straż ochotnicza. Posiada 3 divy: 1wszy "wyjazdy w dniu dzisiejszym", a 2 ostanie w bieżącym miesiącu i roku. W parametrach moduły wpisuje się ilość wyjazdów w dniu dzisiejszym. I teraz tak - jak dzień się skończy to zmienna która przechowywuje ilość wyjazdów w dniu dzisiejszym się resetuje/ustawia na 0 ale przed tym żeby dodała się do ilości wyjazdów w bieżącym miesiącu, no i tak samo z rokiem(ale to już zrobię sam jeżeli będę wiedzieć jak to się robi w przypadku z "dzisiejszymi" i miesiącem).

O to moje sfailone kody :D:

a) helper.php


<?php defined('_JEXEC') or die('Direct Access Denied');

class modWyjazdyHelper {

var $_wyjazd;

function __construct( &$params ) {
$this->_params =& $params;
$this->_wyjazd = $this->_params->get('dzisiejsze','0');
}

function &getDzien() {
#$date = date("G");
if ( date('i', time())%2 == 0 ) {
$_cos += $dzi;
} else { $dzi = 0; }
return $dzi;
}

function &getMies() {
$mies += $dzi;
return $mies;
}

function &getRok() {
$rok += $mies;
return $rok;
}
}

b) default.php


<?php defined('_JEXEC') or die('Direct Access Denied') ?>

<div style="background:#bb2b2b;
border-radius:10px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border:1px solid #ffffff;
text-align:left;
padding:8px 10px;
font:bold 16px 'Arial';
color:#ffffff">
<?php echo "Dzisiaj: " . $dzi; ?>
</div>

<div style="background:#bb2b2b;
border-radius:10px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border:1px solid #ffffff;
text-align:left;
padding:8px 10px;
font:bold 16px 'Arial';
color:#ffffff">
<?php echo "W miesiacu: " . $mies; ?>

</div><div style="background:#bb2b2b;
border-radius:10px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border:1px solid #ffffff;
text-align:left;
padding:8px 10px;
font:bold 16px 'Arial';
color:#ffffff">
<?php echo "W roku: " . $rok; ?>
</div>


c) mod_wyjazdy.php

<?php defined('_JEXEC') or die('Direct Access Denied');

require_once ('helper.php');

$helper = new modWyjazdyHelper($params);
$dzi =& $helper->getDzien();
$mies =& $helper->getMies();
$rok =& $helper->getRok();

require( JModuleHelper::getLayoutPath('mod_wyjazdy') );

d) mod_wyjazdy.xml

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>Wyjazdy</name>
<author>Blabla</author>
<creationDate>Marzec 2012</creationDate>
<copyright>Blabla</copyright>
<license>GNU/GPL 2.0</license>
<authorEmail>-</authorEmail>
<authorUrl>-</authorUrl>
<version>1.0.0</version>
<description>Moduł wyjazdy</description>
<files>
<filename module="mod_wyjazdy">mod_wyjazdy.php</filename>
<filename>helper.php</filename>
<filename>index.html</filename>
<folder>tmpl</folder>
</files>
<params>
<param name="dzisiejsze" type="text" default="0" label="Dzisiaj" description="Ilość dzisiejszych wyjazdów/akcji." />
</params>
<params group="advanced">
<param name="cache" type="list" default="1" label="Cache" description="Czy zapisywan w Cache">
<option value="1">Globalnie</option>
<option value="0">Nie</option>
</param>
<param name="cache_time" type="text" default="15" label="Czas Cache" description="Czas przechowywania w Cache" />
</params>
</install>

Z góry dziękuje za szybką odpowiedzi.
Pozdrawiam.

Karol99
25-03-2012, 16:31
To nie odpowiedź na Twoje pytania - ale wiem, że jest niemiecki rozbudowany zestaw komponent-moduły dla straży pożarnych. To demo (http://www.feuerwehr-veenhusen.de/ff/einsaetze/einsatzuebersicht.html) (strona rzeczywistej ochotniczej straży pożarnej) oraz download (http://www.joomlaos.de/Joomla_1.7_Downloads/Joomla_1.7_Komponenten/Einsatzkomponente_J1.5_-_J1.7.html). Niestety, nie wiem nic więcej na ten temat, nigdy bliżej nie przyglądałem się temu wynalazkowi.

Exoss
25-03-2012, 17:42
Ale i tak dzięki za odpowiedz. Nie potrzebuje aż takich rozbudowanych modułów, ale nie mówię też że może kiedyś nie będę takiego czegoś potrzebował. Stoję w miejscu ponieważ nie mam pojęcia jak przez skrypt zresetować/ustawić wartość w danym parametrze w moim przypadku "Dzisiaj" na 0. Tylko to chciałbym wiedzieć :D