Page 1 of 2

[GELÖST] Quotes made Simple - seltsames Verhalten

Posted: Tue Feb 24, 2009 12:57 pm
by antibart
Für einige Sprüche des Tages und einige zufällig wechselnden Anzeigebanner habe ich mich nach einem Tipp hier aus dem Forum für das Modul "Quotes made simple" entschieden (vielleicht gibt es ja ein besseres)...

Wie bei anderen Modulen gibt es auch hier die Möglichkeit, Inhalte in verschiedene Gruppen einzuordnen und jenen eigene Parameter zuzuordnen.

Für mich relevant waren drei Gruppen und die Parameter pickedby='day' und pickedby='random' ... da einige Quotes zufällig auftauchen sollen und einige tageweise.

Zunächst schien das gut zu laufen.

Daher habe ich drei verschiedene Gruppen in mein Template eingefügt:

{Quotes group='datumszitat' pickedby='random'}

{Quotes group='fremdwort' pickedby='day'}

{Quotes group='3' pickedby='day'} (für die Banner)

Problem
Bei einem einzelnen Tag im Template funkionierte es noch. Mehrere scheinen sich aber gegenseitig zu beeinflussen und setzen einige Parameter lahm. "Day" funktioniert nicht mehr, alle Quotes werden zufällig geladen. Gruppe "fremdwort" gibt das gleiche aus wie Gruppe "datumszitat" ... trotz verschiedener Gruppen und Parameter.



Weiß jemand einen Rat oder kann mir ein geeigneteres Modul für zufällige oder zeitgesteuerte Inhalte empfehlen?

