pozicování
05. říj 2015 16:07 - 05. říj 2015 16:12 #123758
Odpověď od Ernst
Joomla Expert
díky tomu již rozumím.
Ale mám tady věc, kterou hledám již dva dny a asi jsem se ztratil.
Využil jsem funkcí modulu a udělal nové menu, které do popup okna dá formulář, ten se vyplní (jedná se o user_id a text)
Až sem to plně ovládám, zadávám si pole, názvy polí atd.
Teď ale někde ty vyplněné hodnoty potřebuji použít a nemohu najít, kde je modul čte.
Stačilo by mi, abych si ty hodnoty poslal do nějakého php, kdy už bych si je zpracoval.
Nevím, zda následující kódy budou stačit
PHP:
tpl
quickpoznamka.tpl
javascript
jinak ještě tlačítko poznamka odešle
(zkopírováno z developer tool)
Ale mám tady věc, kterou hledám již dva dny a asi jsem se ztratil.
Využil jsem funkcí modulu a udělal nové menu, které do popup okna dá formulář, ten se vyplní (jedná se o user_id a text)
Až sem to plně ovládám, zadávám si pole, názvy polí atd.
Teď ale někde ty vyplněné hodnoty potřebuji použít a nemohu najít, kde je modul čte.
Stačilo by mi, abych si ty hodnoty poslal do nějakého php, kdy už bych si je zpracoval.
Nevím, zda následující kódy budou stačit
PHP:
Code:
public static function Quickpoznamka($userId, $text)
{
static $framework_loaded = false;
if ($userId === JFactory::getUser()->id) {
return false;
}
// Check if messages are enabled.
// if (!LoveFactoryApplication::getInstance()->getSettings('enable_messages')) {
// return false;
// }
// Check if framework has been loaded.
if (!$framework_loaded) {
$document = JFactory::getDocument();
$document->addScriptDeclaration('jQuery(document).ready(function ($) { $(".lovefactory-quick-poznamka").loveFactoryQuickpoznamka(); });');
// $test=('jQuery(document).ready(function ($) { $(".lovefactory-quick-poznamka").loveFactoryQuickpoznamka() });
// var_dump($test);
FactoryHtml::script('lovefactory');
$framework_loaded = true;
}
$html = array();
$html[] = '<a href="' . FactoryRoute::view('dialog&layout=quickpoznamka&format=raw&user_id='.$userId) . '" class="lovefactory-quick-poznamka" id="lovefactory-quickpoznamka-user-'.$userId.'"><i class="factory-icon icon-poznamka"></i>' . FactoryText::_('POZNAMKA_BUTTON_TITLE') .'</a>';
return implode("\n", $html);
}
tpl
Code:
<!-- poznamka button -->
<li>{jhtml _='LoveFactory.Quickpoznamka' userId=$profile->user_id}</li>
quickpoznamka.tpl
Code:
<div id="lovefactory-dialog" title="{jtext _='dialog_quickpoznamka_dialog_title'}">
<div class="lovefactory-dialog-quickpoznamka lovefactory-view">
<div class="lovefactory-dialog-content">
<form action="{jroute task='message.send'}" method="post">
<table>
<tr>
<th><label>{jtext _='dialog_quickpoznamka_label_to'}</label></th>
<td>{$username}</td>
</tr>
<tr>
<th><label for="text">{jtext _='dialog_quickpoznamka_label_message'}</label></th>
<td><textarea rows="5" cols="10" id="text" name="message[text]" >{$text}</textarea></td>
</tr>
</table>
<input type="hidden" name="message[user_id]" value="{$userId}">
</form>
</div>
<div class="lovefactory-dialog-buttons">
<a href="#" class="dialog-button dialog-button-submit ui-state-hover"><i class="factory-icon icon-poznamka"></i>{jtext _='dialog_quickpoznamka_button_submit'}</a>
<a href="#" class="dialog-button dialog-button-close"><i class="factory-icon icon-cross-button"></i>{jtext _='dialog_button_cancel'}</a>
</div>
</div>
</div>
javascript
Code:
loveFactoryQuickpoznamka: function () {
return this.each(function() {
$(this).click(function (event) {
event.preventDefault();
var elem = $(this);
var url = elem.attr('href');
$.LoveFactoryDialog(url, { elem: elem });
});
});
},
jinak ještě tlačítko poznamka odešle
Code:
<a href="/index.php/cs/mista-2/dialog?layout=quickpoznamka&format=raw&user_id=22" class="lovefactory-quick-poznamka" id="lovefactory-quickpoznamka-user-22"><i class="factory-icon icon-poznamka"></i>Privátní poznámka</a>
06. říj 2015 20:54 - 06. říj 2015 21:00 #123806
Odpověď od Ernst
Joomla Expert
už jsem postoupil hodně daleko.
Vytvořil jsem si nové menu, tpl soubor kde se vstupní pole zobrazí v frame, upravil javascript
V podstatě jsem dohlodával běh menu poslat zprávu a z něj duplikoval a upravovalo nové menu poslat poznámku.
poslední věc, kterou nemohu zatím dohledat.
Když dám tlačítko odeslat zavolá se
a tem se předpokládám ten vstup zpracovává.
U poslat poznámku tam mám
to je natefinováno v quickpoznhamka.tpl
Já ale nikde nemohu najít řetězec "send-message" a pak neví co to "/index.php/cs/lide-hledat-2/send-message" vlastně hledá. Nemohu ani najít název tabulky databáze.
Poradíte někdo, kde to může být?
menu poslat zprávu zapisuje do dat báze do tabulky lovefactory_messages, ale já z menu poslat poznámku potřebuji zapisovat do tabulky _lovefactory_poznamka, která může mít dokonce identiská pole
Vytvořil jsem si nové menu, tpl soubor kde se vstupní pole zobrazí v frame, upravil javascript
V podstatě jsem dohlodával běh menu poslat zprávu a z něj duplikoval a upravovalo nové menu poslat poznámku.
poslední věc, kterou nemohu zatím dohledat.
Když dám tlačítko odeslat zavolá se
Code:
form action="/index.php/cs/lide-hledat-2/send-message"
U poslat poznámku tam mám
Code:
form action="/index.php/cs/lide-hledat-2/send-poznamka"
to je natefinováno v quickpoznhamka.tpl
Code:
<form action="{jroute task='poznamka.send'}" method="post">
Já ale nikde nemohu najít řetězec "send-message" a pak neví co to "/index.php/cs/lide-hledat-2/send-message" vlastně hledá. Nemohu ani najít název tabulky databáze.
Poradíte někdo, kde to může být?
menu poslat zprávu zapisuje do dat báze do tabulky lovefactory_messages, ale já z menu poslat poznámku potřebuji zapisovat do tabulky _lovefactory_poznamka, která může mít dokonce identiská pole
06. říj 2015 22:40 #123810
Odpověď od Cony

