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.
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!!!)
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;
NewsletterAdmin ~ line 160
// Set template specific variables before passing it to the template
$obj->Body = new HTMLText();
Thank's a lot Mad_Clog :)
It work's fine!!!
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. :)
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 );
See also: Re: Page Links error in FirstParagraph