Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework]Form / dekorator - jak ustawić title dla label
ShadowD
post
Post #1





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Hej,
za pomocą:
  1. $login
  2. ->setLabel('Login:')
  3. ->setAttrib('title','Login')


Mogę dodać title dla elementu input, chciał bym również dodać go do lable, czy istnieje taka możliwość?
Go to the top of the page
+Quote Post
KrzysiekWildfire
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 11
Dołączył: 27.10.2010
Skąd: Kutno/Poznań

Ostrzeżenie: (0%)
-----


Tak, spróbuj dodać jeszcze coś takiego
  1. $login->setDecorators(
  2. 'label',
  3. 'viewHelper'
  4. )
  5. )

lub
  1. $login->setDecorators(
  2. 'viewHelper',
  3. array('DtDdWrapper',array(
  4. 'DtLabel'=>'Login:'
  5. ))
  6. )
  7. )


Pisałem z głowy, więc mogłem się gdzieś pomylić, ale powinno działać.
Go to the top of the page
+Quote Post
ShadowD
post
Post #3





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Oba kody "nic" nie zmieniają, nic tz. nie ma żadnych widocznych zmian w kodzie, ale naprowadziłeś mnie na informację, że dekoratory nie muszą się tyczyć tylko całości formularza, a że mogą jakiejś jego części, może dlatego, że używam dekoratorów całości. Popróbuję jeszcze z kolejnością, odezwę cię w razie niepowodzenia. :-)

Edit:
Mój kod wygląda tak: http://wklej.org/id/609096/

Próba wstawienia Twojego kodu po dekoratorach powoduje server error, próba wstawienie przed nimi i przed wstawieniem elementów do forma nic nie zmienia. Jeśli mógł byś wytłumaczyć jak to wpisać, dać jakąś wskazówkę - zaczynam z zf'em, a moduł form jest bardzo rozbudowany, ale za to znacznie przyśpiesza pisanie bezpiecznych formów.

Ten post edytował ShadowD 17.10.2011, 13:52:08
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Przykład użycia dekoratorów przy pomocy tablic:

  1. $form_element->setDecorators(array(
  2. array('ViewHelper'),
  3. array('Errors'),
  4. array(array('data'=>'HtmlTag'), array('tag' => 'span')),
  5. array('Label', array('tag' => 'label','title' => 'sfffe fererff refererf ererg ergerger gergerg')),
  6. array(array('row'=>'HtmlTag'),array('tag'=>'div','openOnly'=>true))
  7. ));


Można też na obiektach:
  1. $object = new Zend_Form_Decorator....;
  2. $object->metoda();
  3. // itp. itd.


Jak używasz IDE to masz podgląd listy metod wraz z opisem.
Go to the top of the page
+Quote Post
ShadowD
post
Post #5





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Cytat
$name->setDecorators(array(
array('Label', array('tag' => 'label','title' => 'sfffe fererff refererf ererg ergerger gergerg'))
));


Takie coś daje pożądany rezultat, ale oprócz dodania title, usuwa inne właściwości, a nie chciał bym ustawiać całości x razy, jest na to jakaś metoda by title wstawiać niezależnie?
Go to the top of the page
+Quote Post
Pilsener
post
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Metody setDecorator nie ma a setDecorators ustawia wszystkie dekoratory od nowa. Poeksperymentuj z metodą addDecorator:

  1. $form_element->addDecorator('Label', array('tag' => 'label','title' => 'sfffe fererff refererf ererg ergerger gergerg'));


Powinno nadpisać defaultowy label.
Go to the top of the page
+Quote Post
ShadowD
post
Post #7





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Oki, wielkie dzięki.

Mam pytanie jeszcze jedno, jak ubrać sam input w tag? Label można tak jak pokazałeś przed chwilą, całość za pomocą "HtmlTag", a input - jakie jest słowo kluczowe? Nie całość tylko sam znacznik input? :-)

Ten post edytował ShadowD 18.10.2011, 08:23:56
Go to the top of the page
+Quote Post
Pilsener
post
Post #8





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Kombinuj chłopie:
  1. $form_element->addDecorator('HtmlTag', array('tag' => 'div','title' => 'sfffe fererff refererf ererg ergerger gergerg'));


Ubierze input w diva i jeszcze doda title.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 09:41