Search

A new extension, "Sitemap XML" is now available for download. Comments and feedback can be left here but if you discover any issues, please post it on the issue tracker.

This extension is heavily based on Nick Dunn's Slickmap based Sitemap extension.

It will take any page that matches the requirements set in the Systems > Preferences page and output valid xml into a sitemap.xml file generated in the root directory of your site.

This is my first extension so it is probably quite ugly in it's methods (apart from the parts 'borrowed' from Nick of course :p ) but it works so I am happy.

Please leave comments, bugs etc.

I've been intending on doing this for a year at least. Nicely done!

Don't get me wrong, but I don't really get the point of this extension. To output xml with Symphony? Symphony already does this without an extension.

I usually just set up a normal (xml) page, choose the datasources I wanna output in the sitemap (e.g. navigation for regular pages and a few others for dynamic pages like blog posts and stuff), do my regular XSLT-magic like with every other page and that's it...

but I don't really get the point of this extension

I presume it's just a more "plug and play" idea, so that developers less conscientious than yourself can implement a Sitemap XML file without intervention :-)

haha fair call. Yea I was never expecting this to be used very often. But as Nick said, more for people who like to just enable it and have it. A utility might have been more useful..?

It was more a project for me to start learning about Symphony's extensions.

Ah ok, thanks for the explanation. I was just curious if I missed something important regarding my regular sitemap workflow ;-)

Sitemap XML updated to version 2.0a on 27th of June 2011

Changelog

  • Created new interface
  • Added the ability to pin a datasource to a page, with a relative URL. This can be used, for e.g, when you have a news page and would like to append each article to the news/read page.
  • Added the ability to view and delete the above links.
  • You can ping Google, Yahoo, and Bing.
  • Priority accepts any numerical value now.

This has only been tested by me, and it all worked fine on local and on live servers. But please let me know if you encounter issues.

this keeps getting better!

:-) good to see someone finds it useful!

Sitemap XML updated to version 2.1 on 28th of June 2011

Changelog

  • added parent page titles to selectbox and entry list, if applicable.

A small improvement: Translation

public function fetchNavigation()
{
    return array(
        array(
            'location' => __('Blueprints'),
            'name'     => 'Sitemap XML',
            'link'     => '/xml/',
        ),
    );
}

How can we add pages with parameters? For example, if I have a "books" page, how can I add the URL for each book?

Do I have to use the "Pin datasource to page"? I tried this, with no success.

Select the datasource that outputs the books, select the page you want to pin it to. Type in the relative url, so that might be in your case /{book-title/@handle}/{@id}.

This will return www.root.com/the-page/william-shakespeare/2/ where William Shakespeare is the book title and the id is 2.

Have you added the right page type to all the pages you want displayed? Does the page book have the right page type?

Did you read the Readme text? I tried to make it as easy to follow as possible but if they were confusing, let me know.

A small improvement: Translation

Thanks @Kaiuwe, forgot about that! Will have a quick check through next time I get a chance.

Select the datasource that outputs the books, select the page you want to pin it to. Type in the relative url, so that might be in your case /{book-title/@handle}/{@id}.

My URLs have the format root.com/books/title/, where title will be the title of a book, and books is the URL handler of this page. So, I tried /{title/@handle}/, but I got the following message:

<br />
<b>Fatal error</b>:  Class 'FrontendPageNotFoundException' not found in <b>....../symphony/lib/toolkit/class.datasource.php</b> on line <b>226</b><br />

Have you added the right page type to all the pages you want displayed? Does the page book have the right page type?

Did you read the Readme text? I tried to make it as easy to follow as possible but if they were confusing, let me know.

It is a global page.

Yes, I read the README, but I think it doesn't provide enough information about this point. Based on the example on the configuration page, I had already tried the /{title/@handle}/, but it hadn't worked.

Yes, I read the README, but I think it doesn't provide enough information about this point. Based on the example on the configuration page, I had already tried the /{title/@handle}/, but it hadn't worked.

If that is what you tried, then the readme was clear. That should work but for some reason, for you at least, it isn't. But unfortunately I can't replicate that error.

Are you using the latest version? And if you had the old version but upgraded, did you make sure to re-enable it on the extension page?

Did you download the extension from here or did you use git to add a submodule? The one on here would be outdated.

Sitemap XML updated to version 2.1.1 on 8th of July 2011

  • Added exception handler if the datasource was deleted but a link still existed.
  • Added missing translation functions.

Sitemap XML updated to version 2.1.2 on 12th of August 2011

changelog

  • moved menu item to System
  • Removed 'Pin to...' options for users who are set to Author

this allows clients to ping Google etc when they create an entry etc but limits it so they don't create/delete pinned datasources. Bloody clients...

This extension, and the user account superminge which it should be hosted under, have both vanished from Github.

If anyone knows where this extension is now hosted, can they let the forum mods know to update the repo location.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details