2012-03-28 12 views
0

Ich habe 1 Controller zu laden und das Bild rendern.Kohana 3 - Rendering Bild

<?php defined('SYSPATH') or die('No direct script access.'); 

class Controller_Image extends Controller { 

    public function action_topo($id=NULL) { 

     $fornecedor = ORM::factory('provider') 
      ->where('nometag', '=', $this->request->param($id)) 
      ->find(); 

     if ($fornecedor->loaded()) { 
      $local = 'media/fornecedor/' . $fornecedor->nometag . '/' . $fornecedor->sis_foto_baner;    
      $image = Image::factory($local); 
      $data = $image->render(NULL, 75); 
     } else { 
      $this->request->redirect('index'); 
     } 

    } 

} 

Es ist einfach. In meiner URL/image/topo/name_of_company

Wenn ich die Seite laden, passiert nichts! Wo ist das Problem?

obs: iam neu in Frameworks.

tks.

Antwort

2

Ich glaube, Ihr Problem in dieser Linie liegt:

public function action_topo($id = NULL) { 

und

->where('nometag', '=', $this->request->param($id)) 

Vor 3.2 können Sie entweder $id oder $this->request->param('id') aber sicherlich nicht $this->request->param($id) (technisch gut könnten Sie aber es würde unerwartete Ergebnisse).

Seit 3.2 sollten Sie es wie folgt tun:

public function action_topo() { 
    $id = $this->request->param('id'); 
    $fornecedor = ORM::factory('provider') 
      ->where('nometag', '=', $id) 
      ->find(); 
+0

TKS und die machen? Warum kann ich das Bild nicht rendern? –

+0

Nun, Sie tun nichts mit dem gerenderten Bild ... Ich nehme an, Sie könnten versuchen, das Bild zu zeigen, indem Sie den Antwortkörper einstellen: '$ this-> response-> body ($ image-> render (NULL, 75)); 'oder das Bild an assoziierte Ansicht übergeben. – matino