я использую cakephp framework
версия 2.6.1
Я создаю function
который будет get properties images
и создаст это thumbnail
от phpthumb
моя проблема в том, что я не могу создать миниатюру из phpThumb
в моей функции
я получаю все data
как я хочу, вот мой контроллер
Я пытался загрузить помощник phpThumb
как это
public $helpers = array('PhpThumb.PhpThumb');
но у меня не получилось, тогда я попытался импортировать его из родительского `AppController, вот так
App::import('Helper', 'PhpThumb.PhpThumb');
но, к сожалению, это тоже не сработало.
я проверил мой error logs
и нашел эту ошибку
PHP Fatal error: Call to a member function url() on a non-object in /home/gulfsothebysrealty/public_html/app/Controller/CronController.php on line 39
в $propertyImages['Photo']['image_url']
я получаю URL-адрес изображения сервера propspace
Может кто-нибудь, пожалуйста, скажите мне, как создать миниатюру с помощью phpThumb
в контроллере? любая помощь будет оценена.
class CronController extends AppController {
public function index() {
$properties = $this->Property->find( 'all', array(
'conditions' => array(
'Property.thumb_updated' => 0
),
'limit' => 5,
'order' => array( 'Property.id' => 'desc' )
)
);
foreach ( $properties as $property ) {
$propertyId = $property['Property']['id'];
$data = array( 'id' => $propertyId, 'thumb_updated' => 1 );
$this->Property->save( $data );
$getImages = $this->Property->Photo->find( 'all', array(
'conditions' => array(
'Photo.property_id' => $propertyId,
),
'order' => array( 'Photo.property_id' => 'desc' )
) );
foreach ( $getImages as $propertyImages ) {
if ( ! empty( $propertyImages['Photo']['image_url'] ) ) {
/*line 39*/ $propertyImageThumb = $this->PhpThumb->url( $propertyImages['Photo']['image_url'], array(
'w' => 1349,
'h' => 500,
'zc' => 1
) );
echo '<pre>';
print_r( $propertyImageThumb );
echo '</pre>';
}
}
}
}
}
У меня есть решение, ребята,
Я делал одну ошибку
мне нужно импортировать phpThumb helper
от AppController
как и я
App::import( 'Helper', 'PhpThumb.PhpThumb' );
тогда я должен был сделать object
за phpThumb Helper
$phpthumb = new PhpThumbHelper(new View());
После этого теперь я могу создавать эскизы с помощью $phpThumb
$propertyImageThumb = $phpThumb->url( $propertyImages['Photo']['image_url'], array(
'w' => 1349,
'h' => 500,
'zc' => 1
) );
Других решений пока нет …