2011-05-30 14 views
6

Kullanıcı gelen kutusu iletisini almak ve "kullanıcı profili iletileri" şablonlarını kullanarak görüntülemek için bir işlev oluşturdum. Ayrıca, kullanıcı tüm tıklamayı tıkladıysanız toplu gelen kutusu mesajını silmek için işlevsellik (aynı işlevde) ekledim. Ancak tüm mesajları sildikten sonra, sayfa/şablon reddedilmez. Lütfen sebebin ne olabileceğini bana bildirin.PHP kohana çerçeve şablonu oluşturma sorunu - boş sayfa

Aşağıdaki yöntemi kullanarak sayfa oluşturuyorum.

$this->template->body = View::factory("user-profile-messages", array(
      "msg" => $msg, 
      "messages" => $messages, 
     ))->render(); 

Kohana en son sürümünü kullanıyorum. Her şeyden

+2

Şablon görünümünüzde '$ body' yankılanıyor mu? – alex

+0

Hayır. Şablonları görüntülemek için View :: factory() -> render() yöntemini kullanıyorum. – Rahul

+0

'render()' sadece nesneyi bir dizeye dönüştürür. Alex, "$ this-> template" Görünümünüzde '$ body' var. – biakaveron

cevap

2

Öncelikle şablon denetleyicisi uzanan değiliz, sonra kodu olmalıdır:

$view = View::factory("user-profile-messages", array(
    "msg" => $msg, 
    "messages" => $messages, 
)); 

$this->response->body($view) 

Çıktı $this->response->body($view) tarafından ayarlanır. __toString yöntemine sahip olduğu için render çağrısına gerek yoktur.


Eğer senin gibi görünüyor şablon denetleyicisi, uzayan ediyorsanız. Varsayılan olarak

$this->auto_render = FALSE; 

, görünümünüzü içerecek bir değişken vücuda ile şablon şablonu işlemek için gidiyor: Eğer explicity değil söylemek sürece otomatik olarak çıkış vermektedir.