Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] W jaki sposób w gneratorze dodać własny formularz
muwie
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 21.02.2007
Skąd: Milejów

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


Witam.
Chciałbym dołączyć własny formularz do admin generatora.
Otóż przerabiam ten tutorial.
Wszystkie pliki mam już zrobione.
Ale nie wiem czy dobrze dołączyłem własny formularz, bo wywala mi poniższy bład

  1. Fatal error: Class 'BaseTreeForm' not found in C:\xampp\htdocs\cms\lib\form\doctrine\TreeForm.class.php on line 3


A dołączam formularz w taki sposób:

  1. form:
  2. class: TreeForm


Dla pewności jeszcze dołączę kod formularza
  1. <?php
  2. class TreeForm extends BaseTreeForm
  3. {
  4. protected $parentId = null;
  5.  
  6. public function configure()
  7. {
  8. unset($this['root_id'], $this['lft'], $this['rgt'], $this['level']);
  9. $this->widgetSchema['parent_id'] = new sfWidgetFormDoctrineChoice(array(
  10. 'model' => 'tree',
  11. 'add_empty' => '~ (object is at root level)',
  12. 'order_by' => array('root_id, lft',''),
  13. 'method' => 'getIndentedName'
  14. ));
  15. $this->validatorSchema['parent_id'] = new sfValidatorDoctrineChoice(array(
  16. 'required' => false,
  17. 'model' => 'tree'
  18. ));
  19. $this->setDefault('parent_id', $this->object->getParentId());
  20. $this->widgetSchema->setLabel('parent_id', 'Child of');
  21. }
  22.  
  23. public function updateParentIdColumn($parentId)
  24. {
  25. $this->parentId = $parentId;
  26. // further action is handled in the save() method
  27. }
  28.  
  29. protected function doSave($con = null)
  30. {
  31. parent::doSave($con);
  32.  
  33. $node = $this->object->getNode();
  34.  
  35. if ($this->parentId != $this->object->getParentId() || !$node->isValidNode())
  36. {
  37. if (empty($this->parentId))
  38. {
  39. //save as a root
  40. if ($node->isValidNode())
  41. {
  42. $node->makeRoot($this->object['id']);
  43. $this->object->save($con);
  44. }
  45. else
  46. {
  47. $this->object->getTable()->getTree()->createRoot($this->object); //calls $this->object->save internally
  48. }
  49. }
  50. else
  51. {
  52. //form validation ensures an existing ID for $this->parentId
  53. $parent = $this->object->getTable()->find($this->parentId);
  54. $method = ($node->isValidNode() ? 'move' : 'insert') . 'AsFirstChildOf';
  55. $node->$method($parent); //calls $this->object->save internally
  56. }
  57. }
  58. }
  59. }

Dziękuje z góry za odpowiedź

Ten post edytował muwie 4.05.2011, 23:44:56
Go to the top of the page
+Quote Post
jaro87
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 7
Dołączył: 10.03.2011
Skąd: Wrocław

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


1. Przebuduj formularze
2. Wyczyść cache
3. Poszukaj tej klasy(BaseTreeForm), powinna być w katalogu form/doctrine/base
4. Prześledź od początku cały tutorial czy o czymś nie zapomniałeś.
5. Ściągnij sobie cały projekt z gita(link podał w blogu) sprawdź czy działa.
6. Odpuść sobie, tutoriale z blogów lubią niedziałać(IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post
muwie
post
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 21.02.2007
Skąd: Milejów

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


Właśnie zrobiłem tak jak mówiłeś. Nie działa tylko, albo aż w tym przypadku Jquery.

Już wszystko się wyjaśniło. Symfony w backendzie wyłącza domyślnie JavaScript . Teraz nie działa mi tylko przenoszenie typu drag & drop

Ten post edytował muwie 5.05.2011, 09:54:36
Go to the top of the page
+Quote Post
Gribo
post
Post #4





Grupa: Zarejestrowani
Postów: 237
Pomógł: 17
Dołączył: 1.11.2007
Skąd: Zielona Góra

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


Cytat(muwie @ 5.05.2011, 09:52:40 ) *
Właśnie zrobiłem tak jak mówiłeś. Nie działa tylko, albo aż w tym przypadku Jquery.

Już wszystko się wyjaśniło. Symfony w backendzie wyłącza domyślnie JavaScript . Teraz nie działa mi tylko przenoszenie typu drag & drop


Jak to wyłącza JavaScript ? Poprostu Backend to zupełnie odrębna aplikacja od Frontendu i musisz w view.yml sobie odpowiednie biblioteki JavaScriptu włączyć np. Jquery
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: 25.08.2025 - 04:07