2012-03-28 4 views
0

У меня 1 контроллер для загрузки и рендеринга изображения.Kohana 3 - Rendering image

<?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'); 
     } 

    } 

} 

Это простой. В моем URL/image/topo/name_of_company

Когда я загружаю страницу, ничего не происходит! В чем проблема?

обложка: iam новое в рамки.

tks.

ответ

2

Я считаю, что ваша проблема лежит в этой строке:

public function action_topo($id = NULL) { 

и

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

До 3.2 вы можете использовать либо $id или $this->request->param('id'), но, конечно, не $this->request->param($id) (хорошо технически можно, но это дало бы неожиданные результаты).

С 3.2 вы должны сделать это следующим образом:

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

Tks и визуализации? Почему я не могу сделать изображение? –

+0

Ну, вы ничего не делаете с визуализированным изображением ... Я полагаю, вы могли бы попытаться показать изображение, установив тело ответа: '$ this-> response-> body ($ image-> render (NULL, 75)); или передать изображение в соответствующее представление. – matino