Forum polskiego wsparcia TYPOlight

Forum TYPOlight.pl

ktora to jest templatka, by modyfikowac input tekstowy

Dział‚ stworzony z myślą o początkujących użytkownikach TYPOlight

ktora to jest templatka, by modyfikowac input tekstowy

Postprzez motorola » 17 cze 2010, o 15:57

chcialbym bowiem dodac do tego pola onlick/onblur?

- rozumiem, ze tworze zwyczajnie szablon i w nim modyfikuje kod? -tak mi przynajmnie dziala dla hasla..

ale na liscie oryginalnych szablonow nie ma do wyboru "Pole tekstowe"
motorola
Bywalec
 
Posty: 47
Dołączył(a): 9 gru 2009, o 20:15

Re: ktora to jest templatka, by modyfikowac input tekstowy

Postprzez Kamil » 17 cze 2010, o 20:25

Z tego co pamiętam to tagi <input> są na sztywno wsadzone w pliku controllera modułu, więc albo pozostaje ci napisanie małego rozszerzenia, albo modyfikacja oryginalnego pliku.
Avatar użytkownika
Kamil
Administrator
 
Posty: 327
Dołączył(a): 10 maja 2007, o 13:53
Lokalizacja: Lidzbark Warmiński/Olsztyn

Re: ktora to jest templatka, by modyfikowac input tekstowy

Postprzez motorola » 18 cze 2010, o 11:23

okay, poradzilem sobie jakos inaczej.

Konkretnie, to chcialem uzyskac taki efekt, ze po kliknieciu na pole w formularzu bylo ono czyszczone z domyslnej wartosci.

Kolega napisal mi taki fajny skrypt. dziala tu: http://www.ajf.edu.pl/sekretariat.html i jest on wsadzony na sztywno w template strony. Poniewaz nie na kazdej stronie znajduje sie formularz (i w konsoli pojwiaja sie bledy), chcialbym zrobic prosty warunek, by php wklejal ww skrypt na odpowiednie strony.

i tak wyklecilem cos takiego:

Kod: Zaznacz cały
<?php if ({{env::page_id}}== 23 || {{env::page_id}}== 27)
{
<script>
function clear_r(){

if (document.getElementById('ctrl_7').value == 'Imię i nazwisko'){
   document.getElementById('ctrl_7').value = "";
}
}

function clear_rb(){
if (document.getElementById('ctrl_7').value == ''){
   document.getElementById('ctrl_7').value = "Imię i nazwisko";
}

}

function clear_m(){

if (document.getElementById('ctrl_8').value == 'Adres email@'){
   document.getElementById('ctrl_8').value = "";
}
}

function clear_mb(){
if (document.getElementById('ctrl_8').value == ''){
   document.getElementById('ctrl_8').value = "Adres email@";
}

}
     
    var el1 = document.getElementById("ctrl_7");
   var el2 = document.getElementById("ctrl_8");
    el1.addEventListener("click", clear_r, false);
    el1.addEventListener("blur", clear_rb, false);
    el2.addEventListener("click", clear_m, false);
    el2.addEventListener("blur", clear_mb, false);
   
</script>
}
else {}
?>


problem mam z tym:
- {{env::page_id}} -nic nie zwraca w phpie
- jak wyechowac tyle linijek javascriptu?

no chyba ze jest jakies zupelnie inne rozwiazanie problemu?
motorola
Bywalec
 
Posty: 47
Dołączył(a): 9 gru 2009, o 20:15

Re: ktora to jest templatka, by modyfikowac input tekstowy

Postprzez spin80 » 18 cze 2010, o 12:59

spróbuj tak:

Kod: Zaznacz cały
<?php if ($GLOBALS['objPage']->id==23) ....

spin80
Expert
 
Posty: 166
Dołączył(a): 26 wrz 2007, o 11:23

Re: ktora to jest templatka, by modyfikowac input tekstowy

Postprzez Kamil » 18 cze 2010, o 13:06

Spróbuj coś takiego
Kod: Zaznacz cały

<?php if ($this->Environment->xxx == yyy): ?>
tu kod javascript
<?php endif; ?>

ale przedtem podejrzyj elementy Environmenta za pomocą
Kod: Zaznacz cały
<?php var_dump($this->Environment); ?>


A tak w ogóle to kolega mógł skorzystać z MooToolsa, a nie babrać się w czystym JSie ;)
Avatar użytkownika
Kamil
Administrator
 
Posty: 327
Dołączył(a): 10 maja 2007, o 13:53
Lokalizacja: Lidzbark Warmiński/Olsztyn

Re: ktora to jest templatka, by modyfikowac input tekstowy

Postprzez motorola » 18 cze 2010, o 15:29

okay, skorzystalem z propozycji kamila, ale za bardzo nie wiem co ona mi da:

<?php var_dump($this->Environment->request) ; ?>

zwraca:

string(16) "sekretariat.html"

i co z tym dalej? jak to wsadzic w warunek, musialbym chyba dac substring zeby pozbyc sie tekstu 'string(16) ' i potem to porownac, czyz nie?

- bo inna opcja mi nie przychodzi do glowy, w tablicyEnvironment znajduja sie takie klucze jak : arrCache,httpAcceptLanguage,base,request i ip

-mootools to chyba wyzsza szkola jazdy :)
Ostatnio edytowano 18 cze 2010, o 16:24 przez motorola, łącznie edytowano 1 raz
motorola
Bywalec
 
Posty: 47
Dołączył(a): 9 gru 2009, o 20:15

Re: ktora to jest templatka, by modyfikowac input tekstowy

Postprzez Kamil » 18 cze 2010, o 16:09

motorola napisał(a):okay, skorzystalem z propozycji qrczaka, ale za bardzo nie wiem co ona mi da:

<?php var_dump($this->Environment->request) ; ?>

zwraca:

string(16) "sekretariat.html"

i co z tym dalej? jak to wsadzic w warunek, musialbym chyba dac substring zeby pozbyc sie tekstu 'string(16) ' i potem to porownac, czyz nie?

Nie ma potrzeby dawać tutaj żadnego substringa. Spróbuj
Kod: Zaznacz cały
<?php print $this->Environment->request; ?>

;)

motorola napisał(a):- bo inna opcja mi nie przychodzi do glowy, w tablicyEnvironment znajduja sie takie klucze jak : arrCache,httpAcceptLanguage,base,request i ip

Spróbuj jeszcze z tym co napisał spin80.

motorola napisał(a):-mootools to chyba wyzsza szkola jazdy :)

Co ty gadasz, to jest tak samo proste jak jQuery.
Avatar użytkownika
Kamil
Administrator
 
Posty: 327
Dołączył(a): 10 maja 2007, o 13:53
Lokalizacja: Lidzbark Warmiński/Olsztyn


Powrót do Początkujący

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość

cron