4 June 2011 at 10:09am
(Last edited: 4 June 2011 10:10am),
I really like Your google sitemap module. In combination with order SilverStripe measures like clean URL's sites easily rank on high positions without much effort.
For our ecommerce module [url="http://www.silvercart.org"]SilverCart[/url] we need product detail pages to appear on the google sitemap. The thing is that our products are in fact DataObjects an not Pages. I had to decorate the function Items() of the class GoogleSitemap to make this work. I had to add the line
after line 95 to make this function decorateable. I would be happy if You could add this line to the codebase so that I do not have to change core files.
The forum isn't the place to submit feature ideas as the module owner may not see your thread. You should submit patches as pull requests on the github project - https://github.com/silverstripe-labs/silverstripe-googlesitemaps.
updateItems may also be a bad name for the extension hook as it isn't clear thats for googlesitemaps. Perhaps a good enhancement to the module would be a GoogleSitemapableDecorator which you could apply to your dataobject (say forum posts as well) then in Items it would get a list of all the items with the decorator attached.
thanks for your reply. Sebastian and I did some changes to the GoogleSitemap module. It now can be used to show DataObjects that have an own link. With the help of a static method the class name of the DataObjects to add is defined.
We use Mercurial for code management and collaboration. I am not used to git hub and at the moment I'm too lazy to learn their command line syntax. How does a pull request work? Do I simply push to git://github.com/silverstripe-labs/silverstripe-googlesitemaps.git?
I tired to make the pull request by using the terminal. GIT terminal commands are too confusing to me and I did not like the tutorials. It took me 4 weeks to learn mercurial. I'm not willing to go through this again atm. I made the pull request via git's website form.
I may write a tutorial about how my changes work.