serendipity_showPlugin funzt nicht bei freetags-Seiten

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
reinhardl
Regular
Posts: 258
Joined: Wed Jun 20, 2007 8:54 am
Location: Germany

serendipity_showPlugin funzt nicht bei freetags-Seiten

Post by reinhardl »

Hallo,
ich habe folgendes Problem in einem Template:

im Template rufe ich vor der Sidebar das serendipity_showPlugin abhängig von einer Variablen auf:

Code: Select all

 {serendipity_showPlugin class="serendipity_plugin_showentries" id="serendipity_plugin_showentries:d97b7f0da57f2b90273ddf5f678234be" side="*" negate="null" }
Das funktioniert auch.

Gehe ich aber auf eine Seite mit "Artikel mit Tag xyz" des freetag plugins, so wird beim Aufruf des showplugins nichts ausgegeben.

Woran kann das wohl liegen?

Danke
reinhardl
Regular
Posts: 258
Joined: Wed Jun 20, 2007 8:54 am
Location: Germany

Re: serendipity_showPlugin funzt nicht bei freetags-Seiten

Post by reinhardl »

... seltsam,
ich dachte ich könnte das umschiffen und mit

Code: Select all

{serendipity_fetchPrintEntries  template="entries_sb.tpl" entryprops="ep_LandInfoSeite='suedafrika'"}
den Eintrag in der sidebar anzeigen, aber auch hier ist es so, dass fetchPrintEntries nicht funktioniert, wenn man auf auf ein Tag des des freetag_plugin klickt und eine Seite angezeigt bekommt. (in meinem Fall wäre das hier "Artikel mit Tag suedafrika").

hat jemand eine Idee was ich falsch mache? :(
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: serendipity_showPlugin funzt nicht bei freetags-Seiten

Post by garvinhicking »

Hi!

Das freetag-plugin setzt intern ein paar Filtervariablen an/um, die hier möglicherweise interferrieren.

Am ehesten tippe ich auf $serendipity['GET']. Könntest Du ggf. mal die ausgeführte SQL-Abfrage debuggen? Am einfachsten wäre es, Du patchst das showentries plugin dafür, und zwar machst du aus:

Code: Select all

$entries     = serendipity_fetchEntries(null, true, $limit, false, false, 'timestamp DESC', '', false, true);
ein:

Code: Select all

$entries     = serendipity_fetchEntries(null, true, $limit, false, false, 'timestamp DESC', '', false, true);
$sql_entries     = serendipity_fetchEntries(null, true, $limit, false, false, 'timestamp DESC', '', false, true, null, null, 'query');

echo "SQL: <pre>" . $sql_entries . "</pre>";
print_r($serendipity['GET']);
LG,
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/
reinhardl
Regular
Posts: 258
Joined: Wed Jun 20, 2007 8:54 am
Location: Germany

Re: serendipity_showPlugin funzt nicht bei freetags-Seiten

Post by reinhardl »

Hallo Garvin :D ,
folgende Ausgabe gibt es nach dem Patch des showentries plugins :

Code: Select all


SELECT 
                    e.isdraft AS orderkey,

                    e.id,
                    e.title,
                    e.timestamp,
                    e.comments,
                    e.exflag,
                    e.authorid,
                    e.trackbacks,
                    e.isdraft,
                    e.allow_comments,
                    e.last_modified,

                    a.realname AS author,
                    a.username AS loginname,
                    a.email
                     , e.body, e.extended
                     
                FROM
                    serendipity_entries AS e
                    LEFT JOIN serendipity_authors a
                        ON e.authorid = a.authorid
                    LEFT JOIN serendipity_entrycat ec
                        ON e.id = ec.entryid
                    LEFT JOIN serendipity_category c
                        ON ec.categoryid = c.categoryid
                     LEFT OUTER JOIN serendipity_entryproperties ep_access
                                              ON (e.id = ep_access.entryid AND ep_access.property = 'ep_access')INNER JOIN serendipity_entrytags AS entrytags ON (e.id = entrytags.entryid) 
                    WHERE isdraft = 'false' AND (( (c.category_left  BETWEEN 76 AND 77))) AND  (ep_access.property IS NULL OR ep_access.value = 'member' OR ep_access.value = 'public' OR (ep_access.value = 'private' AND e.authorid = 1))   AND entrytags.tag = _utf8  'koh chang' COLLATE utf8_general_ci 
                     GROUP BY e.id
                     
                     ORDER BY orderkey DESC, timestamp DESC
                      LIMIT 0, 1
und

Code: Select all


Array ( [action] => [adminAction] => [subpage] => tag/koh+chang [page] => 0 [category] => 45 )
LG
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: serendipity_showPlugin funzt nicht bei freetags-Seiten

Post by garvinhicking »

Hi!

Die SQL-Bedingungen, kannst Du die lesen? Syntaktisch schaut es ja richtig aus, man sieht halt auch dass nur Einträge mit dem entsprechenden Tag gesucht werden. Ist das evtl nicht, was Du willst? Dann müsstest Du nämlich ggf. ein eigenes Plugin nutzen oder man müsste schauen dass man via Parameter die entrytags-Bedingung rausnimmt...

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/
reinhardl
Regular
Posts: 258
Joined: Wed Jun 20, 2007 8:54 am
Location: Germany

Re: serendipity_showPlugin funzt nicht bei freetags-Seiten

Post by reinhardl »

hmm...
eigentlich möchte ich in der Seitenleiste eine bestimmtes Seite zusätzlich ausgeben, wenn eine smarty Variable einen bestimmten Wert hat. Hast Du vielleicht eine Idee, warum serendipity_fetchPrintEntries bei Seiten des freetag plugins nicht funktionieren? Da kommt garnichts ... bei anderen Seiten funktioniert fetchPrintEntries wie gewollt.

Grüße
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: serendipity_showPlugin funzt nicht bei freetags-Seiten

Post by garvinhicking »

Hi!

Freetag setzt halt bei Aufruf der URL den Kontext der Einträge auf Seiten mit diesem Tag; wenn deine Seite das Tag nicht enthält, schlägt das fehl. Liegt es daran?

Man müsste dann vermutlich das freetag plugin erweitern oder anpassen damit die SQL-Bedingungen in dem Fall nicht ausgeführt werden. Ggf. hilft es wenn Du dem smarty {fetchprintentries} mal den Parameter skip_smarty_hooks=true mitgibst um das zu verhindern?

LG,
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/
Post Reply