simples Metatag Modul
Verfasst: So 26. Apr 2009, 16:11
Hallo Community
Da ich gerade einen seitenübergreifenden Metatag meiner Seite hinzufügen wollte, dachte ich mir: Warum ins Layout packen wenn man es nicht auch als fixes Modul in den Head packen kann und die Werte in den Mandanteneinstellungen speichert.
Also.. gedacht... gemacht...
Und da ist es
Gespeichert in den Mandateneinstellungen wird so:
Type => meta
Name => verify-v1
Wert => xpMH6deRXVMoyeYYOj0YnV+TqSiW7UNhZpn9AfgSoZw=
daraus wird auf der Seite <meta name="verify-v1" content="xpMH6deRXVMoyeYYOj0YnV TqSiW7UNhZpn9AfgSoZw=" />
und da ist jetzt nen Problem was ich hab... das + zwischen V und T wird nicht angezeigt
mach ich print_r($aMetatags); zeigters auch nicht an
die funktion getPropertiesByType nimmt mir das + da irgendwie weg, hat da jemand ne idee wie ich das dahinbekomm?
in der datenbank ist der eintrag so gespeichert => xpMH6deRXVMoyeYYOj0YnV%2BTqSiW7UNhZpn9AfgSoZw%3D
ruf ich die mandanteneinstellungen auf wird mir das + dort richtig angezeigt
PS: Das ist jetzt nen Beispiel um ne Domain beim Google Webmaster-Tools zu verifizieren.
Mit freundlichen Grüßen
Christian Kehres
EDIT
Auszug aus der class.properties.php
So diese Funktion ließt die Werte aus, und ich denke mal das es an liegt warum der mir das "+" zerhaut
jemand ne Idee wie man das umgehen kann?
NOCH NEN EDIT
mach ich von hand
gibter mir es korrekt mit dem "+" aus, also warum nicht wenn der das da mit der funktion ausließt? =/
Da ich gerade einen seitenübergreifenden Metatag meiner Seite hinzufügen wollte, dachte ich mir: Warum ins Layout packen wenn man es nicht auch als fixes Modul in den Head packen kann und die Werte in den Mandanteneinstellungen speichert.
Also.. gedacht... gemacht...
Und da ist es
Code: Alles auswählen
<?php
// wichtige Klassen includen
cInclude('classes', 'contenido/class.client.php');
// Objekte initialisieren
$oClient = new cApiClient($client);
// MetatagArray mit Werten füllen
$aMetatags = $oClient->getPropertiesByType("meta");
// Array durchlaufen und Metatags ausgeben
foreach($aMetatags as $sName => $sContent)
{
echo "<meta name=\"".$sName."\" content=\"".$sContent."\" />";
}
?>
Type => meta
Name => verify-v1
Wert => xpMH6deRXVMoyeYYOj0YnV+TqSiW7UNhZpn9AfgSoZw=
daraus wird auf der Seite <meta name="verify-v1" content="xpMH6deRXVMoyeYYOj0YnV TqSiW7UNhZpn9AfgSoZw=" />
und da ist jetzt nen Problem was ich hab... das + zwischen V und T wird nicht angezeigt
mach ich print_r($aMetatags); zeigters auch nicht an
die funktion getPropertiesByType nimmt mir das + da irgendwie weg, hat da jemand ne idee wie ich das dahinbekomm?
in der datenbank ist der eintrag so gespeichert => xpMH6deRXVMoyeYYOj0YnV%2BTqSiW7UNhZpn9AfgSoZw%3D
ruf ich die mandanteneinstellungen auf wird mir das + dort richtig angezeigt
PS: Das ist jetzt nen Beispiel um ne Domain beim Google Webmaster-Tools zu verifizieren.
Mit freundlichen Grüßen
Christian Kehres
EDIT
Auszug aus der class.properties.php
Code: Alles auswählen
function getValuesByType ($itemtype, $itemid, $type)
{
$aResult = array();
$itemtype = Contenido_Security::escapeDB($itemtype, null);
$itemid = Contenido_Security::escapeDB($itemid, null);
$type = Contenido_Security::escapeDB($type, null);
if (isset($this->client))
{
$this->select("idclient = '".$this->client."' AND itemtype = '".$itemtype."' AND itemid = '".$itemid."' AND type = '".$type."'");
} else {
$this->select("itemtype = '".$itemtype."' AND itemid = '".$itemid."' AND type = '".$type."'");
}
while ($item = $this->next())
{
$aResult[$item->get("name")] = urldecode($item->get("value"));
}
return $aResult;
}
Code: Alles auswählen
$aResult[$item->get("name")] = urldecode($item->get("value"));
jemand ne Idee wie man das umgehen kann?
NOCH NEN EDIT
mach ich von hand
Code: Alles auswählen
<?php echo urldecode('xpMH6deRXVMoyeYYOj0YnV%2BTqSiW7UNhZpn9AfgSoZw%3D'); ?>