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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo

ZoomIn API


Go to End


9 Posts   3539 Views

Avatar
gakenny

Community Member, 153 Posts

24 July 2007 at 12:11pm

Hello,

Just working on our first website for SilverStripe. Is there a way to incorporate the ZoomIn API on our website? We want to include a map to the location for visitors.

Sample code (Javascript) is found here:
http://developer.zoomin.co.nz/example/map_v4/example1

Cheers,

Gary

Avatar
Sam

Administrator, 690 Posts

24 July 2007 at 6:24pm

Include the JavaScript file, and script it, as you would in a static HTML application... Not really much to it.

You might want to look at using the template tags inside a script tag to load data from the database

<script>
<% control Places %>
someZoominFunction('$Title', '$OtherVal');
<% end_control %>
</script>

Avatar
gakenny

Community Member, 153 Posts

24 July 2007 at 6:30pm

Thanks Sam...

I am warming up to this again... I presume that I create a Maps type and use a template to format this and pass parameters from the page definition in the CMS.

Is this correct?

Cheers,

Gary

Avatar
gakenny

Community Member, 153 Posts

27 July 2007 at 12:07pm

Hello,

I had a go at this last night and it was relatively simple to get working. I created a MapHolder and a MapPage type that contains the location coordinates and description. I created a MapPage template and this contains the relevant JavaScript with the placeholders for the fields to insert from the table.

The only hurdle I have encountered is that the map displays as blue in Firefox (although it displays in IE 6 & 7 fine). Inserting the JavaScript into a static page displays correctly on all browsers. Removing the stylesheets so that these are not applied to the pages does not resolve the issue.

Has anyone else encountered such an issue?

Cheers,

Gary

Avatar
gakenny

Community Member, 153 Posts

30 July 2007 at 11:39am

Hello,

I have contacted the ZoomIn developers regarding the issue where a static page containing the HTML generated by SilverStripe works but the dynamically generated GTML does not. This was the reply:

Hmmm, tricky. I don't know much about how SilverStripe works, but there are
two differences between the page source of the SilverStripe version and the
static version you pasted: the former starts with an XML tag (<?xml
version="1.0" encoding="UTF-8"?>), and the html tag include xml namespace
attributes (<html xmlns="http://www.w3.org/1999/xhtml xml:lang="en" >).

Looking at the way the syntax is highlighted in the two versions by
Firefox's source viewer, I'd surmise that those changes are causing Firefox
to parse the CDATA block (containing our script) in a different way, which
causes an error (not a very meaningful one: "An invalid or illegal string
was specified"). Is there any way that you can configure SilverStripe to not
make those XML settings?

Can anyone assist with this?

Cheers,

Gary

Avatar
Markus

Google Summer of Code Hacker, 152 Posts

30 July 2007 at 8:07pm

Maybe this thread could help you..

Avatar
gakenny

Community Member, 153 Posts

30 July 2007 at 10:01pm

Hi Markus,

Thanks for the reply. I removed the code from the default template as indicared by ZoomIn and this addressed the issue. Is this an issue that I should address with ProjectX and what would I tell them they should change?

I guess by removing this code, the generated code is no longer fully compliant.

Cheers,

Gary

Avatar
Sam

Administrator, 690 Posts

31 July 2007 at 4:16pm

It's still compliant, but it's compliant HTML 4.01 instead of compliant XHTML. Strictly speaking, IE doesn't support XHTML and most browsers interpret XHTML provided to them as HTML 4.01.

If you want to raise this with the Zoomin team - you want to mention to them that their code doesn't work if the XHTML page is sent with the application/xhtml+xml content type. JavaScript behaviour on this is a little different, particularly around &nbsp; and .innerHTML.

Go to Top