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   1751 Views

Avatar
Christian Hilles

Community Member, 6 Posts

16 September 2010 at 5:36am

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

Community Member, 78 Posts

24 September 2010 at 12:16am

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

Community Member, 6 Posts

28 September 2010 at 12:47am

Thank's a lot Mad_Clog :)

It work's fine!!!

Avatar
Mr007

Community Member, 1 Post

28 September 2010 at 6:38am

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

Community Member, 6 Posts

28 September 2010 at 6:59am

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

Community Member, 271 Posts

28 September 2010 at 7:20am

Mr007 : spamrabbit...

Avatar
figjam

Community Member, 10 Posts

9 February 2011 at 10:46pm

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]