Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Cannot assemble. Too few arguments. Trasy, hiperłącze.
cykcykacz
post 15.02.2012, 23:55:35
Post #1





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Witam,
w pliki ini ustawiłem sobie takie trasy:
  1. routes.addarticle.type = "Zend_Controller_Router_Route_Static"
  2. routes.addarticle.route = "addarticle"
  3. routes.addarticle.defaults.module = "admin"
  4. routes.addarticle.defaults.controller = "Articles"
  5. routes.addarticle.defaults.action = "add"
  6.  
  7. routes.editarticle.type = "Zend_Controller_Router_Route_Regex"
  8. routes.editarticle.route = "editarticle/(\d+)"
  9. routes.editarticle.defaults.module = "admin"
  10. routes.editarticle.defaults.controller = "Articles"
  11. routes.editarticle.defaults.action = "edit"
  12. routes.editarticle.map.1 = "id"
  13. routes.editarticle.reverse = "editarticle/%s"
  14.  
  15. routes.deletearticle.type = "Zend_Controller_Router_Route_Regex"
  16. routes.deletearticle.route = "deletearticle/(\d+)"
  17. routes.deletearticle.defaults.module = "admin"
  18. routes.deletearticle.defaults.controller = "Articles"
  19. routes.deletearticle.defaults.action = "delete"
  20. routes.deletearticle.map.1 = "id"
  21. routes.deletearticle.reverse = "deletearticle/%s"

Oczywiście chcę zrobić hiperłącze:
  1. <?php echo $this->url(array(), 'deletearticle') ?>

Dostaje Message:
Kod
Message: Cannot assemble. Too few arguments?
Go to the top of the page
+Quote Post
melkorm
post 16.02.2012, 00:00:37
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


No nie podajesz w params id, to jak ma wygenerować link?


--------------------
Go to the top of the page
+Quote Post
cykcykacz
post 16.02.2012, 18:13:51
Post #3





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Jak dodam z parametrem dostaję to samo.
  1. <?php echo $this->url(array('param'=>'1'), 'editarticle'); ?>


Ten post edytował cykcykacz 16.02.2012, 18:14:14
Go to the top of the page
+Quote Post
destroyerr
post 16.02.2012, 19:27:43
Post #4





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Żartujesz, prawda? Skoro nazwałeś pierwszy parametr (routes.deletearticle.map.1) id to wypadałoby też taki parametr przesłać.
Go to the top of the page
+Quote Post
cykcykacz
post 19.02.2012, 14:28:27
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Faktycznie nie pomyślałem!
Napiszę jak to ma wyglądać dla przyszłych pokoleń!
router:
  1. routes.editarticle.type = "Zend_Controller_Router_Route_Regex"
  2. routes.editarticle.route = "editarticle/(\d+)"
  3. routes.editarticle.defaults.module = "admin"
  4. routes.editarticle.defaults.controller = "Articles"
  5. routes.editarticle.defaults.action = "edit"
  6. routes.editarticle.map.1 = "id"
  7. routes.editarticle.reverse = "editarticle/%d"

widok
  1. <td><a href="<?php echo $this->url(array('id'=>'1'), 'editarticle'); ?>">delete</a></td>


Dzięki Pozdrawiam!

Ten post edytował cykcykacz 19.02.2012, 14:28:51
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 05:10