2k11 und Kommentare vom Autor

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by yellowled »

Ich hab Rodney dazu mal angetwittert: https://gist.github.com/4579209

YL
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: 2k11 und Kommentare vom Autor

Post by Timbalu »

Timbalu wrote:Rein theoretisch sollte es nur da vorkommen, wo irgendwelche {serendipity_print* hooks definiert werden, oder? Dies würde auch erklären, warum zB die comments.tpl als scope=parent angesehen wird. Und wirklich effektiv würde es dann nur die entries.tpl mit dem genannten

Code: Select all

{assign var="entry" value=$entry scope=parent}
betreffen, da die sidebar.tpl keine parent variablen benutzt.
In 2k11 wären das:

Code: Select all

 /.../git-master/templates/2k11/entries.tpl (2 hits)
	Line 84:             {serendipity_printTrackbacks entry=$entry.id}
	Line 98:             {serendipity_printComments entry=$entry.id mode=$entry.viewmode}
 /.../git-master/templates/2k11/index.tpl (2 hits)
	Line 79:             {serendipity_printSidebar side="left"}
	Line 85:             {serendipity_printSidebar side="right"}
Damit sollte an sich schon alles erledigt sein.
Die Frage ist: Was macht ein {assign var="entry" value=$entry scope=parent} in einer Smarty2 Installation, alles richtig, gar nichts, oder meldet es vielleicht sogar einen Fehler? Denn sonst müssten wir noch zusätzlich einen smarty switch verbauen der nur in Smarty3 environments aktiv wird.

Sollte ich damit richtig liegen, ist der Aufwand gering und ein konkreter Hinweis an alle Upgrader sollte genügen, um der geänderten Sachlage Herr zu werden.
Smarty3 ist nämlich durchaus ein echter Fortschritt, auch wenn ein paar liebgewonnene Dinge flten gehen. ;-)
EinTest mit S9y 1.6.1 und Smarty2 ergab keinen Fehler wenn dieses assignment in der entries.tpl sitzt.
yellowled wrote:Ich hab Rodney dazu mal angetwittert: https://gist.github.com/4579209
Ja, sag ich doch. Wunderbar. Jetzt muss nur noch jemand bestätigen, dass wir mit dem einen assignement in der entries.tpl schon alles erschlagen haben.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
MarioH
Regular
Posts: 238
Joined: Mon Jul 20, 2009 10:53 pm
Contact:

Re: 2k11 und Kommentare vom Autor

Post by MarioH »

Ich habe jetzt in der entries.tpl die Ergänzung hier eingebaut:

Code: Select all

{serendipity_hookPlugin hook="entries_header" addData="$entry_id"}
{foreach from=$entries item="dategroup"}
    {foreach from=$dategroup.entries item="entry"}
    {assign var="entry" value=$entry scope=parent}
Ich habe die Original comment.tpl aus 2k11 wieder eingebaut. Die funktioniert damit wie vorher. Auch die trackback.tpl funktioniert so, im angemeldeten Zustand wird unter dem Trackback der "Löschen"-Link angezeigt.

Gruß
Mario
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: 2k11 und Kommentare vom Autor

Post by Timbalu »

Danke für den Test. :)
Es wäre schön, wenn sie noch der eine oder andere mehr daran beteiligen würde, vielleicht auch mit eigenem Template, damit wir ganz sicher sein können, dass es nur dieses kleine addOn ist.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by garvinhicking »

Hi!

Super. Ich hab das lokal auch mal probiert, das sollte klappen. Ich werde dann jetzt alle entries.tpls in Spartacus und im Core patchen.

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/
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: 2k11 und Kommentare vom Autor

Post by Timbalu »

Hmm,
Ich habe gerade mit der comments_by_authors.tpl herumgespielt und gesehen, dass die genpage serendipity_printCommentsByAuthor(); über /serendipity/comments/john aufruft. Da funktioniert der Patch natürlich nicht mehr, da es kein scope=parent oder root gibt. Dieser Fehler tritt allerdings auch schon mit 1.6.1 auf und $entry.author ist nicht available!
Da müssten wir wahrscheinlich schon in der genpage ein paar $entry vars mitliefern...
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by garvinhicking »

Hi!

Stimmt, ich erinnere mich dunkel. Gut erkannt; damals fand ich das nicht soo wichtig und wusste auch keine spontane Lösung. Das können wir also für die 2.0 hinten an stellen.

Aus meiner Sicht könnten wir gerne nun den 1.7-rc2 releasen, wie seht ihr das? Ich hätte dafür evtl morgen oder Mittwoch abend Zeit (heute auf keinen Fall).

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/
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: 2k11 und Kommentare vom Autor

Post by Timbalu »

Code: Select all

{assign var="foo" value=$bar scope="root"}
ist besser (assign a variable to root of the current root tree) - da alle anderen S9y-Smarty Variablen sich auch als scope root definieren.

Oder u.U. sogar

Code: Select all

{assign var="foo" value=$bar scope="global"}
(A global variable is seen by all templates)

Letzteres hilft natürlich nicht für comments_by_authors.tpl.

Deshalb wohl lieber "root" (also etwas unschärfer) und besser auch mit quotes. Vielleicht solltest du das noch im commit korrigieren. Sorry.

