Mam głupie wrażenie że piszę do siebie. No ale cóż obiecałem to muszę się wywiązać,
otóż rozpracowałem sposób przekazywania zmiennych i opiszę go tu tak jak ja to widzę. Zaznaczam, że nie jest to pełny i kompetentny opis ale taki jaki udało mi się złożyć po
wielu godzinach eksperymentów. Zatem wprowadzenie to ma charakter wskazówki dla innych newbe, a nie instruktarz dla zaawansowanych.
Dla tych co jeszcze nie wiedzą w dużym ogóle to:
A. snippets służą do zamieszczania skryptów
B. chunk do zamieszczania bloków kodu HTML
C. zmienne przekazywane między stronami to tak zwane TV (Template Variable)
Jeśli chcemy przekazać do strony lub pobrać jakąś zmienną - w tradycyjny sposób, zrobilibyśmy to za pomocą GET-a lub POST-a, natomiast w MODx musimy się posłużyć TV. Template Variable edytuje się w panelu MODx w zakładce
"Zarządzanie zasobami". Zatem
wybieramy pod-zakładkę
"Zmienne szablonu" i tworzymy nową TV.
1. Wprowadzamy nazwę zmiennej - to coś co jest w polu objętym takimi dziwnymi znaczkami:
[* *] .Najlepiej by był to jeden ciąg znaków bez spacji i polskich znaków.
Dla potrzeb przykładu ja wpisuję w to pole "IloscKotow" i od chwili zapisania zmiany będę mógł posługiwać się placeholderem (cos jakby nowym znacznikiem przechowującym moją zmienną) w kształcie
[*IloscKotow*].
2. Teraz pora ustalić wartość tej zmiennej. Wybieramy z listy rozwijalnej
’Typ’ opcję z napisem
’Text’ ponieważ będzie to zmienna tekstowa, a w polu
’Wartość domyślna’ wpisujemy jedynkę (ot taką: 1), ponieważ chcemy by taką liczbę kotów miała Ala z naszego przykładu.
3. Czas ustawić gdzie zmienna ma być widoczna. Poniżej pól, które wypełniamy znajduje
się sekcja ’Dostęp do szablonu’, a w niej widoczne wszystkie aktualnie użyte szablony. Zaznaczamy checkbox-y dla szablonów, w którym będzie przetwarzana zmienna.
Nie zajmujemy się pozostałymi parametrami (o nich opowiem innym razem), alezapisujemy naszą nową zmienną TV.
5. W dowolnym miejscu szablonu wprowadzamy napis: Ala ma kotów
[*IloscKotow*]
W przyszłości możemy osadzić paceholder naszej TV w jakimś chunk, lub bezpośrednio w treści strony. W snippetach zmienną wywołujesz tradycyjnie jak wPHP: $ile.
6. Odpalamy stronę i widzimy "Ala ma kotów 1". I dobrze, zamienna jest zatem przetwarzana i działa poprawnie.
7. Teraz skupimy się na wykorzystaniu
@EVAL i zobaczymy co on nam oferuje.
Wracamy do edycji TV w naszym panelu MODx-a. w polu ’Wartość domyślna’ zamiast naszej jedynki wpisujemy tym razem:
Jest to wartość którą ma zwrócić interpreter PHP i przypisać naszej zmiennej.
8. Zapisujemy zamienną. Na wszelki wypadek możemy jeszcze sprawdzić czy została ona odnowiona na naszej stronie: wchodzimy w edycję wybranej strony w panelu MODx-a, klikamy "zmień" i na dole pod edytorem graficznym strony widzimy
’Zmienne Szablonów’ - tam też powinniśmy dostrzec naszą zmianę czyli napis: @EVAL return 1+1.
(Mnie się zdarzyło jakimś cudem, że zmienna była niezaktualizowana – czyścimy wtedy pole i zapisujemy dokument, a zmienna zostanie dopisana. Nie wierzycie? Ponownie wykonajcie edycje zastaniecie na 100% aktualny wpis)
9. Teraz odświeżamy stronę WWW i widzimy piękny napis "Ala ma kotów 2".
To chyba wszystko. Może i proste ale niemało się ogłowiłem co z czym się je zanim uruchomiłem pierwszy raz rzekazywanie zmiennych, zatem mam nadzieję, że i komuś się przyda ta mała instrukcja. Osoby owiększym doświadczneiu zapraszam do weryfikacji poprawnosci i uwag.
Podziękowania poniżej