idmetatag muss ja irgendwie wissen, zu welchem artikel diese gehört
![Confused :?](./images/smilies/icon_confused.gif)
NACHTRAG:
oh man heute geht gar nichts, ich bin blind sorry, idartlang natürlich
![Confused :?](./images/smilies/icon_confused.gif)
Code: Alles auswählen
/**
* Create a new Article
*
* @author Paul Sauer <contenido@saueronline.de>
* @copyright sauer[online].de <http://saueronline.de> (c) 2006
*
* @param array list of known meta tags for an article
* @return array list of meta tags for frontend output
*/
function psCreateMetatags($metatags){
global $client, $lang, $cfg;
$db = new DB_contenido;
$defaultmeta = array();
// transform to rewritable format of given meta tag array
for($i = 0; $i < count($metatags); $i++){
$tag = $metatags[$i];
foreach($tag as $_k => $_v){
if (strtolower($_k) == "content"){
$tmp[strtolower($_k)] = $_v;
} else {
$tmp['type'] = $_v;
$tmp['name'] = $_k;
}
}
$defaultmeta[$tmp['name']] = $tmp;
}
$defaultkeys = array_keys($defaultmeta);
// get default values of meta tags, ignore those entries where value IS NULL
$sql = "SELECT a.metatype, a.fieldname, b.value\n";
$sql .= "FROM ".$cfg["tab"]["meta_type"]." a LEFT JOIN ".$cfg["tab"]["psMetaTags"]." b on a.idmetatype = b.idmetatype\n";
$sql .= "WHERE\n";
$sql .= " b.idlang = '$lang' AND\n";
$sql .= " b.idclient = '$client' AND\n";
$sql .= " b.value IS NOT NULL";
$db->query($sql);
$metatags = array();
while ($db->next_record()){
$_n = $db->f("fieldname");
$_t = $db->f("metatype");
$_v = $db->f("value");
if ($cfg['psMetaTags']['force'] && !in_array($_t, $cfg['psMetaTags']['ignore_tags'])){
// force override, but ignore tag if necessary
$defaultmeta[$_t] = array('name' => $_n, 'type' => $_t, 'content' => $_v);
} else if (!$cfg['psMetaTags']['force'] && !in_array($_t, $defaultkeys)){
// add current tag, if not in list
$defaultmeta[$_t] = array('name' => $_n, 'type' => $_t, "content" => $_v);
} // if
} // while
// copy metatags to return a correct array
foreach($defaultmeta as $_v){
$metatags[] = array($_v['name'] => $_v['type'], 'content' => $_v['content']);
}
return $metatags;
}
$cfg['psMetaTags']['force'] sollte auf false stehen wenn du die MetaTags aus den Artikeln nicht überschreiben willst. Außerdem solltest du nicht die neueste Version (0.1.2) installiert haben, dann handelt es sich dabei um einen Bug den ich soeben (hoffentlich) korregiert habeschlaucher hat geschrieben:Hi Paul,
tolle Funktion, leider habe ich noch ein Problem:
Egal wie der Wert von $cfg['psMetaTags']['force'] steht, erhalt ich immer nur die Default MetaTags. Sind in einem Artikel eigene MetaTags definiert, werden diese nicht angezeigt.
hab die 1.0.2 mit der 4.6.8.5 und der version von stese v. 03.06. getestet und funktioniert weinwandfrei. ich denke der fehler in der demo basiert noch auf der fehlerhaften con4.6.4Beleuchtfix hat geschrieben: Momentan traue ich mich noch nicht, das Plugin auszutesten.
Gruß
Florian
hab versucht den Fehler nachzuvollziehen, ist mir aber nicht gelungenBeleuchtfix hat geschrieben:Zur Demo Seite: Du hast zwar schön brav alles wieder mit Startartikeln versehe
ich hab den Artikel wieder zum Startartikel gemacht und anschliessen den Author erneut geändert, das ganze hatte keine auswirkung auf die Startartikel-EigenschaftBeleuchtfix hat geschrieben:Ich habe eben dei der Startseite den Author geändert, und schon war die Eigenschaft Startartikel wieder weg. (Sonst habe ich nicht gemacht!)
Da es offentlichlich mit einem anderen User geht, würde nun mal so aus dem Bauch herraus auf ein Rechte Problem oder einen Bug tippen, aber ich teste zumindest das mit den Rechten mal in dem ich dem Demo-User nach und nach mehr Rechte gebeBeleuchtfix hat geschrieben:Hängt das mit den Rechten von Contenido zusammen und besteht da ein Bug, oder ist es das Plugin?
mit dem demouser kannst du es aber schon nachvollziehen oder?-Paul- hat geschrieben:Da es offentlichlich mit einem anderen User geht, würde nun mal so aus dem Bauch herraus auf ein Rechte Problem oder einen Bug tippen, aber ich teste zumindest das mit den Rechten mal in dem ich dem Demo-User nach und nach mehr Rechte gebe
yuppmvf hat geschrieben: mit dem demouser kannst du es aber schon nachvollziehen oder?
genau so ist es, dummerweise sollte es halt nicht zurückgesetzt werden wenn man kein Recht einen Startartikel zu setzen. Weil damit sollte es öfter mal zum Problem werdenmvf hat geschrieben: gib dem mal das ercht den startikel zu setzen, damit die felder nict mehr ausgegraut sind, dann sollte es gehen, habe auch grade bei mir mal rumgespielt
und wenn dem so ist, dann ist das denke ich ein bug in der contenido rechteverwaltung (die IMHO auch stark verbessurgnswürdig wäre)
also ein bug-Paul- hat geschrieben:genau so ist es, dummerweise sollte es halt nicht zurückgesetzt werden wenn man kein Recht einen Startartikel zu setzen. Weil damit sollte es öfter mal zum Problem werden Wink
na ob das wirklich ein Bug ist, wäre da noch zu klären, vielleicht ist es ja absicht das bei nicht gesetzten Recht die Startartikel-Eigenschaft abgeschaltet wirdmvf hat geschrieben:also ein bug??? dann sollten wir emergence und/oder HerrB, hlachteranerin ... einen mod halt informieren dies in bugs aufzunhemen