21288 Posts in 5733 Topics by 2602 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1574 Views |
-
Image URL with SetWidth(

31 July 2010 at 8:57am
How can I get the URL for an image resized with SetWidth().
This does NOT work:
<img src="$Image.SetWidth(150).URL" alt="$Heading.ATT" title="$Heading.ATT" />
-
Re: Image URL with SetWidth(

31 July 2010 at 10:12am Last edited: 31 July 2010 10:13am
You can't. You won't be able to use URL after SetWidth(). There is an example in the SilverStripe book on this, done by Subclassing Image.
example:
class Page_MyImage extends Image {
function generateMyImageThumbnail($gd) {
return $gd->resizeByWidth(50);
}
}Where Page_ is your class, such as Page or HomePage, etc.
Then update your has_one
static $has_one = array(
'Image' => 'Page_MyImage',
);And you should be able to use in your template like:
$Image.MyImageThumbnail.URL
You can change "MyImage" and "MyImageThumbnail" to whatever you like.
-
Re: Image URL with SetWidth(

31 July 2010 at 8:13pm
There's actually a simpler solution than subclassing. This code always worked for me:
<% control Image %>
<img src="$SetWidth(150).Link" alt="$Heading.ATT" title="$Heading.ATT" />
<% end_control %>Don't know where that heading is coming from, eventually you'll have to use $Top.Heading, or something along these lines (ugly, I know):
<img src="<% control Image %>$SetWidth(150).Link<% end_control %>" alt="$Heading.ATT" title="$Heading.ATT" />
| 1574 Views | ||
|
Page:
1
|
Go to Top |



