2011-05-08 17 views
6

Geçerli sayfa URL'sini vermem ve hareket URL'sini değiştirmem gerekiyor. Bundan sonra görüntü dosyasında yankı istiyorum. Görünüm dosyalarını kontrolörde değil, yapmak istiyorum!Geçerli sayfa URL'sini al ve eylemi değiştir

Herhangi bir fikrin var mı? aşağıdaki gibi

cevap

19

Geçerli sayfa url alabilirsiniz:

$uri = Zend_Controller_Front::getInstance()->getRequest()->getRequestUri(); 

    // or using userAgent view helper: 
    $uri = $this->userAgent()->getServerValue('request_uri'); 

birçok yararlı bilgi sağlayabilir Zend_Http_UserAgent bir örneğini döndürür $this->userAgent() görünümü yardımcısı.

görünümlerinizde bir eylem almak istiyorsanız aşağıdaki gibi alabilirsiniz:

Zend_Controller_Front::getInstance()->getRequest()->getActionName(); 

Eğer 'bir eylem değişen' ile ne demek emin değilim. Onu eklediğinizde değiştirmek isterseniz veya kullanıcıyı yönlendirmek istiyorsanız. Neyse, umarım bu yardımcı olur. Mevcut kapsamı denetleyici eylem ise

+1

URL'yi gösterirken değişiklik yapmak istiyorum! – afsane

+1

@afsane. Yazdığım şu andaki işlem ve URL'yi alabilir ve url'nin bir kısmını başka bir şeyle değiştirecek şekilde str_replace'ı kullanabilirsiniz. – Marcin

+0

aha, thanx çok;) – afsane

4

, bunu yapabilirsiniz:

$uri = $this->view->serverUrl() . $this->view->url(); 
1

$ ön = Zend_Controller_Front :: getInstance();
$ fullUrl = 'http: //'.
$ front-> getRequest() -> getHttpHost().
$ front-> getRequest() -> getRequestUri(); Eğer href için $fullUrl kullanacağız eğer

kesin partiye Geç

+0

Şema için, $ front-> getRequest() -> getScheme() 'yi yapabilirsiniz. – peter

0

niteliklerini (bu örnekte http:// olarak) protokolü unutmayın, ancak Zend 1 projesinde benim için çalıştı aşağıdaki: sayfada (değiştirilebilen) URL'ye dışarı yankılanan ediyorsanız

<?php echo htmlspecialchars($this->serverUrl(true)); ?> 

, bu() http://example.com/?q=<script>nastyBusiness()</script> kullanıcılarınızı gönderen birisi önlemek için htmlspecialchars kullanmak iyi bir fikirdir.