Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 21. Januar 2011 15:00
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
[Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Hi,
1. ist das wahrscheinlich gar kein wirkliches Problem, sondern nur Unwissenheit und 2. hat es weniger mit Smarty als mehr mit PHP zu tun, ich wusste aber nicht, wohin damit.
Ich möchte auf unserer Homepage für die Startseite die Keywords mit Hilfe der monatlichen Suchbegriffe über die API von Piwik generieren.
Generell funktioniert das auch schon mit diesem Aufruf:
// this token is used to authenticate your API request.
// You can get the token on the API page inside your Piwik interface
$token_auth = 'geheimer_token_auth_code';
$url = "http://www.festtagsgedichte.de/piwik/";
$url .= "?module=API&method=Referers.getKeywords";
$url .= "&idSite=1&period=month&date=today";
$url .= "&format=PHP&filter_limit=10";
$url .= "&token_auth=$token_auth";
$fetched = file_get_contents($url);
$content = unserialize($fetched);
// case error
if(!$content)
{
echo "Error, content fetched = ".$fetched;
}
foreach($content as $row)
{
$keyword = urldecode($row['label']);
echo $keyword .", ";
}
So werden die 10 stärksten Suchbegriffe vom aktuellen Monat von Piwik abgegriffen und kommagetrennt ausgegeben. Allerdins hängt noch ein Komma hinten dran, was natürlich nicht so schön aussieht bzw. in den Keywords ja nichts zu suchen hat.
Nun habe ich schon den Befehl "implode" gefunden - leider bekomme ich ihn nicht richtig zum Laufen bzw. er gibt immer "Array, Array, Array..." aus (sogar ohne Komma am Ende).
Irgendwie verstehe ich nicht genau, wo jetzt die Keywords herkommen und wie ich das mit dem implode-Befehl verbinden soll (habe den Code so aus dem Piwik-Wiki übernommen und nur die Ausgabe angepasst).
Für PHP-Kenner wahrscheinlich nicht mal ne 8tel Po-Backe...
Schon mal danke im Voraus
PS: Ich weiß, dass Google nicht mehr wirklich auf die Keywords achtet - mir ist es dennoch wichtig...
Beitrag geändert von jeff1980 (21. Januar 2011 15:36)
Offline
#2 21. Januar 2011 15:17
- piratos
- Gast
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
<?php
// this token is used to authenticate your API request.
// You can get the token on the API page inside your Piwik interface
$token_auth = 'geheimer_token_auth_code';
$url = "http://www.festtagsgedichte.de/piwik/";
$url .= "?module=API&method=Referers.getKeywords";
$url .= "&idSite=1&period=month&date=today";
$url .= "&format=PHP&filter_limit=10";
$url .= "&token_auth=$token_auth";
$fetched = file_get_contents($url);
$content = unserialize($fetched);
// case error
if (!$content) {
echo "Error, content fetched = " . $fetched;
} else {
$x=count($content)-1;
$i=0;
foreach ($content as $row) {
echo urldecode($row['label']);
$i++;
if ($i<$x) echo ", ";
}
}
?>
#3 21. Januar 2011 15:34
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Danke - das ging schnell...
Eine Kleinigkeit habe ich noch geändert, da sonst ein Komma zu wenig eingefügt wurde (die letzten beiden Begriffe hingen zusammen):
// this token is used to authenticate your API request.
// You can get the token on the API page inside your Piwik interface
$token_auth = 'geheimer_token_auth_code';
$url = "[url]http://www.festtagsgedichte.de/piwik/[/url]";
$url .= "?module=API&method=Referers.getKeywords";
$url .= "&idSite=1&period=month&date=today";
$url .= "&format=PHP&filter_limit=10";
$url .= "&token_auth=$token_auth";
$fetched = file_get_contents($url);
$content = unserialize($fetched);
// case error
if (!$content) {
echo "Error, content fetched = " . $fetched;
}
$x=count($content)-1;
$i=-1;
foreach ($content as $row) {
echo urldecode($row['label']);
$i++;
if ($i<$x) echo ", ";
}
$i ist jetzt "-1" statt "0" (wollte es markieren, ging aber nicht).
Aber damit haut es jetzt hin.
Beitrag geändert von jeff1980 (21. Januar 2011 15:37)
Offline
#4 21. Januar 2011 16:29
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Mit implode würde es übrigens so aussehen:
$keywords = array();
foreach ($content as $row) {
$keywords[] = urldecode($row['label']);
}
$keywords_str = implode(',',$keywords);
echo $keywords_str;
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#5 21. Januar 2011 17:56
- owr_web
- Server-Pate
- Registriert: 16. Dezember 2010
- Beiträge: 543
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
nur der kleinen Vollständigkeit der Validität halber - sollte bei url. = anstatt & nich & hin im Code?
Offline
#6 22. Januar 2011 10:46
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
@NaN: Funktioniert leider nicht auf Anhieb - er gibt mir für die Zeile
keywords[] = urldecode($row['label']);
diesen Fehler aus:
# Parse error: syntax error, unexpected '[' in /is/htdocs/...../admin/edituserplugin.php(108) : eval()'d code on line 20
@owr_web: Soweit ich das ganze System verstehe, wird dort nur die URL zusammengebaut, über die er sich die Daten aus der Piwik-Datenbank holt. Davon landet nichts im Quellcode der eigentlichen Seite. Von daher macht es auch nichts.
Offline
#7 22. Januar 2011 12:49
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Mit implode würde es übrigens so aussehen:
$keywords = array(); foreach ($content as $row) { $keywords[] = urldecode($row['label']); } $keywords_str = implode(',',$keywords); echo $keywords_str;
Es fehlte ein "$" bei $keywords[]
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#8 24. Januar 2011 16:29
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Jep - so gehts. Habs auch gar nicht gesehen...
Nun funktionieren beide Varianten
Offline
#9 24. Januar 2011 17:07
- piratos
- Gast
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Du solltest dich aber dennoch an meine if else Aufteilung halten.
Sonst läufst du , wenn $content keinen Inhalt hat direkt in eine Fehlermeldung.
Später, wenn es mal Smarty 3 unter CMSMS geben sollte direkt in einen Absturz.
Beitrag geändert von piratos (24. Januar 2011 17:08)
#10 25. Januar 2011 06:42
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Hab ich gestern beim Ausprobieren auch übernommen - erschien mir auch sinnvoller, als nur ein einfaches "if" ohne Ausweichmöglichkeit.
Offline
#11 25. Januar 2011 22:09
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [Gelöst] Keywords erstellen, Probleme mit Komma am Ende
Später, wenn es mal Smarty 3 unter CMSMS geben sollte direkt in einen Absturz.
Die Hoffnung stirbt zuletzt ...
Offline
Seiten: 1