CustomField für statische Seiten?

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

stm999999999 wrote: BTW warum eigentlich "RSS category"?
Weil das eine Kategorie von den RSS-Feeds ist?
aber in erster Linie doch schlicht eine "Blog-Kategorie" oder? :) Mit RSS hat das ja nicht direkt was zu tun.

Deshalb würde ich auch die Variablen, die Dein Plugin bereitstellt, anders nennen: nicht $staticpage_rss_entries sondern $staticpage_category_entries oder so.
stm999999999 wrote:Könnten auch andere Teile Informationen als nur Titel und Datum eingebracht werden? Also zB $rss_entry.body?
Ich habe body nicht mit ausgegeben, weil ich diese Daten für überflüssig hielt. Wenn du die brauchst, mache ich die mit rein.
Ich meinte weniger, die konkrete Ausgabe in Deinem tpl (ich bastel mir am Ende eh eigene, weil da noch ein paar individuelle Wünsche da sind). Es geht mir mehr darum, welche Datenfelder der einzelnen Einträge Dein Plugin zur Verfügung stellt. Weil etwa $rss_entry.body nicht funktioniert.
Ciao, Stephan
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

Hm. Komisch. Das Problem hatte ich zwischendurch. Wenn ich die Query zurückgebe ist diese richtig, aber die Daten die ich bekomme sind falsch. Ich muss nochmal genauer schauen woran das liegt. Evtl. muss hier Garvin mal ran.
In Zeile 999

Code: Select all

$serendipity['GET']['categoryid'] = $this->get_static('rss_category_id');
neu:

Code: Select all

$serendipity['GET']['category'] = $this->get_static('rss_category_id');
Ciao, Stephan
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

ein Problem gab es noch:

Auf der Frontpage sollen natürlich Artikel aus allen Kategorien erscheinen. Bislang kam da nix. Mit folgender Änderung ab Zeile 996:

Code: Select all

$rss_entries = null;
            if ($this->get_static('rss_category_id') >= 0) {
	            if ($this->get_static('rss_category_id') > 0) {
	                $serendipity['GET']['category'] = $this->get_static('rss_category_id');
				}
                $select_key = "ep_sticky.value AS orderkey, e.id, e.title, e.timestamp";
Ach und nochwas: Irgendwie sollte sich einstellen lassen, wieviele Einträge man anzeigen lassen will. Sinnvollerweise pro statischer Seite.
Ciao, Stephan
falk
Regular
Posts: 512
Joined: Tue Sep 27, 2005 10:16 am
Location: DD
Contact:

Post by falk »

Hallo,

okay, ich werde die rss_category umbenennen. Auch die Patches werden eingespielt. Danke. Ich hoffe morgen kannst du die 3.36.3 ziehen.

Ich werde dir noch "body" zur Verfügung stellen.

Tschau,

Falk
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

Gibt es Probleme? Ich sehe nur die 3.36.2?
Ciao, Stephan
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

Ich spiele gerade mit {serendipity_fetchPrintEntries} herum. Es scheint mir da einen anderen Weg zu geben, anstatt das staticpage-plugin weiter aufzubohren:

Mit {serendipity_fetchPrintEntries} bekomme ich ja auch die Einträge - eigenartigerweise bekomme ich in den statischen Seiten sogar die "richtigen", sprich zur eingestellten rss-Kategorie, wenn ich nicht mittels "category=x" etwas spezielles angeben. Aber es kommen halt die kompletten Einträge ... aber das läßt sich ja ändern ...

Also, folgendes scheint zu funktionieren: Dein Staticpage-Plugin stellt einzig und allein die Variable {$staticpage_rss_category_id} zur Verfügung.

In die static-page schreibe ich dann:

Code: Select all

{serendipity_fetchPrintEntries category=$staticpage_rss_category_id template="static-entries.tpl" limit=4 noSticky="true"}
Das ersetzt komplett Dein

Code: Select all

{if is_array($staticpage_rss_entries)}
<ul>
{foreach from=$staticpage_rss_entries item=rss_entry}
<li><a href="{$rss_entry.link}">{$rss_entry.title} ({$rss_entry.timestamp|date_format:"%Y-%m-%d"})</a><br />{$rss_entry.body}</li>
{/foreach}
</ul>
{/if}
Damit stehen dann alle entry-Attribute zur Verfügung und werden mittels der neuen static-entries.tpl so ausgegeben, wie ich es haben will.

zb eine reine Auflistung, so wie es Dein Code macht:

Code: Select all

<!-- ENTRIES START -->

{if $entries}
aktuelle Artikel:

<ul>
    {foreach from=$entries item="dategroup"}
            {foreach from=$dategroup.entries item="entry"}
			<li>
			<div>
        		({$dategroup.date|date_format:"%d.%m.%Y"}) <a href="{$entry.link}">{$entry.title|@default:$entry.id}</a> 
			</div>
		
			</li>
            {/foreach}
   {/foreach}
</ul>

<a href="{$serendipityBaseURL}index.php?frontpage">weitere Artikel</a><br />

{/if}
<!-- ENTRIES END -->
(hier für die statische Frontseite)

oder mit einem Kurzanriß des body-Textes:

Code: Select all

<!-- ENTRIES START -->

{if $entries}
aktuelle Artikel:

<ul>
    {foreach from=$entries item="dategroup"}
            {foreach from=$dategroup.entries item="entry"}
			<li>
			<div>
        		({$dategroup.date|date_format:"%d.%m.%Y"}) <a href="{$entry.link}">{$entry.title|@default:$entry.id}</a>
			</div>
            <div>
                {$entry.body|truncate:160:' ...'}
            </div>
			</li>
            {/foreach}
   {/foreach}
</ul>

		

<a href="{$serendipityBaseURL}categories/{$staticpage_rss_category_id}-x">ältere Artikel</a><br />

{/if}
<!-- ENTRIES END -->
Gewußt wie! :-) Habe ich eigentlich schon mal erwähnt, das s9y super ist? :-)

