Joomla 5.3 (17 dub 2025)
15. dubna 2025 byla oficiálně vydána nová verze populárního CMS Joomla – verze 5.3. Tato aktualizace přináší celou řadu vylepšení, vyšší bezpečnost a lepší výkon.
pozicování
07. říj 2015 00:46 #123816
Odpověď od Ernst

Joomla Expert
Ještě mi někdo prosím poraďte, jak jednoduše vypíšu proměnné z poznamka.php
07. říj 2015 09:27 #123822
Odpověď od Cony

Moderátor
Zkuste se už opravdu trochu zorientovat v terminologii a princicpech. Co to znamená "Vypíšu proměnné"? Kam? Proč?
Základ o tom co je to Controller, Model nebo View si můžete pročíst zde .
Vy jste se ro\zhodl vytvořit si vlastní Controller, měl by jste tedy správně pro něj mít i vlastní model a view. Asi jednodušší cesta by pro Vás mohla být jen rozšířit stávající controller messages o novou funkci poznamka a pak míso poznamka.send volat adresu mesages.poznamka.
Základ o tom co je to Controller, Model nebo View si můžete pročíst zde .
Vy jste se ro\zhodl vytvořit si vlastní Controller, měl by jste tedy správně pro něj mít i vlastní model a view. Asi jednodušší cesta by pro Vás mohla být jen rozšířit stávající controller messages o novou funkci poznamka a pak míso poznamka.send volat adresu mesages.poznamka.
07. říj 2015 12:37 - 07. říj 2015 12:39 #123827
Odpověď od Ernst

Joomla Expert
vypsat proměnné potřebuji jen kvůli ladění.
var_dump echo, alert mi nic nevypíše (tedy to hned zmizí, protože jak se zavře to formulářové okno to asi hned zmizí.
zkoušel jsem i print() ale to také nějak nejde.
Jde to uložit do souboru?
Díky za článek, čtu si ho.
Té poslední větě rozumím tak, že messages je název toho php a send nebo poznámka je funkce v té třídě?
Zkusit ti mohu, ale v čem je to lepší?
Já v poznamka.php ve funkci send vyhodím ty další věci, který nemám ještě zmapovaný a udělám si tam vlastní zápis do databáze. Správně to asi není, ale fungovat by to mělo?
Ale abych se zorientoval, potřebuji si vypsat proměnný ve funkci send
Ta funkce send zapíše nebo volá zápis do databáze a to nevím přesně jak a luštil bych to ještě pár dní.
A já to potřebují zapsat do jiné tabulky databáze, proto bych to nejraději udělal rovnou v tom poznamka - send
var_dump echo, alert mi nic nevypíše (tedy to hned zmizí, protože jak se zavře to formulářové okno to asi hned zmizí.
zkoušel jsem i print() ale to také nějak nejde.
Jde to uložit do souboru?
Díky za článek, čtu si ho.
Té poslední větě rozumím tak, že messages je název toho php a send nebo poznámka je funkce v té třídě?
Zkusit ti mohu, ale v čem je to lepší?
Já v poznamka.php ve funkci send vyhodím ty další věci, který nemám ještě zmapovaný a udělám si tam vlastní zápis do databáze. Správně to asi není, ale fungovat by to mělo?
Ale abych se zorientoval, potřebuji si vypsat proměnný ve funkci send
Ta funkce send zapíše nebo volá zápis do databáze a to nevím přesně jak a luštil bych to ještě pár dní.
A já to potřebují zapsat do jiné tabulky databáze, proto bych to nejraději udělal rovnou v tom poznamka - send
07. říj 2015 13:02 #123829
Odpověď od Cony

Moderátor
Znovu, var_dump, echo atd. Vám při volání PHP skriptu zapíše něco do výstupu toho skriptu. To ještě neznamená, že se Vám to zobrazí na obrazovce. Pokud voláte skript pomocí AJAX, musíte si zobrazení zařídit sám.ernst napsal: vypsat proměnné potřebuji jen kvůli ladění.
var_dump echo, alert mi nic nevypíše (tedy to hned zmizí, protože jak se zavře to formulářové okno to asi hned zmizí.
zkoušel jsem i print() ale to také nějak nejde.
Ano, proč by nešlo, buď standardními funkcemi PHP, nebo můžete použít funkce pro logování Joomly .ernst napsal: Jde to uložit do souboru?
Nebudete muset řešit (kopírovat) tolik věcí.ernst napsal: Té poslední větě rozumím tak, že messages je název toho php a send nebo poznámka je funkce v té třídě?
Zkusit ti mohu, ale v čem je to lepší?
Poděkovali: Ernst
07. říj 2015 15:00 #123835
Odpověď od Ernst

Joomla Expert
tak s tím uložením do logu jsem se nějak popral a tak mi to stačí.
funkce send je
a výstup je
takže v $data jsou hodnoty z formuláře a ty si mohu zapsat do tabulky databáze.
Ještě musím najít, kde se volá ten zápis do původní tabulky databáze (tam to nepotřebuji) a vyrušit to.
Poradíte mi nebo to mám dělat metodou pokus - omyl?
funkce send je
Code:
public function send()
{
jimport ("joomla.log.log ");
JLog::addLogger(
array('text_file' => 'LOG1.TXT'),
JLog::ALL,
array('com_helloworld'));
$settings = LoveFactoryApplication::getInstance()->getSettings();
$model = $this->getModel('Message');
$data = JFactory::getApplication()->input->get('message', array(), 'array');
foreach ($data as $t) {
JLog::add('data'.$t.chr ( 012 ));}
$response = array();
if ($model->send($data)) {
$response['status'] = 1;
$response['message'] = FactoryText::plural('poznamka_task_send_success', $settings->approval_messages);
} else {
$response['status'] = 0;
$response['message'] = FactoryText::_('message_task_send_error');
$response['error'] = $model->getError();
}
foreach ($response as $t) {
JLog::add('response'.$t.chr ( 012 ));}
$this->checkMembershipRestrictionRedirection($model, $response);
// Check if it's Ajax request.
if ($this->isAjaxRequest()) {
$this->renderJson($response);
return true;
}
if ($response['status']) {
if (!isset($response['redirect'])) {
$response['redirect'] = FactoryRoute::view('outbox');
}
} else {
if (!isset($response['redirect'])) {
$response['redirect'] = FactoryRoute::view('compose');
}
JFactory::getApplication()->enqueueMessage($response['error'], 'error');
}
$this->setRedirect($response['redirect'], $response['message']);
return true;
}
Code:
2015-10-07T12:53:02+00:00 INFO ::1 - data22222222
2015-10-07T12:53:02+00:00 INFO ::1 - data11
2015-10-07T12:53:03+00:00 INFO ::1 - response1
2015-10-07T12:53:03+00:00 INFO ::1 - responsePoznámka úspěšně odeslána!
takže v $data jsou hodnoty z formuláře a ty si mohu zapsat do tabulky databáze.
Ještě musím najít, kde se volá ten zápis do původní tabulky databáze (tam to nepotřebuji) a vyrušit to.
Poradíte mi nebo to mám dělat metodou pokus - omyl?
07. říj 2015 16:07 #123836
tedy funce send v modelu message
Odpověď od Cony

Moderátor
Code:
if ($model->send($data)) {