Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [smarty] pomijanie zawartosci ukrytych div'ów
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Jawor
Witam

Dane do szablonu wysylam w tablicy.
Wyswietlam je za pomoca "smartowej" petli foreach.

Niestety mam pewien problem.
Dane ktore maja byc zawartoscia ukrytych div'ów sa pomijane.

Jezeli wartosc display danego div'a jest ustawiona na block to wszystko jest ok.
Jesli ustawie ta wartosc na none to szablon pomija jego zawartosc i zostawia ten blok pusty.

Blok ten staje sie widzialny po kliknieciu w dany link.

Czy jest jakis sposob aby to obejsc ?
JoShiMa
Cytat(Jawor @ 20.08.2008, 01:04:41 ) *
Jesli ustawie ta wartosc na none to szablon pomija jego zawartosc i zostawia ten blok pusty.

A jak byś chciał, żeby to działało?
Jawor
No tak zeby mi umiescilo tresc w tym divie.
Domyslnie jest on niewidoczny lecz po kliknieciu w link sie pokazuje wiec musi zawierac jakas tresc :/

Jezeli sam wpisze tam jakas zawartosc to jest ona generowana. Nie umieszcza tam jednak zawartosci ze zmiennej ;/

Da rade cos z tym zrobic ? Czemu wogole tak sie dzieje ?
JoShiMa
Cytat(Jawor @ 20.08.2008, 14:34:36 ) *
No tak zeby mi umiescilo tresc w tym divie.

To w jakim celu dajesz display:none? Wiesz w ogóle do czego ten styl służy?

Cytat(Jawor @ 20.08.2008, 14:34:36 ) *
Da rade cos z tym zrobic ? Czemu wogole tak sie dzieje ?

Pewnie tak, jeśli jakimś ludzkim językiem (choćby pismem obrazkowym) wyjaśnisz jak to ma działać albo dasz chociaz link do tej niedziałającej wersji.
Jawor
Juz pisalem w jakim celu div jest ukryty no ale powtorze ...
Display none daje w takim celu aby dany div nie byl widoczny od razu po zaladowaniu strony tylko dopiero po kliknieciu w dany link - wtedy display sie zmienia na block ...

Sprawa jest prosta.
Wysylam do szablonu jakas zmienna z tekstem.

Jezeli ta zmienna chce umiescic wlasnie w tym (poczatkowo) ukrytym divie to wogole zostaje ona zignorowana i jej zawartosc nie jest dolaczana.
Jezeli natomiast od poczatku ustawie tego diva jako widocznego to bez zadnego problemu ta zmienna zostaje dolaczona (pokazana).
rzymek01
pokaż kod smile.gif
Jawor
Do szablonu wysylam tablice postaci:

$tablica[0][imie] = ...
$tablica[0][notka] = ...
$tablica[1][imie] = ...
$tablica[1][notka] = ...
itd.

wysylanie: $smarty -> assign('User', $tablica);

czesc szablonu odpowiadajaca za wyswietlenie tego:

Kod
{foreach from=$User item=user_value}

Imie: {$user_value.imie}
Notka: <a href="#" onclick="document.getElementById('note-value').style.display = 'block'" >pokaz</a>

<div id="note-value">
{$user_value.notka}
<a href="#" onclick="document.getElementById('note-value').style.display = 'none'" >zamknij</a>
</div>

{/foreach}


Jezeli nie ma petli to umieszcza zawartosc w ukrytym divie. W petli nie sad.gif

Update:
Nie wiem czemu dopiero teraz ale zauwazylem ze problem jest w tym ze te divy nie maja unikalnego ID.
Styl ukrytych divow ustawilem za pomoca klasy, a jako id ustawilem unikalny numer uzytkownika i wszystko dziala jak nalezy smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.