Autor Zpráva
Prefin
Profil
Ahojda všichni.
Prosím o radu, jak se vypořádat s vložením proměnné php do js.

Pracuji na administračním CMS Charisma. Na stránce gallery.html je galerie, v které po najetí na náhled vyjede blok s odkazy na editaci a smazání obr.
Tento vyjížděcí blok je vygenerován scriptem charisma.js, na řádku 179 je blok nadefinován.
Potřebuji do href="#" dostat href="script.php?edit=hodnota"přičemž jako hodnotu chci dosadit proměnnou, která je k dispozici v cyklu php.

Výpis obrázku galerie v php:
$cesta = "soubory/$slozka/podklady";
$cesta_nahl = "soubory/$slozka/podklady/nahledy";
$spojeni = opendir($cesta_nahl);
$x = 1;
while (false!==($file = readdir($spojeni))) {
  if ($file != "." && $file != "..") {
    $velky = Str_Replace("nahl-","",$file);
    echo "<li id=\"image-$x\" class=\"thumbnail\">\n";
    echo "<a style=\"background:url(soubory/$slozka/podklady/nahledy/$file)\" title=\"$velky\" href=\"soubory/$slozka/podklady/$velky\"><img class=\"grayscale\" src=\"soubory/$slozka/podklady/nahledy/$file\" alt=\"$velky\"></a>\n";
    echo "</li>\n";
    $x++;
  }
}
Zkoušel jsem všechno možné, ale nedaří se mi to - není to tak jednoduché jak se zdálo a přiznám se, s js moc pracovat neumím.
Můžu odkazy na editaci a smazání nahradit něčím jiným, ale byla by škoda to nezkusit využít, vypadá to pěkně.
Díky za každou pomoc.
scheras
Profil *
Zkuste se zamyslet nad tím, jestli není možné ten potřebný kousek javascriptu generovat až na samotnou stránku. Další možnost je celý javascript obalit funkcí, kterou budete volat s určitým parametrem z Vaší stránky. Ovšem pozor, může to způsobit nefunkčnost některých jiných stránek, záleží, jak je CMS navržen a jak funguje.
Prefin
Profil
Teď nevím, jestli správně rozumím.
Ten js, který má za následek doplnění vyjížděcích bloků pro editaci se generuje až na stránce a v html zdroji ani obsažen není, je to akce vázaná na vypsání třídy gallery v seznamu ul - ten jsem v předchozím příspěvku nevypsal:
<ul class="thumbnails gallery">
..... kód php výše .....
</ul>
Podle mně je identifikační prvek obrázku hodnota image-$x, kterou vyžívá js pro další práci s obrázky. Přijde mi divný, že by tenhle script v základu nebyl připraven na výpis uploadovaných obrázků v php - tedy že by neexistovala definovaná metoda na přijetí pole s názvy souborů, které potom použije k doplnění do generovaných bloků.
quatzael
Profil
Prefin:
scheras asi myslel, aby jsi uprostřed toho HTML kódu vložil PHP script, ve kterém ten jš script přímo napíšeš. Tzn. nějak takhle:
 


...
HTML kód
...

<?php
echo "<script> var prom =/"val/";</script>";

?>
Prefin
Profil
To jsem nepochopil (asi Alzheimer).
Zkusil jsem to a v podstatě to splnilo účel. Sice jsem přišel o vyjíždění toho bloku a musel jsem vypnout LightBox, kterej nebyl nezbytnej ale výsledek je relativně OK:
....
echo "<li id=\"image-$x\" class=\"thumbnail\">\n";
echo "<a style=\"background:url($cesta_nahl/$file)\" title=\"$velky\"><img class=\"grayscale\" src=\"$cesta_nahl/$file\" alt=\"$velky\"></a>\n";
echo "<div class=\"well gallery-controls\">";
echo "<p><a href=\"upload_podkladu_user.php?edit=$velky\" class=\"gallery-edit btn\"><i class=\"icon-edit\"></i></a> <a href=\"upload_podkladu_user.php?delete=$velky\" class=\"gallery-delete btn\"><i class=\"icon-remove\"></i></a></p>";
echo "</div>";
echo "</li>\n";
Nejjednodušší cesta bývá často ta nejlepší.
Díky

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: