Hi. I'm trying to write a global, that will grab links from Overture, depending on the 'db' you are accessing (i.e, cars, books, houses, etc). The global is as follows;
my $Query = $_[0];
my $Limit = $_[1] || 10;
my $page = get("http://xml.uk.overture.com/d/search/p/partner/xml/fast/?mkt=uk&maxCount=10&Partner=site_co_uk&Keywords=$Query");
my $ref = XMLin($page);
# if we don't have any results, then lets return nothing, as there is
# nothing more we can do here...
if (!$ref->{ResultSet}->{Listing}->[0]->{description}) {
return '';
}
#work out how many listings we have...
my $Count;
for (my $i = 0; $i <= 10; $i++) {
if ($ref->{ResultSet}->{Listing}->[$i]->{title}) { next; } else { $Count = $i - 1; }
}
# just a fail safe, in case we get more links than we actually want to show...
if ($Count > $Limit) { $Count = $Limit - 1; }
# now lets go through, and create the HTML for it...
my $html_links;
for (my $count = 0; $count <= $Count; $count++) {
# get the variables all setup...
my $Description = $ref->{ResultSet}->{Listing}->[$count]->{description};
my $Title = $ref->{ResultSet}->{Listing}->[$count]->{title};
my $URI = $ref->{ResultSet}->{Listing}->[$count]->{ClickUrl}->{content};
my $ClickURL = $ref->{ResultSet}->{Listing}->[$count]->{siteHost};
# put the links into HTML format...
$html_links .= GT::Template->parse('overture_link', { Description => $Description, Title => $Title, URL => $URI, ShowURL => $ClickURL });
}
# now lets send it back to the template....
return $html_links;
}
For some reason, when this global is activated, it just shows a blank page (if its not called, then it shows the page fine).
This is my first DBMan SQL global, so any help is much appreciated :) Does DBMan SQL not have a Links::SiteHTML::display() ?
Cheers
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!
Code:
sub { my $Query = $_[0];
my $Limit = $_[1] || 10;
my $page = get("http://xml.uk.overture.com/d/search/p/partner/xml/fast/?mkt=uk&maxCount=10&Partner=site_co_uk&Keywords=$Query");
my $ref = XMLin($page);
# if we don't have any results, then lets return nothing, as there is
# nothing more we can do here...
if (!$ref->{ResultSet}->{Listing}->[0]->{description}) {
return '';
}
#work out how many listings we have...
my $Count;
for (my $i = 0; $i <= 10; $i++) {
if ($ref->{ResultSet}->{Listing}->[$i]->{title}) { next; } else { $Count = $i - 1; }
}
# just a fail safe, in case we get more links than we actually want to show...
if ($Count > $Limit) { $Count = $Limit - 1; }
# now lets go through, and create the HTML for it...
my $html_links;
for (my $count = 0; $count <= $Count; $count++) {
# get the variables all setup...
my $Description = $ref->{ResultSet}->{Listing}->[$count]->{description};
my $Title = $ref->{ResultSet}->{Listing}->[$count]->{title};
my $URI = $ref->{ResultSet}->{Listing}->[$count]->{ClickUrl}->{content};
my $ClickURL = $ref->{ResultSet}->{Listing}->[$count]->{siteHost};
# put the links into HTML format...
$html_links .= GT::Template->parse('overture_link', { Description => $Description, Title => $Title, URL => $URI, ShowURL => $ClickURL });
}
# now lets send it back to the template....
return $html_links;
}
For some reason, when this global is activated, it just shows a blank page (if its not called, then it shows the page fine).
This is my first DBMan SQL global, so any help is much appreciated :) Does DBMan SQL not have a Links::SiteHTML::display() ?
Cheers
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!