Liste aller Autoren (aber nicht in sidebar!)
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
Liste aller Autoren (aber nicht in sidebar!)
Hallo,
gibt es eine Möglichkeit, sich alle Autoren aufzulisten, aber nicht permanent in der Sidebar sondern auf einer speziellen Seite?
gibt es eine Möglichkeit, sich alle Autoren aufzulisten, aber nicht permanent in der Sidebar sondern auf einer speziellen Seite?
Ciao, Stephan
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Liste aller Autoren (aber nicht in sidebar!)
Hi!
Derzeit gibt es dafür kein Plugin. Man müsste jedoch lediglich z.B. in ein staticpage smarty template einen showPlugin Smarty-Aufruf einfügen, der das Sidebar-Plugin einfach im Content-Bereich ausgibt. Das wäre also ohne wirkliches Coding machbar.
Der andere Weg wäre natürlich, ein Event-Plugin zu entwickeln, was eigenständig ähnliches tut. IMHO tut das abern icht so Not, ich finde die Seitenleisten-Liste schon recht praktisch und würde mir eine eigene Content-Seite dafür eher nur in Ausnahmefällen nutzen?
Viele Grüße,
Garvin
Derzeit gibt es dafür kein Plugin. Man müsste jedoch lediglich z.B. in ein staticpage smarty template einen showPlugin Smarty-Aufruf einfügen, der das Sidebar-Plugin einfach im Content-Bereich ausgibt. Das wäre also ohne wirkliches Coding machbar.
Der andere Weg wäre natürlich, ein Event-Plugin zu entwickeln, was eigenständig ähnliches tut. IMHO tut das abern icht so Not, ich finde die Seitenleisten-Liste schon recht praktisch und würde mir eine eigene Content-Seite dafür eher nur in Ausnahmefällen nutzen?
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/
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
Re: Liste aller Autoren (aber nicht in sidebar!)
Hm, ich hatte mich schon daran versucht, aber das was ich mir da "ausgedacht" hatte, wollte nicht wirklich so wie ich.garvinhicking wrote:Derzeit gibt es dafür kein Plugin. Man müsste jedoch lediglich z.B. in ein staticpage smarty template einen showPlugin Smarty-Aufruf einfügen, der das Sidebar-Plugin einfach im Content-Bereich ausgibt. Das wäre also ohne wirkliches Coding machbar.
Ciao, Stephan
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Liste aller Autoren (aber nicht in sidebar!)
Hi!
Was hast Du dir denn ausgedacht?
http://www.s9y.org/78.html:
in einem staticpage .tpl müsste schon funktionieren?
Viele Grüße,
Garvin
Was hast Du dir denn ausgedacht?
http://www.s9y.org/78.html:
Code: Select all
{serendipity_showPlugin class="serendipity_authors_plugin" }
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/
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
hm, ach so meinst Du das.
Hm, das bringt aber wirklich das gesamt Plugin mit allem Drumherum mitten in die Seite - das sieht nicht so wirklich berauschend aus.
Ich hatte halt versucht, eine neue smarty-Funktion zu registrieren, um dann sowas schreiben zu können wie in:
und dann das ganze als einfache Liste oder so per tpl zu präsentieren.
aber ich bin wohl an etlichen Dingen gescheitert:
welchen hook nehmen
irgendwie hat das auch mit dem smarty-registrieren nicht geklappt etc.
Hm, das bringt aber wirklich das gesamt Plugin mit allem Drumherum mitten in die Seite - das sieht nicht so wirklich berauschend aus.
Ich hatte halt versucht, eine neue smarty-Funktion zu registrieren, um dann sowas schreiben zu können wie in:
Code: Select all
{serendipity_fetchPrintEntries category=$staticpage_rss_category_id template="static-entries.tpl" limit=6 noSticky="true"}aber ich bin wohl an etlichen Dingen gescheitert:
welchen hook nehmen
irgendwie hat das auch mit dem smarty-registrieren nicht geklappt etc.
Ciao, Stephan
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Was meinst Du mit "das gesamte plugin mit allem drumherum"?
Grüße,
Garvin
Was meinst Du mit "das gesamte plugin mit allem drumherum"?
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/
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Achso, Du willst also NICHT einfach die Ausgabe der Seitenleiste haben, sondern etwas optisch anderes. Das hättest Du dazu sagen müssen.
Dafür müsstest du dann ein eigenes Event-Plugin entwickeln, dass auf die quasi selben Funktionen wie das Seitenleisten-Plugin zugreift. Ein gutes Beispiel welche Hooks Du nehmen musst um sowas auszugeben wäre das wrapurl event plugin; das gibt auf der seite auch einfach HTML Code aus; dort kannst Du stattdessen dann die Ausgabe des Seitenleisten-Plugins einsetzen.
Zweite Möglichkeit für Dich wäre, dass Du das Autoren-Seitenleisten-Plugin anpasst und duplizierst. Das passt Du dann so an, dass es anders heißt und die "plugin_categories2.tpl" Smarty-Datei stattdessen benutzt. Dann kannst Du dieses Smarty-TEmplate so anpassen dass "Alle Autoren "etc. nicht vorhanden ist, und dann läösst Du dir die Ausgabe dieses Plugins anzeigen anstelle des Originals.
Viele Grüße,
Garvin
Achso, Du willst also NICHT einfach die Ausgabe der Seitenleiste haben, sondern etwas optisch anderes. Das hättest Du dazu sagen müssen.
Dafür müsstest du dann ein eigenes Event-Plugin entwickeln, dass auf die quasi selben Funktionen wie das Seitenleisten-Plugin zugreift. Ein gutes Beispiel welche Hooks Du nehmen musst um sowas auszugeben wäre das wrapurl event plugin; das gibt auf der seite auch einfach HTML Code aus; dort kannst Du stattdessen dann die Ausgabe des Seitenleisten-Plugins einsetzen.
Zweite Möglichkeit für Dich wäre, dass Du das Autoren-Seitenleisten-Plugin anpasst und duplizierst. Das passt Du dann so an, dass es anders heißt und die "plugin_categories2.tpl" Smarty-Datei stattdessen benutzt. Dann kannst Du dieses Smarty-TEmplate so anpassen dass "Alle Autoren "etc. nicht vorhanden ist, und dann läösst Du dir die Ausgabe dieses Plugins anzeigen anstelle des Originals.
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/
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
dann werde ich mir mal was eigenes daraus basteln ...
... dabei fällt mir auch:
WOFÜR braucht s9y DREI Plugins, deren Kernaufgabe die Auflistung der Autoren in der Seitenleiste ist?
Das userprofiles-Plugin schafft ja noch Mehrwert durch die User-Profile, die ja auch als event-plugin was macht (Profil in der Auflistung aller Artikel eines Autors). Aber die anderen? Die unterscheiden sich im Layout (einmal mit XML und der Möglichkeit mehrere Autoren anzukreuzen) und einmal ohne dies, dafür dann einmal nach Autorennamen sortiert und einmal nach Autoren-ID.
... dabei fällt mir auch:
WOFÜR braucht s9y DREI Plugins, deren Kernaufgabe die Auflistung der Autoren in der Seitenleiste ist?
Das userprofiles-Plugin schafft ja noch Mehrwert durch die User-Profile, die ja auch als event-plugin was macht (Profil in der Auflistung aller Artikel eines Autors). Aber die anderen? Die unterscheiden sich im Layout (einmal mit XML und der Möglichkeit mehrere Autoren anzukreuzen) und einmal ohne dies, dafür dann einmal nach Autorennamen sortiert und einmal nach Autoren-ID.
Ciao, Stephan
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
so, jetzt habe ich gebastelt und ich stehe wieder vorm selben Problem:
this is my code:
und nebenbei: Warum erscheint in meiner Liste der geladenen Plugin [] um den Namen? "[Userlist]"
Code: Select all
Fatal error: Call to a member function on a non-object in e:\anwendungsdaten\easyphp\www\blog2\plugins\serendipity_event_userlist\serendipity_event_userlist.php on line 59this is my code:
Code: Select all
<?php # $Id: serendipity_event_UserList.php, v0.1 2006/10/05
# (c) by Stephan Manske
# Very much copied from the other authors-plugins
#
// Probe for a language include with constants. Still include defines later on, if some constants were missing
$probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php';
if (file_exists($probelang)) {
include $probelang;
}
include_once dirname(__FILE__) . '/lang_en.inc.php';
class serendipity_event_UserList extends serendipity_event {
function introspect(&$propbag) {
global $serendipity;
$propbag->add('name', PLUGIN_EVENT_USERLIST_NAME);
$propbag->add('description', PLUGIN_EVENT_USERLIST_BLAHBLAH);
$propbag->add('event_hooks', array('genpage' => true));
// $propbag->add('configuration', array('headline', 'permalink', 'pagetitle', 'wrapurl', 'height', 'wrapurl_append'));
$propbag->add('author', 'Stephan Manske');
$propbag->add('version', '0.1');
$propbag->add('requirements', array(
'serendipity' => '0.7',
'smarty' => '2.6.7',
'php' => '4.1.0'
));
$propbag->add('groups', array('BACKEND_TEMPLATES'));
$propbag->add('stackable', false);
}
function generate_content(&$title) {
$title = $this->title;
}
function smarty_showUsersByABC ($params, &$smarty) {
global $serendipity;
echo "test serendipity_smarty_fetchPrintEntries";
}
function event_hook($event, &$bag, &$eventData, $addData = null) {
global $serendipity;
$hooks = &$bag->get('event_hooks');
if (isset($hooks[$event])) {
switch($event) {
case 'genpage':
$serendipity['smarty']->register_function('serendipity_UserList_showUsersByABC', 'smarty_showUsersByABC');
return true;
break;
default:
return false;
break;
}
} else {
return false;
}
}
}
und nebenbei: Warum erscheint in meiner Liste der geladenen Plugin [] um den Namen? "[Userlist]"
Ciao, Stephan
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Du greifst auf $serendipity['smarty'] in genapge zu. Da ist das noch nicht vorhanden! So einen Code packst Du am besten in die config.inc.php eines templates. Wenn Du's dringend als plugin haben willst, musst Du erst:
vorher aufrufen.
[] um den Pluginnamen erscheint, weil Du die Member PRoperty "$this->title" nicht mit einem Namen belegt hast, und Du aber in generate_content den $title auf $this->title setzt. Entweder Du entfernst das, oder sorgst dafür dass $this->title" in der klassendefinition oberhalb mit "var $title = 'Blabla'" gesetzt wird.
Viele Grüße,
Garvin
Du greifst auf $serendipity['smarty'] in genapge zu. Da ist das noch nicht vorhanden! So einen Code packst Du am besten in die config.inc.php eines templates. Wenn Du's dringend als plugin haben willst, musst Du erst:
Code: Select all
serendipity_smarty_init($serendipity['plugindata']['smartyvars']);[] um den Pluginnamen erscheint, weil Du die Member PRoperty "$this->title" nicht mit einem Namen belegt hast, und Du aber in generate_content den $title auf $this->title setzt. Entweder Du entfernst das, oder sorgst dafür dass $this->title" in der klassendefinition oberhalb mit "var $title = 'Blabla'" gesetzt wird.
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/
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
Also, wenn ich die function generate_contentgarvinhicking wrote: [] um den Pluginnamen erscheint, weil Du die Member PRoperty "$this->title" nicht mit einem Namen belegt hast, und Du aber in generate_content den $title auf $this->title setzt. Entweder Du entfernst das, oder sorgst dafür dass $this->title" in der klassendefinition oberhalb mit "var $title = 'Blabla'" gesetzt wird.
wegnehme, dann kommt "Sample!"?
Mein Problem: Mein Programmieren mit s9y besteht in großen Teilne aus gucken&nachmachen. Was muß ich machen, damit einfach nur (ist ja auch ein stackable=false-Plugin) der in der lang-Datei definierte Titel auch in der Plugin-Liste erscheint?
Warum reicht denn da nicht das
Code: Select all
$propbag->add('name', PLUGIN_EVENT_USERLIST_NAME);
Code: Select all
class serendipity_event_UserList extends serendipity_event {
var $title = PLUGIN_EVENT_USERLIST_NAME;Ciao, Stephan
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
Aber wie machen das denn dann die anderen Plugins, wie etwa die prev/next-Navigation? Die kann man ja auch als Smarty einbinden!? Das arbeitet allerdings mit "entry_display" als Hook - sollte ich das lieber nehmen?Du greifst auf $serendipity['smarty'] in genapge zu. Da ist das noch nicht vorhanden!
Ich denke, daß das als Plugin einfach sinnvoller ist. Wie ich ja schon oben schrieb, finde ich es eh merkwürdig, daß drei Plugins für mer oder weniger denselben Zeck exisitieren. Zielvorstellung ist für mich daher:So einen Code packst Du am besten in die config.inc.php eines templates. Wenn Du's dringend als plugin haben willst, musst Du erst:
userprofiles-Plugin sollte auf die Profile-Funktion im event-Plugin beschränkt werden - keine Sidebar-Funktion.
Dafür ein Plugin, was per Sidebar und vor allem nach Wunsch konfigurierbar die Autoren ausgibt: mit/ohne rss, mit/ohne "Alle Autoren" und Ankreizkätchen, sortiert nach ABC oder ID.
Und dann ein event-plugin im selben plugin-Paket, daß alle diese Ausgaben auf Wunsch per smarty zuläßt.
Soweit meine Fantasien
So, ich habe das jetzt direkt vor die Plugin-class-Definition gepackt:vorher aufrufen.Code: Select all
serendipity_smarty_init($serendipity['plugindata']['smartyvars']);
Code: Select all
Warning: Smarty error: [in file:e:/anwendungsdaten/easyphp/www/blog2/templates/joseph01/plugin_staticpage_redaktion.tpl line 46]: syntax error: custom function 'serendipity_UserList_showUsersByABC' is not implemented (Smarty_Compiler.class.php, line 798) in e:\anwendungsdaten\easyphp\www\blog2\bundled-libs\Smarty\libs\Smarty.class.php on line 1095Code: Select all
serendipity_smarty_init($serendipity['plugindata']['smartyvars']);
$serendipity['smarty']->register_function('serendipity_UserList_showUsersByABC', 'smarty_showUsersByABC');
Code: Select all
$serendipity['smarty']->register_function('serendipity_UserList_showUsersByABC', '$this->smarty_showUsersByABC');
Ciao, Stephan
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
aaarrrggh
Und jetzt kommt noch ein ganz anderes Problem hinzu:
mit folgendem Code
bekomme ich jetzt die normale Seitenansicht, also nicht nur eine weiße Seite mit dem Fehlercode, aber dafür kommt über der Überschrift jetzt:
Aaaber, und das macht jegliche Fehlersuche SEHR schwierig: Wenn ich jetzt die Seite neu lade, dann ist die Fehlermeldung weg! Erst, wenn ich die tpl-Datei dieser Seite neu speichere, dann kommt einmal der Fehler und dann wieder weg!
Und jetzt kommt noch ein ganz anderes Problem hinzu:
mit folgendem Code
Code: Select all
// case 'genpage':
case 'entry_display':
// serendipity_smarty_init($serendipity['plugindata']['smartyvars']);
$serendipity['smarty']->register_function('serendipity_UserList_showUsersByABC', '$this->smarty_showUsersByABC');
return true;
break;
Code: Select all
Warning: Smarty error: [in file:e:/anwendungsdaten/easyphp/www/blog2/templates/joseph01/plugin_staticpage_redaktion.tpl line 46]: syntax error: custom function 'serendipity_UserList_showUsersByABC' is not implemented (Smarty_Compiler.class.php, line 798) in e:\anwendungsdaten\easyphp\www\blog2\bundled-libs\Smarty\libs\Smarty.class.php on line 1095Ciao, Stephan
-
stm999999999
- Regular
- Posts: 1531
- Joined: Tue Mar 07, 2006 11:25 pm
- Location: Berlin, Germany
- Contact:
ok, gewappnet mit dem Wissen, daß diese Fehlermeldungen nur und ausschließlich beim ersten Aufruf nach einem Neuspeichernd der tpl-Datei zu sehen sind:
Auch bei "genpage" und Deinem smarty_init...
also mit folgendem Code
kommt (einmal) der Fehler:
mitten in der normalen Seitenausgabe 
Auch bei "genpage" und Deinem smarty_init...
also mit folgendem Code
Code: Select all
<?php # $Id: serendipity_event_UserList.php, v0.1 2006/10/05
# (c) by Stephan Manske
# Very much copied from the other authors-plugins
#
// Probe for a language include with constants. Still include defines later on, if some constants were missing
$probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php';
if (file_exists($probelang)) {
include $probelang;
}
include_once dirname(__FILE__) . '/lang_en.inc.php';
class serendipity_event_UserList extends serendipity_event {
var $title = PLUGIN_EVENT_USERLIST_NAME;
function introspect(&$propbag) {
global $serendipity;
$propbag->add('name', PLUGIN_EVENT_USERLIST_NAME);
$propbag->add('description', PLUGIN_EVENT_USERLIST_BLAHBLAH);
$propbag->add('event_hooks', array('genpage' => true));
$propbag->add('author', 'Stephan Manske');
$propbag->add('version', '0.1');
$propbag->add('requirements', array(
'serendipity' => '0.7',
'smarty' => '2.6.7',
'php' => '4.1.0'
));
$propbag->add('groups', array('BACKEND_TEMPLATES'));
$propbag->add('stackable', false);
}
function smarty_showUsersByABC ($params, &$smarty) {
global $serendipity;
echo "test serendipity_smarty_fetchPrintEntries";
}
function event_hook($event, &$bag, &$eventData, $addData = null) {
global $serendipity;
$hooks = &$bag->get('event_hooks');
if (isset($hooks[$event])) {
switch($event) {
case 'genpage':
serendipity_smarty_init($serendipity['plugindata']['smartyvars']);
$serendipity['smarty']->register_function('serendipity_UserList_showUsersByABC', '$this->smarty_showUsersByABC');
return true;
break;
default:
return false;
break;
}
} else {
return false;
}
}
}
Code: Select all
Warning: Smarty error: [in file:e:/anwendungsdaten/easyphp/www/blog2/templates/joseph01/plugin_staticpage_redaktion.tpl line 46]: syntax error: custom function 'serendipity_UserList_showUsersByABC' is not implemented (Smarty_Compiler.class.php, line 798) in e:\anwendungsdaten\easyphp\www\blog2\bundled-libs\Smarty\libs\Smarty.class.php on line 1095Ciao, Stephan