BTW (
Es wurde zunächst ausserdem vor jedem Zitat die Gesamtzahl aller Quotes ausgegeben, was aber nicht als Variable im Template steht. In der Datei Quote.module.php fand ich folgendes:

Code: Select all

 function SelectQuote($params) {
      $output=array();
      //$params["quote"]
      $availablequotes=$this->GetQuotes();
      echo count($availablequotes);
      $quotes=array(); 
Löschen der Zeile "echo count($availablequotes);" brachte das gewünschte Ergebnis. Die Quotes wurden ohne Gesamtzahl ausgegeben. Die Modifizierung des Codes scheint aber nicht mit oben genannten Problem zusammenzuhängen.

Re: Quotes made Simple - seltsames Verhalten

Posted: Tue Feb 24, 2009 3:20 pm
by NaN
antibart wrote: ...
{Quotes group='datumszitat' pickedby='random'}
...
Versuchs mal mit dem {cms_module}-Tag:

Code: Select all


{cms_module module="Quotes" group="datumszitat" pickedby="random"}

Scheinbar gibts da mit dem Plugin Probleme.

Re: Quotes made Simple - seltsames Verhalten

Posted: Tue Feb 24, 2009 3:34 pm
by antibart
Danke schon mal ...

Das hatte ich in meiner Verzweiflung eben gerade auch schon probiert (obwohl es anders in der Hilfe steht)  ...das ist es leider nicht...

Ich werde noch ein drittes Mal alle Quotes und Gruppen löschen und ganz neu einrichten. Denn zu Beginn funktionierten zumindest die unteschiedlichen Gruppen - wenn auch ohne richtigen pickedby.

Ich habe zwar keine Tippfehler entdeckt -.. aber das heisst ja nichts ... daher hier noch mal der Quelltext mit den relevanten Stellen... die Gruppen hatte ich zwischendruch neu gemacht und umbenannt (ich glaube mit nachträglichen Änderungen hat er auch so seine Probleme)

Code: Select all

<div id="date">
{current_date format="%A, %d.%m.%Y | %H:%M"} {cms_module module='Quotes' group='datum' pickedby='random'}
</div>
<div id="kontakt-suche">
<div id="kontakt">{global_content name='kontakt'}</div><div id="suche">{search}<div style="clear:both"></div></div></div>

<div id="homelink"><a href="" title="Zur Startseite von nullfünfelf für Studenten in Hannover"> </a></div>
<div id="fremdwort">
{cms_module module='Quotes' group='fremdwort' pickedby='day'}
</div>
<div id="menu01">
{menu template='simple'}</div>
</div>
<div id="back">
<div id="home_midwrapper">
<div class="greyboxes">
<div id="inhalt_oben_links">{content}</div>
<div id="inhalt_oben_rechts">{content block='oben rechts'}</div><div style="clear:both"></div></div>

<div class="greyboxes" style="margin-top:20px;">
<div id="inhalt_unten_links">{content block='unten links'}</div>
<div id="inhalt_unten_rechts">{content block='unten rechts'}</div><div style="clear:both"></div></div></div>
<div id="banner-rechts">{cms_module module='Quotes' group='banner'}</div>

Re: Quotes made Simple - seltsames Verhalten

Posted: Tue Feb 24, 2009 3:53 pm
by nhaack
Vielleicht werden da gleiche Variabelnamen vvom Modul erwendet. Hast du mal versucht die Ausgabe per {Capture} mit jeweils spezifischem Namen abzugreifen und dann erst zu verwenden? Hat das Modul einen assign Parameter?

Nur so ein paar Ideen am Rande.

Beste Grüße
Nils

Re: Quotes made Simple - seltsames Verhalten

Posted: Tue Feb 24, 2009 4:07 pm
by NaN
nhaack wrote:
Vielleicht werden da gleiche Variabelnamen vvom Modul erwendet.
Das hatte ich auch gedacht, allerdings ist es ja jedesmal ein neuer Modulaufruf.
Jeder Modulaufruf bekommt eine eigene ID üder die solche Fehler vermieden werden sollen.
Daher greift man ja im Quellcode bei z.B. input-Feldern nicht direkt auf $_POST oder $_GET Daten zu sondern auf ein Array namens $params welches nur die zum Modulaufruf gehörigen Variablen enthält.
Hab jezt leider nicht die Zeit den Quellcode nach Fehlern zu durchsuchen.

Ist so ein Verhalten denn im Bugreport auf der Modulseite schon gemeldet worden?

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 6:42 am
by antibart
Danke, Ihr Guten....

Ich habe das Problem noch nicht gelöst, bin aber einen großen Schritt weiter.

Es scheint so zu sein, dass die Probleme  nur bei unterschiedlichen picked-Parameterwerten entstehen. Wobei "day" vermutlich das Sorgenkind ist.

Ich habe daher mal verschiedene Tests mit dem pickedby-Parameter duchgeführt, wobei ich auch mal den dritten Parameter "equal" (Zitate werden immer abwechselnd angezeigt) angewendet habe:

Test 1:

Alle:Random
Ergebnis: funktioniert - ist aber nicht im Sinne des Erfiinders, da einige Quotes nur täglich wechseln sollen

Alle: equal
Ergebnis: scheint zu funktionieren

Alle: day
Ergebnis: Nichts wird gezeigt.

Test 2

Datumszitat: random
Fremdwort: day
Banner: day

Ergebnis: Datumszitat und Fremdwort geben beide die Quotes aus "Datumszitat" aus. "Banner" wird zwar korrekt ausgegeben aber der Parameter "day" hat keine Wirkung.

Test 3

Datumszitat: day
Fremdwort: random
Banner: equal

Ergebnis: Datumszitat zeigt gar nichts mehr. Die beiden anderen scheinen zu funktionieren.

Test 4

Alle Gruppen und Quotes gelöscht. Einzelnen Tag ohne Gruppen mit Parameter "day" eingefügt.
Ergebis: geht nicht. Das erstaunt mich besonders. Denn bei meinem ersten Modultest vorgestern ging es noch. Welche "Uhr" benutzt der Parameter? Die Serveruhr? Vielleicht liegt hier der Punkt....

Fazit:
Parameterwert "day" scheint nicht (mehr) zu funktionieren. Ganz böde Idee: vielleicht muss ich 24 Stunden warten, bis er greift :) ... probieren schadet nichts. Oder das ganze Modul noch mal neu installieren.

@nhaak
Ich weiß nicht, ob Dein Vorschlag mit {capture} nach den Erkenntnissen noch Zweck hat, weil ich den tag nicht kenne. Falls ja, könntest Du ihn näher erläutern?

Ansonsten wäre ein alternativer Lösungsansatz (anderes Modul?) wenigstens für das tägliche Zitat auch noch ne Maßnahme. Die anderen beiden dürfen ruhig random oder equal sein....

...

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 7:49 am
by antibart
.. ich habe mittlerweile den Eindruck, dass "die Uhr", also die Ermittlung der Zeit das Problem ist.

Eine Neuinstallation brachte nichts. Vorgestern ging der parameter "day" zumiindest noch beim Schnelltest ohne Gruppen. Heute geht er gar nicht mehr. Meine eigene PC-Uhr spinnt seit einiger zeit (vermutlich die Batterie). Wenn das Modul also für irgendwas die lokale Zeit auf meinem Rechner benötigt, wäre es kein Wunder, wenn es rumspinnt.

Allerdings wird es auf anderen  Rechnern auch nicht richtig dargestellt.

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 9:19 am
by nhaack
Hallo Antibart:

bin etwas kurz angebunden: hier die Idee

{capture assign=var1}{cms_module module="Quotes" group="datumszitat" pickedby="random"}{capture}

{capture assign=var2}{Quotes group='fremdwort' pickedby='day'}{capture}

{capture assign=var3}{Quotes group='3' pickedby='day'}{capture}

Damit liegt das Output des Moduls in den Variabeln var1, var2 und var3 (kannst du natürlich selbst benennen).

Im Capture (der Aufzeichnung des Module Outputs) liegt nun der gesamte Output inkl. Template. Jtezt kannst du in deinem Template an beliebiger Stelle mit  {$var1} den Inhalt einbauen.

Der Vorteil, bevor das nächste mal das Quote Modul ausgeführt wird, ist der Output "sicher verstaut".

Beste Grüße
Nils

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 9:57 am
by antibart
nhaack wrote:

bin etwas kurz angebunden: hier die Idee

Vielen Dank...

Allerding fürchte ich, damit etwas überfordert zu sein. Ich hab im Moment noch keine Idee, wo ich

{capture assign=var1}{cms_module module="Quotes" group="datumszitat" pickedby="random"}{capture}

usw

.. ablegen sollte...

Und wie gesagt: siehe oben .... abgesehen vom Parameterwert "day" funktioniert ja alles...

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 12:46 pm
by nhaack
Hallo Antibart,

vielleicht ist der Capture Befehl auch nicht die Lösung. Ich nutze diesen allerdings für ein paar Tags von mir, die nicht korrekt  funktionieren, wenn ich sie mehrfach pro Seite verwende.

Capture ist im Prinzip eine Aufzeichnung des Output eines Tags/Moduls, etc. Alles was sich in einem Capture-Tag befindet wird erstmal nicht direkt ausgegeben, sondern in einer Variable zwischen-gespeichert. Die Idee ist folgende:

Wenn es bei dem mehrfachen Modulaufruf zu Problemen kommt, führst du die Module quasi gekappselt aus. Die Kapsel heißt dann var1, var2 (in dem Beispiel). Du kannst da eigene Variabel Namen definieren. Den Inhalt der Kapsel kannst du dann mit {$var_name} ausgeben.

Wenn bei dem Modul allerdings der Parameterwert DAY Probleme bereitet und diese Probleme auch bestehen, wenn du das Modul nicht mehrfach verwendest (also nur einmal pro Page) - dann wird dir auch Capture nicht helfen. ;)

