Autor Zpráva
VirtualPixelCZ
Profil
Ahoj,
Potřebuji poradit. Už jsem tuto otázku položil na foru PC-help, ale tam mi nikdo neodpověděl. Pracuji na webu, kde bude webová galerie. Samotné zobrazení mám řešené přes LightBox2. Všechny fotky jsou v img/galerie. Vše funguje, pokud do kódu napíšu přímo odkaz na obrázky.

<a class="example-image-link" href="img/galerie/image-3.jpg" data-lightbox="example-set" data-title=""><img class="example-image" src="img/galerie/thumb-3.jpg" alt=""/></a>

<a class="example-image-link" href="img/galerie/image-4.jpg" data-lightbox="example-set" data-title=""><img class="example-image" src="img/galerie/thumb-4.jpg" alt="" /></a>

Ale na webu bude možnost uploudu obrázků pomocí php do img/galerie a já potřebuji nahradit výše uvedený kod nějakým JS, ale já jsem nikdy nic v JS nedělal. Na internetu jsem našel i Automated Lightbox2 Gallery , ale přijde mi, že to je příliš zbytečně složitý. Nešelo by to udělat nějak přes foreach?
Karel N.
Profil
No, ono to je jednoduché, k obsahu složky nebo k seznamu obrázků se z JS nedostaneš, seznam ti musí server poslat. Když už ho ale server posílá, není nic jednodušího než rovnou vygenerovat ty html tagy...
Chamurappi
Profil
Reaguji na VirtualPixelCZ:
Javascript nevidí, co je na serveru za soubory v daném adresáři (ona ani URL nemusí odpovídat tomu, jak vypadají adresáře na serveru).
Budeš muset skriptem na straně serveru (nejspíš PHP) vytvořit nějaký seznam. Buď jako JS pole a pak z něj vypsat podobné HTML, jako uvádíš, nebo (rozumněji) rovnou můžeš generovat to HTML.
VirtualPixelCZ
Profil
OK, to jsem nevěděl. Stáhnul jsem si teda Automated Lightbox2 Gallery, ale nikde v kódu nemůžu najít řádek s adresu složky s fotkami. Zkusil jsem to zadat do Googlu, ale nic nenašel.
juriad
Profil
VirtualPixelCZ:
Právě, že nikde neuvádíš cestu. Ten index.php nakopíruješ do adresáře s fotkami. Jedinou cestu, kterou musíš uvést je cesta k lightboxu, který se instaluje zvlášť.
VirtualPixelCZ
Profil
OK, takže index.php nakopíruju do img/galerie. A co mám napsat do kódu místo
<a class="example-image-link" href="img/galerie/image-3.jpg" data-lightbox="example-set" data-title=""><img class="example-image" src="img/galerie/thumb-3.jpg" alt=""/></a>
eager_beaver
Profil
Omlouvám se, pokud budu teď mluvit úplně od věci, ale pokud jde o získání dynamického obsahu fotogalerií, nejde jen o to, jak je vypíšeš, ale také jak získáš jejich informace.
Takže by bylo fajn vidět, jakým způsobem jsou tyhle data uložená v databázi (předpokládám, že jsou, když mají být uploadovány s PHP).
Pak bude možné ti napsat kód pro získání dat a jejich výpis.

Jinak, pokud pole bude mít po získání dat s PHP podobnou strukturu jako je tahle...

$galleries = array (
  'gallery_name_one' => ( array (
    '1' => 'data_title_photo_1',
    '2' => 'data_title_photo_2'
  ) ),
  'gallery_name_two' => ( array (
    '1' => 'data_title_photo_1',
    '2' => 'data_title_photo_2'
  ) )
);

...samotný výpis by mohl vypadat takto:
foreach ( $galleries as $g_id => $g_arr ) {
  foreach ( $g_arr as $p_no => $p_tit ) {
    echo '<a class="example-image-link" href="img/' . $g_id . '/image-' . $p_no . '.jpg" data-lightbox="example-set" data-title="' . $p_tit . '"><img class="example-image" src="img/' . $g_id . '/thumb-' . $p_no . '.jpg" alt="' . $p_tit . '"/></a>
    ';
  }
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: