The Serendipity Handbook

You can now read the (german) handbook here: PDF - https://github.com/s9y/Book (LaTeX source).

Forum-Information

Before posting about errors, make sure that the answer cannot already be found in our FAQ or by searching this forum!
Posting is restricted to registered users (registering is free and simple!) due to recent spam attacks. When having trouble with this board, contact garvin(-at)s9y(-dot)org.

Board index Generelles in Deutsch Ähnliche Themen Plugin

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Nesti
Regular
 
Posts: 25
Joined: Fri May 11, 2007 3:33 pm

Postby Nesti » Sat Sep 22, 2007 3:37 pm

Hi,

ich habe 2 Fragen zu dem "Ähnliche Themen" Plugin, hab zwar einiges selber probiert doch leider hat bis jetzt nichts funktioniert.

1. Ist es irgendwie möglich die Ähnlichen Themen auf der Startseite unter einem Eintrag einzubauen?
Sie werden ja nur angezeigt wenn man auf den Eintrag klickt, also nur auf der Kommentar-Seite usw. Ich würde sie jedoch gerne auf der Startseite anlegen. Ist das irgendwie möglich?


2. Ähnliche Themen auch in den Statische Seiten?
Kann man dieses Plugin auch irgendwie für die statischen Seiten nutzen? Da ich viele Seiten nutze, ist es sehr aufwendig das alles per Hand zu machen. :oops:


Danke und beste Grüße
Nesti

User avatar
garvinhicking
Core Developer
 
Posts: 28954
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany

Postby garvinhicking » Sun Sep 23, 2007 11:57 am

Hi!

1. Ja. Stelle dazu im Plugin ein, dass Du Smarty zur Positionierung nutzen willst. Dann editierst Du die entries.tpl datei deines templates, und packst {$RELATEDLINKS} an die Stelle, wo Du es gerne hättest.

2. Nein, das geht nicht, da das Plugin auf die Datenbankspalten der Einträge hin programmiet ist. Dafür müsste man das Plugin komplett mit anderem Code erweitern, der auch bei statischen Seiten ausgeführt wird.

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/

Nesti
Regular
 
Posts: 25
Joined: Fri May 11, 2007 3:33 pm

Postby Nesti » Sun Sep 23, 2007 4:22 pm

Hallo Garvin,

danke für deine Antwort!

Ein Problemchen hab ich leider noch, welches Plugin ist es denn? Da bei mir nur der "Freie Artikel Tags" Plugin in Frage kommt, bei dem finde ich aber keine Einstellungsmöglichkeiten?

Beste Grüße
Nesti

User avatar
garvinhicking
Core Developer
 
Posts: 28954
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany

Postby garvinhicking » Sun Sep 23, 2007 7:41 pm

Hi!

Wie, was meinst Du? Du hast doch vom Plugin "Verwandte Artikel" (Ähnliche Themen oder wie auch immer) gesprochen?!? Was hat das mit dem Tagging-Plugin zu tun?

Grüßew,
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/

stm999999999
Regular
 
Posts: 1517
Joined: Wed Mar 08, 2006 12:25 am
Location: Berlin, Germany

Postby stm999999999 » Mon Sep 24, 2007 1:43 am

Auch die Freetags bieten einen "verwandte Artikel"-Block, eben auf Basis übereinstimmender Tags.

Nicht zu verwechseln mit dem Plugin, mit dem man manuell "verwandte" Artikel ein- und ausgeben kann.
Ciao, Stephan

User avatar
garvinhicking
Core Developer
 
Posts: 28954
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany

Postby garvinhicking » Thu Sep 27, 2007 1:45 pm

Hi!

Aaah, achso. Da habe ich wohl Plugins verwechselt.

Beim Freetag plugin geht es leider nicht, die verwandten Einträge direkt auf der Startseite anzuzeigen, ohne den PHP-Code des Plugins anzupassen. Aus Performancegründen wird das immer nur für einen einzelnen Artikel gemacht, das bereits in der Übersicht zu machen würde für sehr viel Datenbanklast sorgen. Ich würde also stark empfehlen, darauf lieber zu verzichten?

Wenn es denn garnicht anders geht, müsste man sich die serendipity_event_freetag.php zur Brust nehmen und den Code