Der Ansatz hinter der Idee war halt, dass der mehrfache Aufruf des Modul das Problem provoziert.

Ich benutze die Capture-Funktion sehr oft und gerne. Ist also ein Tip von mir, da mal (bei Gelegenheit) genauer rein zu gucken.

Beste Grüße
Nils

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 1:19 pm
by antibart
nhaack wrote:
Ich benutze die Capture-Funktion sehr oft und gerne. Ist also ein Tip von mir, da mal (bei Gelegenheit) genauer rein zu gucken.
Dank .. nett von Dir ... wenn Du mir noch sagst, WO ich mir das angucken kann, dann könnte ich es auch mal anwenden (Recherchen waren noch nicht aufschlussreich genug). Denn wo ich die "Kapsel" ablege, weiß ich jetzt immer noch nicht. Sorry, aber so weit bin ich mit Smarty noch nicht.

...

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 3:49 pm
by NaN
Na im Template.
Dort wo Du das Quotes Modul aufrufst.

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 3:53 pm
by antibart
Ich habe es so verstanden, dass ich im Template das hier mache:
nhaack wrote: Jtezt kannst du in deinem Template an beliebiger Stelle mit  {$var1} den Inhalt einbauen.
... und der andere Kram kommt woanders hin...

Egal .. für dieses Problem nützt es nichts. Und das ist im Moment wichtiger...  ich werde das Modul margen mal bei einem andern Provider ausprobieren... um auch das ausschließen zu können...

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 4:00 pm
by NaN
antibart wrote:
Welche "Uhr" benutzt der Parameter? Die Serveruhr? Vielleicht liegt hier der Punkt....
Welche denn sonst, wenn das Modul auf dem Server ausgeführt wird ::)

Re: Quotes made Simple - seltsames Verhalten

Posted: Wed Feb 25, 2009 4:11 pm
by antibart
NaN wrote:
Welche denn sonst, wenn das Modul auf dem Server ausgeführt wird ::)
Ich habe keine Ahnung ... zumindest lässt sich ja auch die Zeit auf dem lokalen Rechner ermitteln .. aber  ... ach was weiß denn ich ... Hauptsache ich finde bald irgendeine Lösung. Zur Not bezahl ich jemanden...