5.3 Link to internal page set in editor in module not working correct
Best see this screencast: http://www.marktold.com/screencast/sf_link_in_module.swf
Markus
Hello Markus,
I'm glad to see I'm not the only one using a HtmlField in a custom widget. Links in a HtmlField appear to cause lots of problems. So far I've found this:
- if the target page moves or gets a different URL for another reason, the links are not updated (PITS here).
- in multilingual sites, links to other languages than the default one do not work because the language prefix (de/, fr/) is not added to the URL's. I have a support ticket open for this, but it's already confirmed to be related to the other issue.
The standard Sitefinity Content Block seems to work a lot better, but it's no alternative in most real life cases.
So now we have 3 issues with the HtmlField in a custom widget. This needs to be fixed quickly!
Are you using this in multilingual sites as well?
Dear Arno
For once its not multilingual but not default English.
If I don't see a statement here in the next two days by Telerik I will open a ticket.
The good thing is that Sitefinity is so user friendly that my clients can do everything by themselves but the get confused as if they have done something wrong if something is not working.
Markus
Hi Markus,
I was not able to reproduce the problem on our side. I setup mono lingual project with default German language. I created custom module and I created link to Sitefinity page and everything work fine. Would it be possible to give us access to your project or provide us with more information, which will help us reproduce it on our end?
Dear Sonya
I will open a ticket.
Markus
Dear Arno
Dear Sonya
This is the response from support.
Quote
The issue is actually a bug, which reproduces only when the DynamicContentView widget is used in "One particular item" mode. In that specific case there's a problem with the LinkParser resolving the sfref attribute. The problem has been fixed and will be available with the 5.4 official release.
Unquote.
Markus
Another one finds a bug
Thanks for the update Markus. The song you posted is appropriate :-) In the meantime I received a workaround for the other two issues I mentioned above. So for anyone else running into this, you have to override CreateChildControls in the widget class (not the designer class):
Protected
Overrides
Sub
CreateChildControls()
MyBase
.CreateChildControls()
' Get the HTML from HtmlField and make it suitable for work with LinkParser.
Dim
FixedHtml = Telerik.Sitefinity.Web.Utilities.LinkParser.UnresolveLinks(
Me
.ParagraphText)
' Parse the resolved HTML using LinkParser.
Me
.Text.Text = Telerik.Sitefinity.Web.Utilities.LinkParser.ResolveLinks(FixedHtml,
AddressOf
Telerik.Sitefinity.Modules.GenericContent.DynamicLinksParser.GetContentUrl,
Nothing
,
False
)
End
Sub
Me.ParagraphText is the property set by the designer containing the HTML as entered by the user. Me.Text is the literal control displaying the corrected HTML in the widget template. So these need to be replaced by the correct controls.