Hey Community !
Habe mir das "serendipity_event_freetag" Plugin gezogen.
Nun möchte ich nicht, dass mir das Plugin automatisch alle Tags
bei jedem Artikel am $entry.body anhängt.
Mein Ziel wäre, die Tags von jedem Eintrag einer Smarty-Array-Variable zu übergeben, und dann im entries.tpl auszugeben.
Kann mir jemand einen Lösungsvorschlag posten, oder wenn vorhanden,
einen Link zu einem früheren Thread zu diesem Thema ( wurde per
Suche nicht fündig ) ?
Wäre euch echt dankbar !
Freundliche Grüsse
Dragonblast
[SOLVED][serendipity_event_freetag] Artikel-Tags
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
[SOLVED][serendipity_event_freetag] Artikel-Tags
Last edited by Dragonblast on Thu Jan 11, 2007 4:40 pm, edited 1 time in total.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: [serendipity_event_freetag] Artikel-Tags
Hi!
Hm, das ist derzeit im Plugin noch nicht vorgesehen; es kann nur in den body gehangen werden oder in den footer des eintrags.
Schau dir mal die Methode "function displayEntry(&$eventData, $addData)" an, die ist dafür zuständig. Du könntest recht leicht einfach ein eigenes Feld wie "tags" als $field variabe besetzten, dann wäre der Inhalt dessen in Smarty-Variablen...
Da Du dich ja schon etwas auszukennen scheinst, vielleicht hättest Du Lust mal zu schauen da eine Konfig-Variable neu anzulegen, ähnlich wie "embed_footer" die "embed_smarty" heißt und dann die Tags einfach in $eventData[...]['properties']['tags'] reinschreibst? Dann kannst Du die in Smarty via {$entry.properties.tags} aufrufen...
HTH,
Garvin
Hm, das ist derzeit im Plugin noch nicht vorgesehen; es kann nur in den body gehangen werden oder in den footer des eintrags.
Schau dir mal die Methode "function displayEntry(&$eventData, $addData)" an, die ist dafür zuständig. Du könntest recht leicht einfach ein eigenes Feld wie "tags" als $field variabe besetzten, dann wäre der Inhalt dessen in Smarty-Variablen...
Da Du dich ja schon etwas auszukennen scheinst, vielleicht hättest Du Lust mal zu schauen da eine Konfig-Variable neu anzulegen, ähnlich wie "embed_footer" die "embed_smarty" heißt und dann die Tags einfach in $eventData[...]['properties']['tags'] reinschreibst? Dann kannst Du die in Smarty via {$entry.properties.tags} aufrufen...
HTH,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Besten Dank für deine rasche Antwort !
Nun, habe ich mein Problem beinahe gelöst ( nun ja, der Weg war
eigentlich schon vorgegeben )..
Ich habe gesehen, dass jedem Entry ein Tagliste übergeben wird.
( Per Smarty-Debug-Console ) und kann diese per foreach-Schleife
zu jedem Artikel ausgeben.
Nun wird aber jedem Tag noch ein Leerzeichen angehängt ( ist auch
ersichtlich bei der Ausgabe ). Ich möchte dieses jedoch entfernen,
habe aber in der Datei "serendipity_event_freetag.php" kein solches
gefunden... Hättest du mir einen Vorschlag ?
Nun, habe ich mein Problem beinahe gelöst ( nun ja, der Weg war
eigentlich schon vorgegeben )..
Ich habe gesehen, dass jedem Entry ein Tagliste übergeben wird.
( Per Smarty-Debug-Console ) und kann diese per foreach-Schleife
zu jedem Artikel ausgeben.
Nun wird aber jedem Tag noch ein Leerzeichen angehängt ( ist auch
ersichtlich bei der Ausgabe ). Ich möchte dieses jedoch entfernen,
habe aber in der Datei "serendipity_event_freetag.php" kein solches
gefunden... Hättest du mir einen Vorschlag ?
Code: Select all
Smarty-Debug-Console
{$entries} properties => Array (2)
freetag_tags => Array (7)
0 => Tag 1\r
1 => Tag 2\r
2 => Tag 3\r
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Ich vermute das "\r" kommt daher weil Du mit einem Windows-Tool die Tags kommasepariert eingegeben hast und mit \n\r getrennt? Und irgendwas explodet oder ersetzt wohl die Tags anhand von "\n", so dass ein "\r" übrig bleibt?
Viele Grüße,
Garvin
Ich vermute das "\r" kommt daher weil Du mit einem Windows-Tool die Tags kommasepariert eingegeben hast und mit \n\r getrennt? Und irgendwas explodet oder ersetzt wohl die Tags anhand von "\n", so dass ein "\r" übrig bleibt?
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
Du bist echt schlau
Ja, habe das ganze so in die Datenbank
eingetragen wie du vorhersagtest =)
Werde das noch noch ausbessern müssen..
Momentan reicht mir $foobar|replace:"\r":""
Besten Dank nochmals !
[SOLVED]
EDIT
Habe gerade gesehen, dass wenn ich ein Eintrag "extended" habe,
keine Tags erhalte. Im Debugger zeigt es mir auch ein leeres Array
an: properties => Array (0) ...
Wüsstest du, an was das liegen könnte ?
Mein Verdacht liegt auf diese Funktion:
Die Tags werden ja nur dann im $eventData[$addData[$entryId]]['properties']['freetag_tags'] gespeichert, wenn es $tagGroups ein Array ist ( also wenn mehrere Einträge
vorhanden sind )...
eingetragen wie du vorhersagtest =)
Werde das noch noch ausbessern müssen..
Momentan reicht mir $foobar|replace:"\r":""
Besten Dank nochmals !
[SOLVED]
EDIT
Habe gerade gesehen, dass wenn ich ein Eintrag "extended" habe,
keine Tags erhalte. Im Debugger zeigt es mir auch ein leeres Array
an: properties => Array (0) ...
Wüsstest du, an was das liegen könnte ?
Mein Verdacht liegt auf diese Funktion:
Code: Select all
function importEntryTagsIntoProperties(&$eventData, $addData) {
// we do a dual loop here, which is probably the worst thing to do.
// A better thing might be some kind of array merge action, but I am not
// entirely sure how do do that with the arrays we are given.
//
// RefactorMe Later.
// Loop one in getTagsForEntries
$tagGroups = $this->getTagsForEntries(array_keys($addData));
// Loop 2
if (is_array($tagGroups)) {
foreach($tagGroups as $entryId => $tagList) {
$eventData[$addData[$entryId]]['properties']['freetag_tags'] = $tagList;
$eventData[$addData[$entryId]]['properties']['freetag_tagList'] = implode(",", $tagList);
}
}
}
vorhanden sind )...
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Wow. Ein sehr guter "Fang", den Du da gemacht hast. Das war ein tatsächlich schwererer Bug, der nicht am Plugin sondern am Serendipity-Kern lag.
Den habe ich nun beheben können, und er wird Teil der nächste Version sein die sicher bald rauskommt. Mit folgendem Patch kannst du es schon anwenden:
http://svn.berlios.de/viewcvs/serendipi ... 8&view=rev
Vielen Dank für diese Hilfe!
Viele Grüße,
Garvin
Wow. Ein sehr guter "Fang", den Du da gemacht hast. Das war ein tatsächlich schwererer Bug, der nicht am Plugin sondern am Serendipity-Kern lag.
Den habe ich nun beheben können, und er wird Teil der nächste Version sein die sicher bald rauskommt. Mit folgendem Patch kannst du es schon anwenden:
http://svn.berlios.de/viewcvs/serendipi ... 8&view=rev
Vielen Dank für diese Hilfe!
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Oh, achso. Die gelinkte datei ist von Serendipity 1.1! Du müsstest Dir also das diff raussuchen was ich heute gemacht habe und manuell auf 1.0.4 transportieren.
Oooder halt auf die 1.1 aktualisieren.
Viele Grüße,
Garvin
Oh, achso. Die gelinkte datei ist von Serendipity 1.1! Du müsstest Dir also das diff raussuchen was ich heute gemacht habe und manuell auf 1.0.4 transportieren.
Oooder halt auf die 1.1 aktualisieren.
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
Dragonblast
- Regular
- Posts: 23
- Joined: Thu Jan 11, 2007 3:05 pm