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]


7 Posts   1642 Views

Christian Hilles

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


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 :)


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.

NewsletterAdmin.php ~ line 572

$e = new Newsletter_Email($nlType);
$body = new HTMLText();
$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();

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

Christian Hilles

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

Thank's a lot Mad_Clog :)

It work's fine!!!


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

I hope you know the real reason

[url=]global trade[/url]
[url=]Cartoon Character Jackets[/url]

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. :)


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

Mr007 : spamrabbit...


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=]Re: Page Links error in FirstParagraph[/url]