Edit:
for proper propagation of $entry to sub-templates.
...stimmt natürlich nicht ganz, denn für Smarty wäre es - genau genommen - genau umgekehrt. Nur im Serendipity Sinne ist es ein Sub-Template.
Vielleicht sollte man lieber "extending" oder "dependent" templates sagen, damit das auch später noch verstanden wird, wenn wir möglicherweise auf die Vererbungsmatrix von Smarty umstellen.

Wenn all das geklärt ist : GO! :wink:
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by garvinhicking »

Hi!

Hm, könnte es dann evtl Konflikte geben wenn andere .tpls auch eine $entry variable nutzen, und sich dann etwas überschreibt?

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/
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: 2k11 und Kommentare vom Autor

Post by Timbalu »

Das wage ich nicht zu beantworten, da ich mit der Vererbung und template inheritance in Smarty auch noch etwas am Anfang stehe. das "parent" funktioniert ja völlig ok, also kann man das auch so lassen. Ich kam nur drauf, da das smarty debug popup ansonsten alle gelieferten Variable als scope="root" definiert.
Die quotes wären trotzdem sauberer.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by garvinhicking »

Hi!

Wenn Du oder jemand die quotes ändern magst in 1.7, 2.0 und spartacus inkl. der anweisungen im upgrader, dann sehr gerne. Ich denke auch dass das sauberer wäre. Ich hatte das nur per Copy&Paste von Dir übernommen, daher kam das. :)
# 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/
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by yellowled »

garvinhicking wrote:Wenn Du oder jemand die quotes ändern magst in 1.7, 2.0 und spartacus inkl. der anweisungen im upgrader, dann sehr gerne.
Erledigt.

YL
mattsches
Regular
Posts: 440
Joined: Sat Nov 05, 2005 9:35 pm
Location: Wiesbaden, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by mattsches »

Ich weiß nicht genau, ob ich das Problem in der comments_by_author.tpl richtig verstanden habe, aber: Könnte es folgendermaßen gelöst werden?

Code: Select all

/** comments_by_author.tpl */
<article class="clearfix serendipity_entry{if $entry_comments.entryauthor == $entry_comments.author} serendipity_comment_author_self{/if}">
und

Code: Select all

/** /include/functions_comments.inc.php */
function serendipity_fetchComments(...) {
    /** ....... */
    $query = "SELECT $distinct
                    co.id,
                    co.entry_id, co.timestamp, co.title AS ctitle, co.email, co.url, co.ip, co.body, co.type, co.subscribed,
                    co.author,
                    e.title,
                    e.timestamp AS entrytimestamp,
                    e.id AS entryid,
                    e.authorid,
                    e.author as entryauthor, // <--- NEU!!
                    co.id AS commentid,
                    co.parent_id AS parent_id,
                    co.status
              FROM
                    {$serendipity['dbPrefix']}comments AS co
                    LEFT JOIN {$serendipity['dbPrefix']}entries AS e ON (co.entry_id = e.id)
              WHERE co.type LIKE '" . $type . "' AND co.entry_id > 0 $and
              $group
              ORDER BY
                    " . (empty($order) ? 'co.id' : $order) . "
                    $limit";
    $comments = serendipity_db_query($query, false, 'assoc');
Das bringt uns natürlich immer noch nicht die kompletten $entry-Daten im Subtemplate, aber dafür weiß ich gerade auch keine Lösung. Für diesen einen Fall ist der komplette Entry aber nicht so wichtig.

In der comments Tabelle werden halt Kommentatoren nur über ihren Namen vermerkt, nicht über ihre ID (falls eingeloggt); hat mich schon immer gestört, weil so im Prinzip jeder in meinem Namen Kommentare veröffentlichen kann, aber ist nunmal so :wink:
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: 2k11 und Kommentare vom Autor

Post by Timbalu »

Kann ich dir so auf die Schnelle nicht sagen..., was soll das genau tun?

In https://github.com/s9y/Serendipity/issues/17 wird beschrieben, dass es in der genpage serendipity_printCommentsByAuthor() function noch keinen smarty entry scope gibt, wenn dies aufgerufen wird, so dass (eigentlich?) ein eigener Scope, also Abfrage, Instanzierung und Assign für diesen Fall geschaffen werden müsste. Das erscheint viel Overhead für diese kleine Situation, so dass es vielleicht eher Sinn machen würde, den Aufruf von serendipity_printCommentsByAuthor() soweit nach "unten" zu verschieben, das Smarty zwischenzeitlich instanziert worden ist und man auf das assignte $entry per scope parent im tpl zugreifen kann...
Oder es ist vielleicht sogar einfacher und man bräuchte nur eine eigene entry db Abfrage in serendipity_printCommentsByAuthor() einbauen und dann Smarty assignen. Ich kann gerade nicht mehr sagen, welcher Weg da gangbar ist...
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: 2k11 und Kommentare vom Autor

Post by garvinhicking »

Hi!

Mattsches Lösung für zumindest diese eine Variable halte ich für pragmatisch und simpel, ich denke das könnte man schon gut einbasteln.

Zur eigentlichen Struktur, da bin ich leider gerade so wenig drin, dazu kann ich kein gutes Statement abliefern wie man $entry da am praktikabelsten reinbekäme.
# 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/
Post Reply