Du kannst dann eigentlich Deinen kompletten neuen Code mit Ausnahme der Kategorie-Variable wieder rausnehmen. ;-)
Ciao, Stephan
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

Und was jetzt noch wirklich tool wäre:

Wenn man jeder Kategorie eine statische Seite zuordnen könnte, genauso, wie Du jetzt dankenswerterweise(!) dafür gesorgt hast, daß man jeder statischen Seite eine Kategorie zuordnen kann.

Hintergrund:

Wenn ich über die statische Seite via "weitere Artikel" zur zugeordneten Kategorie gewechselt bin, dann würde ich dem Nutzer auch gerne ermöglichen, wieder zurück zur statischen Seite zu kommen. Dazu - denke ich - brauche ich aber für jede Kategorie hinterlegt, welche statische Seite zugehörig ist.
Ciao, Stephan
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Dafür könnte man sicher halbwegs einfach das "erweiterte eigenschaften für kategorien" zur hand nehmen. Den Teil der Kategorieneiugenschaften erweitert könnte auch ins staticpage plugin eingebunden werden; da weiß ich nicht, in welchen plugin man das am sinnvollsten einbauen könnte.

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/
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

In die erweiterten EIgenschaften würde das sicher gut reinpassen. Allerdings macht die Eigenschaft "zur Kategorie zugehörige statische Seite" keinen richtigen Sinn, wenn man nicht auch das plugin "statische Seiten" benutzt. Von daher würde ich es eher dort reinbauen. Denke ich.
Ciao, Stephan
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

So, ich habe da gestern mal dran "gebastelt" - zumindestens bei mir läuft es nun. Ich werde es nochmal etwas mehr dokumentieren und dann hier für Falk deponieren - es sollte sich aber nochmal jemand angucken, ob das wirklich guter Code ist. Und ich brauche noch den Code-Teil, der die nötige sql-Tabelle erstellt.
Ciao, Stephan
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

So, hier nun die (hoffentlich verarbeitbaren) diffs jeweils zu v3.36.2:

serendipity_event_staticpage.php.diff
http://nopaste.php-q.net/239053