Moderátor
Uff, tak v tom jsem se úplně ztratil. Formulář se Vám odesílá na jiné URL než chcete? Nebo jak?
Toto není standard Joomly:
LoveFactory používá template systém Smarty, nevím tedy přesně co to znamená, ale odhaduji, že se jedná o analogii volání PHP
Pak by to znamenalo že při vytváření URL se použije ID menu položky a komponenta, kde je zrovna modul zobrazen. Není to úplně šťastné, protože na stránkách s jinou komponentou by Vám to vyhodilo nesmysl.
Dál by to mělo znamenat, že akce bude zpracována controllerem poznamka a funkcí send. Vytvořil jste si takový Controller?
Toto není standard Joomly:
Code:
{jroute task='poznamka.send'}
Code:
JRoute::_('index.php?task=poznamka.send');
Dál by to mělo znamenat, že akce bude zpracována controllerem poznamka a funkcí send. Vytvořil jste si takový Controller?
06. říj 2015 22:44 - 06. říj 2015 22:45 #123811
Odpověď od Ernst
Joomla Expert
já jsem na to založil raději nové téma, tram už je to snad popsáno srozumitelněji. -
www.joomlaportal.cz/forum/71-joomla-3-0-...i/118504-form-action
pokud to chápu dobře, tak je to Controller, jdu si ho projít.
pokud to chápu dobře, tak je to Controller, jdu si ho projít.
06. říj 2015 23:02 #123813
Odpověď od Ernst
Joomla Expert
ano je to controller
Když dám form action="/index.php/cs/lide-hledat-2/send-message" vše proběhne OK a zapíše se to do databáze.
Já to ale potřebuji zapsat do databáze jinak, tak si volám form action="/index.php/cs/lide-hledat-2/send-poznamka" a to se neděje nic (nic se nikam nezapíše).
Chápu to tak, že akci pro send-poznamka musím dodat do controlleru? Ale jak?
Když dám form action="/index.php/cs/lide-hledat-2/send-message" vše proběhne OK a zapíše se to do databáze.
Já to ale potřebuji zapsat do databáze jinak, tak si volám form action="/index.php/cs/lide-hledat-2/send-poznamka" a to se neděje nic (nic se nikam nezapíše).
Chápu to tak, že akci pro send-poznamka musím dodat do controlleru? Ale jak?
06. říj 2015 23:46 - 06. říj 2015 23:49 #123815
Odpověď od Ernst
Joomla Expert
Tak už jsem to asi pochopil
v \components\com_lovefactory\controllers
jsem message.php zkopíroval do poznamka.php, upravil zde název třídy na class FrontendControllerPoznamka extends FrontendController a teď to běží tudy. obsah zatím nechápu a var_dump nemohu použít.
Musím pochopit jak to funguje nebo místo toho udělat vlastní zápis do databáze.
poznámka.php:
Pochopil jsem to správně?
v \components\com_lovefactory\controllers
jsem message.php zkopíroval do poznamka.php, upravil zde název třídy na class FrontendControllerPoznamka extends FrontendController a teď to běží tudy. obsah zatím nechápu a var_dump nemohu použít.
Musím pochopit jak to funguje nebo místo toho udělat vlastní zápis do databáze.
poznámka.php:
Code:
<?php
/**
-------------------------------------------------------------------------
lovefactory - Love Factory 4.3.5
-------------------------------------------------------------------------
* @author thePHPfactory
* @copyright Copyright (C) 2011 SKEPSIS Consult SRL. All Rights Reserved.
* @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* Websites: http://www.thePHPfactory.com
* Technical Support: Forum - http://www.thePHPfactory.com/forum/
-------------------------------------------------------------------------
*/
defined('_JEXEC') or die;
class FrontendControllerPoznamka extends FrontendController
{
public function send()
{
$settings = LoveFactoryApplication::getInstance()->getSettings();
$model = $this->getModel('Message');
$data = JFactory::getApplication()->input->get('message', array(), 'array');
$response = array();
var_dump($data);
if ($model->send($data)) {
$response['status'] = 1;
$response['message'] = FactoryText::plural('message_task_send_success', $settings->approval_messages);
} else {
$response['status'] = 0;
$response['message'] = FactoryText::_('message_task_send_error');
$response['error'] = $model->getError();
}
$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;
}
public function delete()
{
$id = JFactory::getApplication()->input->getInt('id', 0);
$model = $this->getModel('Message');
if ($model->delete($id)) {
$msg = FactoryText::_('message_task_delete_success');
$url = FactoryRoute::view($model->getState('redirect'));
} else {
$msg = FactoryText::_('message_task_delete_error');
$url = FactoryRoute::view('message&id=' . $id);
JFactory::getApplication()->enqueueMessage($model->getError(), 'error');
}
$this->setRedirect($url, $msg);
}
public function searchUser()
{
$model = $this->getModel('Message');
$term = JFactory::getApplication()->input->getString('q', '');
$results = $model->searchUser($term);
$this->renderJson($results);
return true;
}
}
Pochopil jsem to správně?
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)) {
07. říj 2015 18:46 - 07. říj 2015 18:47 #123838
Odpověď od Ernst
Joomla Expert
tak to jsem se zase trochu ztratil .
kde se v tom $models bere hodnota FrontendModelMessage?
Když totiž to if ohvězdičkuji tak se po odeslat objeví undefined a okno se nezavře.
Když přiřadím navtrdo $models = FrontendModelpoznamka (zkopíroval jsem si v models message.php na poznamka.php a dal jí třídu FrontendModelpoznamka, tak se také nic neděje.
ale to asi není ono, protože v nich není funkce send
třída je však definována - class FrontendModelpoznamka extends FactoryModel a z FactoryModel jsem zkopíroval funkci do poznamka.php. Tu by to v tu chvíli mělo volat? Ale i tak se nic neděje.
A navíc mám problém se zápisem do databáze v construktoru poznamka.php.
Přesně podle příkladu - docs.joomla.org/Inserting,_Updating_and_...data_using_JDatabase
tam mám kód
ale do databáze se nic nezapíše. Co s tím, použít jiný způsob?
kde se v tom $models bere hodnota FrontendModelMessage?
Když totiž to if ohvězdičkuji tak se po odeslat objeví undefined a okno se nezavře.
Když přiřadím navtrdo $models = FrontendModelpoznamka (zkopíroval jsem si v models message.php na poznamka.php a dal jí třídu FrontendModelpoznamka, tak se také nic neděje.
ale to asi není ono, protože v nich není funkce send
třída je však definována - class FrontendModelpoznamka extends FactoryModel a z FactoryModel jsem zkopíroval funkci do poznamka.php. Tu by to v tu chvíli mělo volat? Ale i tak se nic neděje.
A navíc mám problém se zápisem do databáze v construktoru poznamka.php.
Přesně podle příkladu - docs.joomla.org/Inserting,_Updating_and_...data_using_JDatabase
tam mám kód
Code:
$user = JFactory::getUser()->id;
$on= $data[1];
$poznamka= $data[0];
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$columns = array('id-ja','id-on','poznamka');
$values = array($db->quote($user),$db->quote($on),$db->quote($poznamka));
$query
->insert($db9->quoteName('#__lovefactory_poznamka'))
->columns($db9->quoteName($columns))
->values(implode(',', $values));
$db->setQuery($query);
$db->query();
ale do databáze se nic nezapíše. Co s tím, použít jiný způsob?
07. říj 2015 22:20 #123842
Odpověď od Cony

Moderátor
Jaký $models?? Jaká hodnota FrontendModelMessage?? Není to náhodou třída FrontendModelMessage?
Zápis do databáze v construct??? Snad ve funkci send...
V controlleru získáváte model
Model Message nechcete, musíte si udělat svůj model Poznamka, tedy v adresáři models odkopírujete soubor message.php jako poznamka.php a uděláte z něj model FrontendModelPoznamka.
Ve funkci send si pak pořešíte svoje ukládání. V controlleru si jen zaměníte vyvolání modelu
A co v tom kódu pro uložení do dtabáze dělá to $db9???
Zápis do databáze v construct??? Snad ve funkci send...
V controlleru získáváte model
Code:
$model = $this->getModel('Message');
Ve funkci send si pak pořešíte svoje ukládání. V controlleru si jen zaměníte vyvolání modelu
Code:
$model = $this->getModel('Poznamka');
07. říj 2015 22:44 - 07. říj 2015 22:52 #123844
Odpověď od Ernst
Joomla Expert
postupně:
ano je to název třídy a tu mám v poznámka,php v models, když jsem chtel vědet název třídy, musel jsem si do logu vypsat proměnnou $models
Zápis do databáze jsem už vyřešil
místo
má být
a to již funguje, Nevím, proč ten první přklad nefungoval, ale v tom odkazu na příklad psali: This was the old method in Joomla 1.5 and 2.5 and will throw a deprecated notice in Joomla 3.0+.
za další
Funkce send v těchto PHP není
db9 byl jen pokus a to klidně může být pokud je to všady, a já to z DB9 na DB měnil až tady a ty dvě db9 jsem zapomněl změnit.
Teď už jen zrušit ten zápis do původní tabulky databáze a mám hotovo.
Tedy ještě musím vyřešit vkládání a edit databáze (pokud je id_ja a id_on stejný jako je již v tabulce, tak se nezakládá nový řádek, ale jen se zedituje ta poznámka,
Pak ještě správné zobrazení na jednotlivých stránkách atd.
Ale to je již brnkačka
Pro vysvětlení:
Každý uživatel si ke každému jinému uživateli může napsat soukromou poznámku, kterou u něj vidí jen ten, kdo ji napsal. Poznámku může editovat.
Ani uživatel ke kterému jsem si ji napsal ji nevidí
ano je to název třídy a tu mám v poznámka,php v models, když jsem chtel vědet název třídy, musel jsem si do logu vypsat proměnnou $models
Zápis do databáze jsem už vyřešil
místo
Code:
$user = JFactory::getUser()->id;
$on= $data[1];
$poznamka= $data[0];
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$columns = array('id-ja','id-on','poznamka');
$values = array($db->quote($user),$db->quote($on),$db->quote($poznamka));
$query
->insert($db9->quoteName('#__lovefactory_poznamka'))
->columns($db9->quoteName($columns))
->values(implode(',', $values));
$db->setQuery($query);
$db->query();
má být
Code:
$user = intval(JFactory::getUser()->id);
$on= intval($data[user_id]);
$poznamka = $data[text];
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$fields = array($db->quoteName('id_ja') . ' = ' . $db->quote($user),$db->quoteName('id_on') . ' = ' . $db->quote($on),$db->quoteName('poznamka') . ' = ' . $db->quote($poznamka));
// $conditions = array($db->quoteName('id_ja') . ' > 0');
$query->insert($db->quoteName('#__lovefactory_poznamka'))->set($fields); //->where($conditions);
$db->setQuery($query);
$db->query();
a to již funguje, Nevím, proč ten první přklad nefungoval, ale v tom odkazu na příklad psali: This was the old method in Joomla 1.5 and 2.5 and will throw a deprecated notice in Joomla 3.0+.
za další
(zkopíroval jsem si v models message.php na poznamka.php a dal jí třídu FrontendModelpoznamka,
Funkce send v těchto PHP není
třída je však definována - class FrontendModelpoznamka extends FactoryModel a z FactoryModel jsem zkopíroval funkci do poznamka.php. Tu by to v tu chvíli mělo volat?
db9 byl jen pokus a to klidně může být pokud je to všady, a já to z DB9 na DB měnil až tady a ty dvě db9 jsem zapomněl změnit.
Teď už jen zrušit ten zápis do původní tabulky databáze a mám hotovo.
Tedy ještě musím vyřešit vkládání a edit databáze (pokud je id_ja a id_on stejný jako je již v tabulce, tak se nezakládá nový řádek, ale jen se zedituje ta poznámka,
Pak ještě správné zobrazení na jednotlivých stránkách atd.
Ale to je již brnkačka
Pro vysvětlení:
Každý uživatel si ke každému jinému uživateli může napsat soukromou poznámku, kterou u něj vidí jen ten, kdo ji napsal. Poznámku může editovat.
Ani uživatel ke kterému jsem si ji napsal ji nevidí