Přihlásit se

Joomla 5.1.0 a Joomla 4.4.4 (17 dub 2024)

Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.

Jak na vkládání článku s více obrázky

26. zář 2022 16:19 - 26. zář 2022 16:22 #147036
Odpověď od Rudolf
Joomla Expert
Tož chlapi,

říkal jsem umět trochu PHP a udělat override ve článku. Ale furt tady cosi melete o nějakých triggerech nad obsahem pod obsahem, které s tím nesouvisí :)

Zde je příklad jak si voláme Joomla Fileds pro zobrazení mapy ( a tohle si umístím v šabloně článku třeba do obrázku, je to buřt):
Code:
[code]                        <?php                         $gps_latitude = '';                         $gps_longitude = '';                         $location = '';                         if ( count( $this->item->jcfields ) > 0 ) {                             foreach( $this->item->jcfields as $k => $v ) {                                 if ( $v->name == "gpslatitude" ) {                                     $gps_latitude = $v->value;                                 }                                 if ( $v->name == "gpslongitude" ) {                                     $gps_longitude = $v->value;                                 }                                 if ( $v->name == "mistokonani" ) {                                     $location = $v->value;                                 }                                             }                             if ( strlen( $gps_latitude ) > 0 && strlen( $gps_longitude ) > 0 ) { ?>                                 {jaosmap mode='normal' locations='{"location":{"0":"<?php echo $location; ?>"},"latitude":{"0":"<?php echo $gps_latitude; ?>"},"longitude":{"0":"<?php echo $gps_longitude; ?>"},"info":{"0":""},"icon":{"0":""}}' zoom='12' map_width='100%' map_height='300' center='all' }{/jaosmap}                                 <br />                                 <br />                             <?php }                         }                         ?>
[/code]
Takže si prostě upravte PHP na svůj plugin a je to.
Samozřejmě to jde i jinak, například místo aliasu vložit podmínku na ID pole...

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Poděkovali: Teo

26. zář 2022 16:36 #147038
Odpověď od Teo
Návštěvník
Rudo díky za pěknej příklad. To víš, já jsem staršího data výroby a už mi ujíždí vlak, takže se s každou karvinou ser* dýl ;-)
Ale už jsem i našel, jak to vyřešit u toho Řeka, tak že to mám hotové a funguje to bezvadně.

26. zář 2022 16:52 #147039
Odpověď od Rudolf
Joomla Expert
V pohodě,
ve finále stačí aby to nějak fungovalo

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

26. zář 2022 21:09 #147041
Odpověď od Cony
Moderátor
Ale souvisí Rudo, souvisí. Pokud totiž u tvých polí pro 'gpslatitude', 'gpslongitude' a 'mistokonani' nenastavíš, že se namají zobrazovat ani pod ani nad obsahem, tak se ti zobrazí. Takže pokud chceš zobrazit jen mapu a ne hodnoty těch polí, musíš u nich nastavit, aby se nezobrazovali.
Za použití ItemHelper by tvůj kód vypadal nějak takto
Code:
<?php use Mity\ItemHelper; if (ItemHelper::getFieldValue($this->item, 'gpslatitude') && ItemHelper::getFieldValue($this->item, 'gpslongitude')) { ?> {jaosmap mode='normal'      locations='{"location":{"0":"<?php echo ItemHelper::getFieldValue($this->item, 'location'); ?>"},     "latitude":{"0":"<?php echo ItemHelper::getFieldValue($this->item, 'gpslatitude'); ?>"},     "longitude":{"0":"<?php echo ItemHelper::getFieldValue($this->item, 'gpslongitude'); ?>"},     "info":{"0":""},"icon":{"0":""}}' zoom='12' map_width='100%' map_height='300' center='all' }{/jaosmap} <?php }                                
Vzhledem k zápisu předpokládám, že tohle máš v nějakém Layout, na který pak celý voláš HTMLHelper::_('content.prepare').

26. zář 2022 21:12 #147042
Odpověď od Cony
Moderátor

Rudo díky za pěknej příklad. To víš, já jsem staršího data výroby a už mi ujíždí vlak, takže se s každou karvinou ser* dýl ;-)
Ale už jsem i našel, jak to vyřešit u toho Řeka, tak že to mám hotové a funguje to bezvadně.
Tak sem s návodem, ať to může použít i někdo další... :)

28. zář 2022 10:23 - 28. zář 2022 10:35 #147051
Odpověď od Teo
Návštěvník
No ve finále to je překvapivě jednoduché:
  • nainstaloval jsem si plugin  www.tassos.gr/joomla-extensions/advanced-custom-fields
  • ten (mimo jiné) obsahuje i možnost vložit pole AFC - Gallery, ale mnoho dalších užitečných polí (tipuju, že to využijete na mnoho jiných věcí)
  • dále jdu do menu Obsah - Pole a vytvořil jsem si dvě pole - první jako hlavní fotku k článku (umístěnu nahoru před obsah článku) a druhé, jako galerii (pod obsah článku).
  • samotné pole má opravdu překvapivě mnoho možností nastavení. Já jsem si např. nastavil, aby se "to  neptalo" kam se má obrázek uložit, což je prostě krok, který někteří nezvládnou... ;-) Takže jsem tam nechal automatiku, což dělá to, že si to pro každý článek vytvoří adresář (podle id článku) a do něj se vkládají fotky i náhledy. Dále jsem si nastavil, aby mi tam nevkládali fotky větší než např. 0,5 MB a rozměrově ne větší než 1600px (třeba...). Je tam opravdu spoustu dalších nastavení, které tady asi nebudu popisovat.
  • u prvního pole mám nastaveno, že je možno vložit jen jednu fotku (je to titulní fotka článku...), i když to je vlastně pole galerie...
  • u druhého to nemám omezené a formát zobrazení galerie "grid" neboli do čtverců (víc se mi to líbí), ale dá se i zvolit variantu masonry. Oni mi tam cpou fotky v několika poměrově různých variantách, takže to je někdy hnus... ;-) Tímto se to vyřeší. U miniatur (náhledů) se dá volit ze tří možností - crop, stretch nebo fit. Tak si snad každý vybere.
  • je tam toho fakt ještě mnoho, to si asi každý asi prozkoumá sám.
  • u galerie, kterou chci mít pod článkem, jsem ale potřeboval, aby se nezobrazovala ve výpisu blogu pokud je u článků tlačítko "Číst více..." (to je to, co jsem tu řešil) a pak jsem to našel jako první v dokumentaci u tohoto pluginu (jsem vůl, že nečtu...). Stačí dát u daného pole podmínku s PHP kódem return $app->input->get('view') == 'article' což zajistí, že se galerie ukáže teprve, až dám číst celý článek:
     
A to je asi všechno. Nevím, jestli jsem na něco nezapomněl. Mám to zatím ve zkušebním provozu, tak uvidíme, jak se to zaběhne. Ale prioritou byla jednoduchost při vkládání. Tečka.
Pokud jsem na něco zapomněl, rád se podělím o zkušenost.
No a teď ještě řeším, jak nezobrazovat nabídky u vkládání článku, které nejsou potřeba. Třeba Metadata nebo další, třeba pocházející ze šablony apod.
Jo a teď jsem narazil na další takovou věc - aby se v profilu uživatele nebo třeba přes menu dalo zobrazit seznam článku přihlášeného autora. Na to bude asi nějaký plugin... Nebo?
Přílohy:

Powered by Fórum