feature request: meta tags vordefinition
feature request: meta tags vordefinition
ähm mir ist da noch ein nettes feature eingefallen...
momentan ist es in contenido nicht möglich metatags vorzudefinieren...
dies liesse sich aber leicht lösen wenn beim ergänzen der metatags für die con_code zuerst ein replace der bestehenden tags im layout versucht wird... falls kein dementsprechender metatag gefunden wird -> so einfügen wie bisher...
die vordefinition könnte man dann einfach ins layout schreiben...
momentan ist es in contenido nicht möglich metatags vorzudefinieren...
dies liesse sich aber leicht lösen wenn beim ergänzen der metatags für die con_code zuerst ein replace der bestehenden tags im layout versucht wird... falls kein dementsprechender metatag gefunden wird -> so einfügen wie bisher...
die vordefinition könnte man dann einfach ins layout schreiben...
*** make your own tools (wishlist :: thx)
mach ich gerne, wollte die community aber nicht ausschließen...timo hat geschrieben:es wäre very nice wenn du feature requests in den Bugtracker schreibst, weil es dort einfacher zu tracken ist
vielleicht gibts ja mehr feedback...
*** make your own tools (wishlist :: thx)
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
ja, also die community findet die Idee auch ganz toll. Ich habe bei mir die Metatags in Contenido nicht ausgefuellt, weil es mir einfach zu muehsam war, es bei jedem Artikel zu tun. Vordefinierte Metatags waeren daher super!emergence hat geschrieben: mach ich gerne, wollte die community aber nicht ausschließen...
vielleicht gibts ja mehr feedback...
ist im bugtracker -> http://bugs.contenido.de/bug_view_page. ... id=0000221
*** make your own tools (wishlist :: thx)
bin mir jetzt nicht ganz sicher da ich nicht weiss ob dies schon gemacht wird wenn die metatags gespeichert werden...
hab da noch eine kleinigkeit gefunden die man noch einbauen sollte
bei function conGetMetaValue($idartlang, $idmetatype)
sollte anstelle von
folgendes verwendet werden...
eine lösung für das problem hab ich auch schon...
hab da noch eine kleinigkeit gefunden die man noch einbauen sollte
bei function conGetMetaValue($idartlang, $idmetatype)
sollte anstelle von
Code: Alles auswählen
return $db->f("metavalue");
Code: Alles auswählen
return trim($db->f("metavalue"));
*** make your own tools (wishlist :: thx)
here we go...
functions.con.php
bei function conGenerateCode
findet sich folgendes...
ersetzen durch
die funktionsweise ist wirklich simpel...
die metatags schreibt man jetzt einfach ins layout hinein (das ist dann die vordefinition)
wenn ein metatag unter eigenschaften eingetragen wird und im layout ist dieser vorhanden wird der bestehende metatag(die vordefinition) einfach aus dem layout entfernt... und die eingabe als neuer metatag ergänzt.
ist eigentlich ne ganz schöne regex geworden... (ne dreiviertel stunde für eine zeile)
mit bitte um feedback...
functions.con.php
bei function conGenerateCode
findet sich folgendes...
Code: Alles auswählen
foreach ($availableTags as $key => $value)
{
$metavalue = conGetMetaValue($idartlang,$key);
if (strlen($metavalue) > 0)
{
$metatags .= "<meta name=\"".$value["name"]."\" content=\"$metavalue\">\n";
}
}
Code: Alles auswählen
foreach ($availableTags as $key => $value)
{
$metavalue = conGetMetaValue($idartlang,$key);
if (strlen($metavalue) > 0)
{
$code = preg_replace('/(<meta(?:\s+)name(?:\s*)=(?:\s*)(?:\\\\"|\\\\\')(?:\s*)'.$value["name"].'(?:\s*)(?:\\\\"|\\\\\')(?:[^>]+)>\r?\n?)/i', '', $code);
$metatags .= "<meta name=\"".$value["name"]."\" content=\"$metavalue\">\n";
}
}
die metatags schreibt man jetzt einfach ins layout hinein (das ist dann die vordefinition)
wenn ein metatag unter eigenschaften eingetragen wird und im layout ist dieser vorhanden wird der bestehende metatag(die vordefinition) einfach aus dem layout entfernt... und die eingabe als neuer metatag ergänzt.
ist eigentlich ne ganz schöne regex geworden... (ne dreiviertel stunde für eine zeile)
mit bitte um feedback...
Zuletzt geändert von emergence am Sa 3. Apr 2004, 19:04, insgesamt 2-mal geändert.
*** make your own tools (wishlist :: thx)
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
gut, hier kommt's (ich muss wohl lebensmuede sein, einfach so php-Dateien in meiner Online-Seite zu aenderen ... )emergence hat geschrieben:mit bitte um feedback...
Es scheint zu funktionieren. Zumindest bei dem einen Versuch, den ich unternommen habe. Aber was mir aufgefallen ist: die Meta-Tags sind in einer bestimmten Reihenfolge bei mir. Wenn ich dann aber bei Eigenschaften z.B. 'author' aendere', wird der bestehende Meta-Tag geloescht, ein neuer wird aber an vorletzter Stelle erst eingefuegt (zuvor befand er sich an zweiter Stelle in der Reihe der Meta-Tags). Ich hasse RegExps , aber waere es trotzdem moeglich, die Reihenfolge der Meta-Tags zu behalten?
hoffe ich auch...Halchteranerin hat geschrieben:Es scheint zu funktionieren.
ja ich weiss, wäre sauberer es anders umzusetzen...Halchteranerin hat geschrieben:Reihenfolge...
mich stört es an sich nicht da sofort ersichtlich ist, dass etwas geändert wurde...
regex sind ein thema für sich... aber wenn man sie mal verstanden hat, wie sie funktionieren, sind sie genial...
möglich ist so ziemlich alles, nur ist es etwas aufwendiger...Halchteranerin hat geschrieben:aber waere es trotzdem moeglich, die Reihenfolge der Meta-Tags zu behalten?
man müsste zuerst überprüfen ob dieser metatag vorhanden ist (mittels preg_match -> und da mag ich die syntax nicht)
wenn ja die ersetzung mit dem neuen metatag vornehmen...
wenn nicht ergänzung wie bis her...
*** make your own tools (wishlist :: thx)
hier die version die auf die reihenfolge rücksicht nimmt...
edit: kleine modifikation betreffend slashes bei ' wurde ergänzt...
Code: Alles auswählen
foreach ($availableTags as $key => $value)
{
$metavalue = conGetMetaValue($idartlang,$key);
if (strlen($metavalue) > 0)
{
$tmetatag = "<meta name=\"".$value["name"]."\" content=\"$metavalue\">\n";
if (preg_match('/(<meta(?:\s+)name(?:\s*)=(?:\s*)(?:\\\\"|\\\\\')(?:\s*)'.$value["name"].'(?:\s*)(?:\\\\"|\\\\\')(?:[^>]+)>\r?\n?)/i', $code)) {
$code = preg_replace('/(<meta(?:\s+)name(?:\s*)=(?:\s*)(?:\\\\"|\\\\\')(?:\s*)'.$value["name"].'(?:\s*)(?:\\\\"|\\\\\')(?:[^>]+)>\r?\n?)/i', addslashes($tmetatag), $code);
} else {
$metatags .= $tmetatag;
}
}
}
Zuletzt geändert von emergence am Sa 3. Apr 2004, 19:03, insgesamt 1-mal geändert.
*** make your own tools (wishlist :: thx)
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Na, dann war's fuer Dich doch nicht so schwer. Danke, ich baue sie mal gleich ein ... Bleibt nur zu hoffen, dass sie bei den naechsten Versionen beruecksichtigt wird, waere ja sonst schade drum, wenn sie beim Update verloren ginge.emergence hat geschrieben:hier die version die auf die reihenfolge rücksicht nimmt...
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Ich habe eine Frage, aber die geht wohl eher an timo, obwohl ... who knows?
Mit emergences Aenderung ist es moeglich, Meta-Tags aus dem Layout zu ueberschreiben. Was ich aber schoen faende: wenn ich mir die Eigenschaften eines Artikels anschaue und im Layout Meta-Tags vorhanden sind, waere es nicht schlecht, wenn diese auch angezeigt werden wuerden (sonst weiss ich nicht, was ich aendern kann, ohne im Layout nachzuschauen zusaetzliche Klicks. ). Mir ist schon klar, dass man sich zig Meta-Tags definieren kann, aber wenigstens die 7, die schon unter Eigenschaften stehen, waeren schon mal ein Anfang.
Waere das sehr umstaendlich umzusetzen?
Mit emergences Aenderung ist es moeglich, Meta-Tags aus dem Layout zu ueberschreiben. Was ich aber schoen faende: wenn ich mir die Eigenschaften eines Artikels anschaue und im Layout Meta-Tags vorhanden sind, waere es nicht schlecht, wenn diese auch angezeigt werden wuerden (sonst weiss ich nicht, was ich aendern kann, ohne im Layout nachzuschauen zusaetzliche Klicks. ). Mir ist schon klar, dass man sich zig Meta-Tags definieren kann, aber wenigstens die 7, die schon unter Eigenschaften stehen, waeren schon mal ein Anfang.
Waere das sehr umstaendlich umzusetzen?
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten: