Чтобы получить ширину вашего изображения в модели, вы можете изменить свою функцию следующим образом:
function GetHalfWidth() {
$width = $this->obj('ProfileImage')->Width;
return $width / 2;
}
Однако, если вы пытаетесь сослаться на форму этого метода в цикле управления ProfileImage, вам нужно «выпрыгнуть» и использовать $ Top.GetHalfWidth
Я думаю, что лучший способ справиться с этим - определить его как метод вашего ProfileImage, если ProfileImage был разделен на подклассы из Image ...
В Profile.php
<?php
class Profile extends Page {
...
public static $has_one = array(
'ProfileImage' => 'Profile_Image'
);
...
}
class Profile_Controller extends Page_Controller {
...
}
class Profile_Image extends Image {
function GetHalfWidth() {
$width = $this->Width;
return $width / 2;
}
}