Přihlásit se

Joomla 6.0

Dne 14. října 2025 bylo oficiálně vydáno Joomla 6.0 (kódové jméno Kuimarisha) společně s Joomla 5.4 (Kutegemea). Joomla 5.1 přinesla zabezpečené TUF aktualizace, ale s Joomla 5.4 / 6.0 přichází automatické aktualizace jádra, které budou probíhat bezpečně a bez nutnosti manuálního zásahu.

Vyřešeno ještě jedna prosba

25. srp 2015 09:22 #123174
ještě jedna prosba od Ernst
Joomla Expert
Učím se, ale na jednu věc nemohu přijít. Mám:
$request = JFactory::getApplication()->input->get('module_search', array(), 'array');
mi vrátí null
jak mám naplnit proměnnou této třídy aby mi vracela
array (size=1)
'field_50' => string '0' (length=1)

když mi někdo napíše příklad, tak už to snad pochopím celý

25. srp 2015 10:00 #123175
Odpověď od Houbák
Zkušený uživatel
Nechápu, co přesně potřebujete, ale zkuste si projít tento návod .
Poděkovali: Ernst

25. srp 2015 11:20 #123176
Odpověď od Ernst
Joomla Expert
pročetl, snad i pochopil a napsal jsem
$jinput=JFactory::getApplication()->input->get($page->getFormControl(), array(), 'array');
$jinput->set('field_50', '1');

To však hlásí chybu Fatal error: Call to a member function set() on a non-object

To je pravděpodobně proto, že $jinput je array
(array (size=1)
'field_16' => string 'u' (length=1)

a já do ní potřebuji přidat další pole. A to právě nevím jak.
Poradíte?

25. srp 2015 12:07 #123177
Odpověď od Cony
Moderátor
A nemělo by to být takto?
Code:
$jinput=JFactory::getApplication()->input; $jinput->set('field_50', '1');
Poděkovali: Ernst

25. srp 2015 12:18 #123178
Odpověď od Ernst
Joomla Expert
ne, to asi ne.
To mi pak
JFactory::getApplication()->input->get($page->getFormControl(), array(), 'array') vrátí null a já potřebuji
'field_50' => string '1' (length=1)

25. srp 2015 12:49 #123179
Odpověď od Houbák
Zkušený uživatel
Máte správně udělaný ten formulář? Je potřeba, aby prvky toho formuláře to pole také vytvářely - viz. např. www.cs.vsb.cz/septakova/doc/php/czech/fa...html#faq.html.arrays

25. srp 2015 13:17 #123180
Odpověď od Ernst
Joomla Expert
zavoláním toho formuláře (je to formulář filtru), se to pole plní - kolik podmínek, tolik řádků.

array (size=4)
'field_16' => string 'u' (length=1)
'field_7' =>
array (size=1)
0 => string '1' (length=1)
'photos' =>
array (size=1)
0 => string '1' (length=1)
'field_22' =>
array (size=1)
0 => string '118' (length=3)

Já tam jeden řádek navíc potřebuji přidat jeden řádek, aby to vypadalo takhle:

array (size=5)
'field_16' => string 'u' (length=1)
'field_7' =>
array (size=1)
0 => string '1' (length=1)
'photos' =>
array (size=1)
0 => string '1' (length=1)
'field_22' =>
array (size=1)
0 => string '118' (length=3)
'field_50' => string '0' (length=1)

což do proměnný jde bez problémů ($jinput[field_50]='0'), ale neumím to nastavit do té třídy

25. srp 2015 13:26 - 25. srp 2015 13:27 #123181
Odpověď od Houbák
Zkušený uživatel
Ale ten výpis v předchozím vašem příspěvku je přece výpis vícerozměrného pole, tam žádná třída není.

25. srp 2015 13:53 #123183
Odpověď od Cony
Moderátor

ernst napsal: JFactory::getApplication()->input->get($page->getFormControl(), array(), 'array') vrátí null a já potřebuji
'field_50' => string '1' (length=1)

Ale to jsem nepsal. Co tedy vlastně chcete, do REQUEST nastavovat proměnou field_50, nebo z něj číst proměnou field_50?
Pokud nastavit tak to bude co jsem psal, pokud číst tak třeba
Code:
$jinput=JFactory::getApplication()->input; $field50 = $jinput->get('field_50', '1'); var_dump($field50);

25. srp 2015 15:08 #123185
Odpověď od Ernst
Joomla Expert
toto pole plní formulář podmínek výběru (jak jsem psal výše).
a já do tohoto pole potřebuji přidat jednu podmínku, která není ve formulář a je zadána na základě mých vlastních podmínek.
viz odpověď výše

potřebuji do daného pole v třídě a modulu JFactory::getApplication()->input->get('module_search', array(), 'array'); doplnit ještě jedno pole

25. srp 2015 15:10 #123186
Odpověď od Ernst
Joomla Expert
Pro houbák:

to co jsem psal je z tohoto:

var_dump(JFactory::getApplication()->input->get($page->getFormControl(), array(), 'array'))

25. srp 2015 15:15 #123188
Odpověď od Cony
Moderátor
No pak teda už máte pole, tak jen do něj přidejte hodnotu, popř. jej nastavte zpět do input.
Nemůžete na poli volat metodu set, protože to není objekt ale pole. Pole žádné metody nemá.
Code:
$input = JFactory::getApplication()->input; $pole = $input->get($page->getFormControl(), array(), 'array'); $pole['field_50'] = 'neco'; $input->set($page->getFormControl(), $pole);
Poděkovali: Ernst

25. srp 2015 15:34 #123189
Odpověď od Ernst
Joomla Expert
Díky moc, to dělá co jsem chtěl.
Akorát to podle téhle přidané podmínky nefiltruje, filtruje to jen podle těch z formuláře get($page->getFormControl(), ale to už si snad najdu.

Díky Vám se v tom začínám pomaličku orientovat, děkuji mnohokrát za Váš čas

25. srp 2015 23:13 #123193
Odpověď od Ernst
Joomla Expert
tak jsem to dořešil. To pole field_50 musí být i v tom vyhledávacím formuláři, akorát jsem ho tam skryl pomocí display:none.
Teď to maká bezvadně.
Děkuji všem za pomoc

Powered by Fórum