Code: Select all
            for ($i = 0; $i < $elements; $i++) {
               if (empty($eventData[$i]['properties']['freetag_tags'])) {
                    continue;
                }


(ungefähr zeile 968) ändern in:

Code: Select all
            for ($i = 0; $i < $elements; $i++) {
               if (empty($eventData[$i]['properties']['freetag_tags'])) {
                    continue;
                }
                    $passvar = $this->getRelatedEntries($eventData[$i]['properties']['freetag_tags'], $eventData[$i]['id']);
                    if (is_array($passvar)) {
                        $eventData[$i]['related_entries'] .= $this->getRelatedEntriesHtml($passvar);
                    }
   
                    if (!isset($eventData[$i]['add_footer'])) {
                        $eventData[$i]['add_footer'] = '';
                    }


Dann kann man in seiner entries.tpl die Variable {$entry.related_entries} da platzieren wo man mag (innerhalb der foreach-schleife).

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/

Nesti
Regular
 
Posts: 25
Joined: Fri May 11, 2007 3:33 pm

Postby Nesti » Wed Oct 17, 2007 7:31 pm

Hallo Garvin,

vielen Dank für die Klasse antwort! Werde das ganze mal am Wochenende testen.

Auf der Startseite/Übersicht wird auch nur ein Text angezeigt, sodass es mit der Performance funktionieren sollte. Aber wie gesagt, werde testen und dann mal berichten :)

Viele Grüße
Nesti

A.Stark
Regular
 
Posts: 28
Joined: Tue Oct 21, 2008 4:17 pm

Postby A.Stark » Tue Feb 03, 2009 8:21 pm

Hallo Garvin,

garvinhicking wrote:(ungefähr zeile 968) ändern in:

Code: Select all
                    $eventData[$i]['related_entries] .=



Gibt Fehler, weil bei ['related_entries] ein Hochkomma am Ende fehlt, also

Code: Select all
$eventData[$i]['related_entries'] .=


Funktioniert bei mir aber leider trotzdem nicht. So sieht bei mir der Abschnitt in der serendipity_event_freetag.php aus:

Code: Select all
$skeys = array();
                for ($i = 0; $i < $elements; $i++) {
                   if (empty($eventData[$i]['properties']['freetag_tags'])) {
                        continue;
                    }
                    $ctags = explode(',', $eventData[$i]['properties']['freetags_tags']);
                    $passvar =& $this->getRelatedEntries($ctags, $eventData[$i]['id']);
                 if (is_array($passvar)) {
                    $eventData[$i]['related_entries'] .= $this->getRelatedEntriesHtml($passvar);
                }
                $cont = sprintf($msg, $this->getTagHtml($eventData[$i]['properties']['freetag_tags']));
                if ($field == 'add_footer') {
                    $skeys[$i] =& $eventData[$i]['add_footer'];
                } elseif ($field == 'freetag') {
                    $skeys[$i] =& $eventData[$i]['freetag'];
                } elseif (strlen($eventData[$i]['extended']) > 0) {
                    $skeys[$i] =& $this->getFieldReference('extended', $eventData[$i]);
                } else {
                    $skeys[$i] =& $this->getFieldReference('body', $eventData[$i]);
                }
                $skeys[$i] .= $cont;
            }


Und so der Abschnitt in meiner entries.tpl

Code: Select all
            <div class="tags">
            {if $entry.categories}
                <p>{$jpost} {$CONST.IN} {foreach from=$entry.categories item="entry_category" name="categories"}<a href="{$entry_category.category_link}">{$entry_category.category_name|@escape}</a>{if not $smarty.foreach.categories.last}, {/if}{/foreach}</p>
            {/if}
            {$entry.freetag}
            {$entry.related_entries}
            </div>


Related-Entries funktioniert normal im Erweiterten Eintrag.
Was kann ich tun?

Grüße, Andreas

User avatar
garvinhicking
Core Developer
 
Posts: 28954
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany

Postby garvinhicking » Wed Feb 04, 2009 12:49 pm

Hi!

Und wenn Du aus $eventData[$i]['related_entries'] ein $eventData[$i]['properties']['related_entries'] machst und dann $entry.properties.related_entries?

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/

A.Stark
Regular
 
Posts: 28
Joined: Tue Oct 21, 2008 4:17 pm

Postby A.Stark » Wed Feb 04, 2009 2:16 pm

Geht leider nicht. Unverändert.

So sieht es jetzt aktuell aus.

Code: Select all
for ($i = 0; $i < $elements; $i++) {
                   if (empty($eventData[$i]['properties']['freetag_tags'])) {
                        continue;
                    }
                    $ctags = explode(',', $eventData[$i]['properties']['freetags_tags']);
                    $passvar =& $this->getRelatedEntries($ctags, $eventData[$i]['id']);
                 if (is_array($passvar)) {
                    $eventData[$i]['properties']['related_entries'] .= $this->getRelatedEntriesHtml($passvar);
                }


entries.tpl
Code: Select all
            {$entry.freetag}
            {$entry.properties.related_entries}
            </div>


lg, Andreas

User avatar
garvinhicking
Core Developer
 
Posts: 28954
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany

Postby garvinhicking » Wed Feb 04, 2009 3:30 pm

Hi!

Okay, da waren zwei Bugs drin. Korrekt muss der einzufügende Teil so lauten (ich hab den ursprünglichen Eintrag korrigiert):

Code: Select all
                    $passvar = $this->getRelatedEntries($eventData[$i]['properties']['freetag_tags'], $eventData[$i]['id']);
                    if (is_array($passvar)) {
                        $eventData[$i]['related_entries'] .= $this->getRelatedEntriesHtml($passvar);
                    }
   
                    if (!isset($eventData[$i]['add_footer'])) {
                        $eventData[$i]['add_footer'] = '';
                    }


Dann $entry.related_entries nutzen.

Habs auch ins offizielle plugin (auskommentiert) eingefügt, damit man es so in zukunft leichter "freischalten" kann.


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/

A.Stark
Regular
 
Posts: 28
Joined: Tue Oct 21, 2008 4:17 pm

Postby A.Stark » Wed Feb 04, 2009 5:38 pm

Hallo Garvin,

alles im grünen Bereich! Klappt super!

Habs auch ins offizielle plugin (auskommentiert) eingefügt, damit man es so in zukunft leichter "freischalten" kann.


Perfekt.

Vielen Dank für Deine Hilfe.

Grüsse, Andreas



Return to Generelles in Deutsch

Who is online

Users browsing this forum: No registered users and 1 guest