ChangeLog.txt.diff
http://nopaste.php-q.net/239054

lang_de.inc.php.diff
http://nopaste.php-q.net/239055

lang_en.inc.php.diff
http://nopaste.php-q.net/239057

Smarty_and_CSS_Tags.txt.diff
http://nopaste.php-q.net/239058

UTF-8-lang_de.inc.php.diff
http://nopaste.php-q.net/239059

Es gibt zum einen - wie auch im source-code beschrieben - ein Problem, wenn eine Kategorie gelöscht wird, dann werden noch nicht die zugehörigen Verknüpfungseinträge in der neuen Tabelle gelöscht.

Zum anderen habe ich es nicht wirklich verstanden, wie ich via plugin-code die sql-tabelle erzeugen kann, wenn jemand das Plugin installiert/updatet. Bisher habe ich es manuell per myphpadmin gemacht.

Es muß folgende Tabelle erstellt werden:

CREATE TABLE `xxx_staticpage_categorypage` (
`categoryid` int(4) default '0',
`staticpage_categorypage` int(4) default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Ciao, Stephan
falk
Regular
Posts: 512
Joined: Tue Sep 27, 2005 10:16 am
Location: DD
Contact:

Post by falk »

Hallo,

ja, es gab einige private Probleme, angefangen von plötzlich extern erzeugter Frustration über selbst verordneter Ruhe bis zum LMAA-Gefühl.

Ich werde deine Diffs einbauen. Ich setzte mich heute Abend hin, egal wie spät es ist und schreibe diese Dinge in das Plugin. Morgen wird eine Version 3.36.3 zur Verfügung stehen, egal wie lange es dauert.

Vielen Dank für dein intensives Erkunden des Plugins.

Tschau,

Falk
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Ein Hoch auf Falk. Danke für deine konstante Bemühung am Plugin, auch wenn ich das nicht explizit jedesmal in meinen Mails an Dich erwähne. *g*

Ich hoffe die privaten Probleme sind nicht so wirklich schlimm, und die Frustration überwunden. Wo es Schatten gibt, muss auch Licht sein. ;)

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/
falk
Regular
Posts: 512
Joined: Tue Sep 27, 2005 10:16 am
Location: DD
Contact:

Post by falk »

garvinhicking wrote:Hi!

Ein Hoch auf Falk. Danke für deine konstante Bemühung am Plugin, auch wenn ich das nicht explizit jedesmal in meinen Mails an Dich erwähne. *g*

Ich hoffe die privaten Probleme sind nicht so wirklich schlimm, und die Frustration überwunden. Wo es Schatten gibt, muss auch Licht sein. ;)

Viele Grüße,
Garvin
Vielen Dank für deine Aufmunterung. Aber bis zur Depression ist es noch nicht. Habe ich noch gesagt? ;-)
stm999999999
Regular
Posts: 1531
Joined: Tue Mar 07, 2006 11:25 pm
Location: Berlin, Germany
Contact:

Post by stm999999999 »

falk wrote:
Ich werde deine Diffs einbauen. Ich setzte mich heute Abend hin, egal wie spät es ist und schreibe diese Dinge in das Plugin. Morgen wird eine Version 3.36.3 zur Verfügung stehen, egal wie lange es dauert.
Hey, bloß keine unnötige Eile! (Bei mir funktioniert es ja :-))

Im Ernst, mach Dir bloß keinen Streß damit! Im Gegentum: Danke für Deine Arbeit!

Und BTW, denkt bitte an mein Geschriebenes von oben:
es sollte sich aber nochmal jemand angucken, ob das wirklich guter Code ist.

[...]

Es gibt zum einen - wie auch im source-code beschrieben - ein Problem, wenn eine Kategorie gelöscht wird, dann werden noch nicht die zugehörigen Verknüpfungseinträge in der neuen Tabelle gelöscht.

Zum anderen habe ich es nicht wirklich verstanden, wie ich via plugin-code die sql-tabelle erzeugen kann, wenn jemand das Plugin installiert/updatet. Bisher habe ich es manuell per myphpadmin gemacht.
Ciao, Stephan
Post Reply