So you want to integrate RSS into your Freeway layouts? This is far from impossible - in fact, it isn't even hard. But you do have to make sure you follow instructions.

The method outlined here uses the 'RSS2HTML' PHP script available at FeedforAll. That is the engine which grabs the RSS feed data and prepares it for merging into your layout.

This approach is far better and far more search engine-friendly than any JavaScript method, but it does require PHP to be working on your server. Don't panic: first of all, you don't have to write any code youself, and second, PHP is probably ready for use on your web hosting account even if you never asked for it - although not all web hosts will provide it as standard. If you're not sure, ask.

Next, you'll need the rss2html.php script. It is available from http://www.feedforall.com, but I've put this into the 'HTML Markup' portion of the 'News' page in the Freeway template and also flagged the two places in the PHP code which you edit. No, you won't have to touch the actual PHP, but you will have to type the address of the RSS feed you want to use and the name of the Freeway layout template page. This, at least, is already done in the Freeway template file.

What you need to do now is make a template page in Freeway. This will contain 'placeholder' snippets of text (regular HTML text not graphic text). These will be replaced by the actual RSS feed content, but they will retain their formatting - so style each item up as you want it to appear in the final layout.

These placeholders all begin and end with three tilde characters. Here are the placeholders I used for my experimental embedding of an RSS feed in a page layout, as seen at http://www.thesmallest.com/news.php

~~~FeedTitle~~~

(the title of the RSS 'feed')

 

~~~Feedlink~~~

(the URL to the RSS feed page - select ~~~FeedTitle~~~ and put this in as its hyperlink address !)

 

~~~FeedDescription~~~

(the RSS feed's description text, often not present in a feed)

 

~~~BeginItemsRecord~~~

(the start of the part which loops around, dealing with each article in turn. This isn't replaced by actual data, it marks out the loop part.)

 

~~~ItemPubShortDate~~~

(the short date of the current article, i.e. 05/30/2006 - just noticed this is in US format. Dangit.)

 

~~~ItemPubShortTime~~~

(the 'short time' of the current article, i.e. 11:18 AM. Also US formatted - "AM" with a space instead of "am" without. Dangitagain.)

 

~~~ItemTitle~~~

(the article's regular title)

 

~~~ItemLink~~~

(the URL to the original article - put this in as the hyperlink address!)

 

~~~ItemDescription~~~

(the actual article content)

 

~~~EndItemsRecord~~~

(the end of the loop section)

 

Here's how I use it in the 'news.php' page I mentioned a moment ago. I put the following text...

~~~FeedDescription~~~ ~~~BeginItemsRecord~~~

~~~ItemPubShortDate~~~ ~~~ItemPubShortTime~~~

~~~ItemTitle~~~

~~~ItemDescription~~~

~~~EndItemsRecord~~~

...into an HTML box. The ~~~ItemTitle~~~ was made a link, with ~~~ItemLink~~~ as the link address. Remember, each of those items is replaced by the relevant real data when it is processed by the server.

I styled it up according to how I wanted each different bit of data to appear, and I added an inline graphic just before the ~~~ItemTitle~~~ placeholder. Anything within the ~~~Begin and ~~~End markers is repeated, so that gives me a graphic bullet effect beside each article title.

Do whatever else you like in this page layout, just remember that the HTML box that your placeholder stuff is in will stretch downwards to fit the contents that gets poured into it. I suggest making this box NOT layered so it will flex along with its contents without fuss.

 

Note this page's filename, and put that into the second flagged part of the rss2html.php code.

 

Now copy all that code from the rss2html.php file, make a new blank page in your Freeway site document, then go to the menu and choose Page > HTML Markup.

In the Markup dialog, choose Before <HTML> from the popup menu at the base, and paste in your modified 'rss2html' code. Click OK.

Now give this page a decent FILE name, for example "news.php". It must end in .php rather than .html! Point your browser at that, and you're done.

Remember: your template page provides the layout structure, BUT it is the 'blank' page with the rss2html code in the markup dialog that people visit. That page automatically sucks in the code from your template, which is why you have to tell the code where it can find your template page.