mirror of
https://github.com/wilr/silverstripe-googlesitemaps.git
synced 2024-10-22 11:05:48 +02:00
Merge pull request #121 from timezoneone/J003064/images-for-xml-sitemaps
added a way to include any images displayed on the pages to the googl…
This commit is contained in:
commit
628dbd8404
@ -101,7 +101,6 @@ table.tablesorter thead tr .headerSortDown {
|
|||||||
table.tablesorter tbody td {
|
table.tablesorter tbody td {
|
||||||
color: #005A92;
|
color: #005A92;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
|
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
table.tablesorter tbody tr{
|
table.tablesorter tbody tr{
|
||||||
@ -124,6 +123,20 @@ table.tablesorter tbody tr:hover td,
|
|||||||
table.tablesorter tbody tr:hover a{
|
table.tablesorter tbody tr:hover a{
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
table.imagestable,
|
||||||
|
table.imagestable a {
|
||||||
|
font-size: 8pt;
|
||||||
|
}
|
||||||
|
table.imagestable {
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
table.imagestable tr.odd {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
table.imagestable tr.even {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
#Footer{
|
#Footer{
|
||||||
margin: 50px 0 10px;
|
margin: 50px 0 10px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Wilr\GoogleSitemaps\Extensions;
|
namespace Wilr\GoogleSitemaps\Extensions;
|
||||||
|
|
||||||
|
use SilverStripe\Assets\Image;
|
||||||
use SilverStripe\ErrorPage\ErrorPage;
|
use SilverStripe\ErrorPage\ErrorPage;
|
||||||
use SilverStripe\Forms\DropdownField;
|
use SilverStripe\Forms\DropdownField;
|
||||||
use SilverStripe\Forms\LiteralField;
|
use SilverStripe\Forms\LiteralField;
|
||||||
@ -47,7 +48,7 @@ class GoogleSitemapSiteTreeExtension extends GoogleSitemapExtension
|
|||||||
'<a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=71936#prioritize" '
|
'<a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=71936#prioritize" '
|
||||||
. 'target="_blank">?</a>'
|
. 'target="_blank">?</a>'
|
||||||
);
|
);
|
||||||
$message .= "</p>";
|
$message .= "</p>";
|
||||||
|
|
||||||
$tabset->push(new Tab(
|
$tabset->push(new Tab(
|
||||||
'GoogleSitemap',
|
'GoogleSitemap',
|
||||||
@ -138,4 +139,32 @@ class GoogleSitemapSiteTreeExtension extends GoogleSitemapExtension
|
|||||||
return (is_numeric($priority) && $priority <= 1.0) ? $priority : 0.5;
|
return (is_numeric($priority) && $priority <= 1.0) ? $priority : 0.5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function ImagesForSitemap()
|
||||||
|
{
|
||||||
|
$list = new ArrayList();
|
||||||
|
|
||||||
|
foreach ($this->owner->hasOne() as $field => $type) {
|
||||||
|
if (singleton($type) instanceof Image) {
|
||||||
|
$image = $this->owner->getComponent($field);
|
||||||
|
if ($image && $image->exists()) {
|
||||||
|
$list->push($image);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($this->owner->hasMany() as $field => $type) {
|
||||||
|
if (singleton($type) instanceof Image) {
|
||||||
|
$images = $this->owner->getComponents($field);
|
||||||
|
foreach ($images as $image) {
|
||||||
|
if ($image && $image->exists()) {
|
||||||
|
$list->push($image);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->owner->extend('updateImagesForSitemap', $list);
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<?xml-stylesheet type='text/xsl' href='$StylesheetPath'?>
|
<?xml-stylesheet type='text/xsl' href='$StylesheetPath'?>
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
|
||||||
<% loop $Items %>
|
<% loop $Items %>
|
||||||
<url>
|
<url>
|
||||||
<loc>$AbsoluteLink</loc>
|
<loc>$AbsoluteLink</loc>
|
||||||
<% if $LastEdited %><lastmod>$LastEdited.Rfc3339()</lastmod><% end_if %>
|
<% if $LastEdited %><lastmod>$LastEdited.Rfc3339()</lastmod><% end_if %>
|
||||||
<% if $ChangeFrequency %><changefreq>$ChangeFrequency</changefreq><% end_if %>
|
<% if $ChangeFrequency %><changefreq>$ChangeFrequency</changefreq><% end_if %>
|
||||||
<% if $GooglePriority %><priority>$GooglePriority</priority><% end_if %>
|
<% if $GooglePriority %><priority>$GooglePriority</priority><% end_if %>
|
||||||
|
<% if $ImagesForSitemap %><% loop $ImagesForSitemap %>
|
||||||
|
<image:image>
|
||||||
|
<image:loc>{$AbsoluteLink}</image:loc>
|
||||||
|
</image:image>
|
||||||
|
<% end_loop %><% end_if %>
|
||||||
</url>
|
</url>
|
||||||
<% end_loop %>
|
<% end_loop %>
|
||||||
</urlset>
|
</urlset>
|
||||||
|
@ -37,9 +37,36 @@
|
|||||||
<xsl:variable name="itemURL">
|
<xsl:variable name="itemURL">
|
||||||
<xsl:value-of select="sitemap:loc"/>
|
<xsl:value-of select="sitemap:loc"/>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
<xsl:variable name="imagesCount" select="count(image:image)"/>
|
||||||
<a href="{$itemURL}">
|
<a href="{$itemURL}">
|
||||||
<xsl:value-of select="sitemap:loc"/>
|
<xsl:value-of select="sitemap:loc"/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
<xsl:if test="$imagesCount > 0">
|
||||||
|
<table class="imagestable" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<th>Images</th>
|
||||||
|
</tr>
|
||||||
|
<xsl:for-each select="image:image">
|
||||||
|
<xsl:variable name="imageURL">
|
||||||
|
<xsl:value-of select="image:loc"/>
|
||||||
|
</xsl:variable>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<img src="{$imageURL}" width="40px"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="{$imageURL}">
|
||||||
|
<xsl:value-of select="image:loc"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</xsl:for-each>
|
||||||
|
</table>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<xsl:value-of select="concat(sitemap:priority*100,'%')"/>
|
<xsl:value-of select="concat(sitemap:priority*100,'%')"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user