Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Newsletter Modul generate Links like this: [sitetree_link id=18]


Reply

7 Posts   1642 Views

Avatar
Christian Hilles

16 September 2010 at 5:36am Community Member, 6 Posts

Hi,

since Silverstripe 2.4 i have an problem with internal Links in a Newsletter.

I think, that's a effect of the new nested URL's.. I hope you know the real reason and can help me! :)

The Newsletter Modul generate links like this: <a href"=[sitetree_link id=18]">

If i click: Silverstripe call the 404 Page.

(Sorry for my bad english!!!)

Christian :)

Avatar
Mad_Clog

24 September 2010 at 12:16am Community Member, 78 Posts

I was having the same problem.
This is caused the Body/Content is passed as plain text rather then an instance of HTMLText.

Fix:
NewsletterAdmin.php ~ line 572

$e = new Newsletter_Email($nlType);
$body = new HTMLText();
$body->setValue($newsletter->Content);
$e->Body = $body;
// $e->Body = $body = $newsletter->Content;
$e->Subject = $subject = $newsletter->Subject;

Fix 2:
NewsletterAdmin ~ line 160

// Set template specific variables before passing it to the template
$obj->Body = new HTMLText();
$obj->Body->setValue($obj->Content);

return $this->customise($obj)->renderWith($templateName);

Avatar
Christian Hilles

28 September 2010 at 12:47am Community Member, 6 Posts

Thank's a lot Mad_Clog :)

It work's fine!!!

Avatar
Mr007

28 September 2010 at 6:38am Community Member, 1 Post

I hope you know the real reason

__________________
[url=http://www.marginup.com.au]global trade[/url]
[url=http://www.SpeedSportswear.com]Cartoon Character Jackets[/url]

Avatar
Christian Hilles

28 September 2010 at 6:59am Community Member, 6 Posts

The real reason? Now i'm curious about it.

My problem is fixed with Mad_Clog's code. But i would be deeply grateful to hear more about the real reason. :)

Avatar
Martijn

28 September 2010 at 7:20am Community Member, 271 Posts

Mr007 : spamrabbit...

Avatar
figjam

9 February 2011 at 10:46pm Community Member, 10 Posts

This happens because the shortcode parser (for links) isn't invoked if you render a template yourself.

So another solution is to simply call it yourself:

$data = $this->renderWith( $template );
return ShortcodeParser::get_active()->parse($data);

See also: [url=http://www.silverstripe.org/general-questions/show/13388#post298731]Re: Page Links error in FirstParagraph[/url]