array

Ernst
02. zář 2015 01:46 #123277
vytvořím si pole $result = array_values($this->_db->loadObjectList());

To pole si upravím a potřebuji ho zpět přiřadit do $this
this->_db->loadObjectList()=$results; napsat nemohu, ale jak to mám napsat?

Nějak nechápu použití set->

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
02. zář 2015 02:10 #123278
Když to napíšu takhle:
$input = JFactory::getApplication()->input;
$results = $input->get($this->_db->loadObjectList());
..........
$input->set($this->_db->loadObjectList(), $results);

tak mi to vypíše chyby:
Warning: Illegal offset type in isset or empty in C:\Program Files (x86)\VertrigoServ\www\libraries\joomla\input\input.php on line 168
Warning: Illegal offset type in C:\Program Files (x86)\VertrigoServ\www\libraries\joomla\input\input.php on line 277

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
02. zář 2015 10:27 #123280
Metody get a set jsou zděděny od třídy JObject, vi dokumentace Joomla API . Parametr get je název proměnné, Vy místo názvu posíláte hodnotu. LoadObjectList je funkce, nemůžete přiřazovat hodnotu funkci.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
02. zář 2015 11:43 #123282
Děkuji, funkce z $this ještě plně nechápu, jdu to studovat.

Prostě ta funkce mi pošle nějaké pole hodnot a já ho potřebuji upravit a dát na původní místo, aby mi v dále tato funkce vracela již tyto upravené hodnoty

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
02. zář 2015 12:18 #123283
To ale nejde. To je princip funkcí. "Původní místo" v tomto případě neexistuje. Vrácené hodnoty si musíte uložit do proměnné a dále pracovat s tou proměnou, ne znovu volat funkci.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
02. zář 2015 13:11 #123285
a není původní místo databáze?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
02. zář 2015 14:39 #123287
:cheer: Ale to jsme zase úplně někde jinde. Vy tedy chcete aktualizovat hodnoty v databázi (tedy trvale změnit), nebo si jen chcete upravit výstup pro to jedno zobrazení stránek? Jestli se chcete hrabat v databázi musíte na to použít SQL a příslušné funkce Joomly .

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
02. zář 2015 15:35 #123289
správně je to "upravit výstup pro jedno zobrazení". ale nevím odkud si ta funkce ty hodnoty bere a tam je upravit.

alternativní řešení je zapsat to do databáze, ale to asi není správné řešení

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.