[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[gelöst] wöchentlich wechselnder content - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

[gelöst] wöchentlich wechselnder content

31. Jan 2012, 00:47

na tach,

ich suche und suche - weiss aber nicht unbedingt, ob es aehnlich formuliert wurde... mit 'woechentlich wechselnder content' ist gemeint, das man 6-10 unterschiedliche bloecke einpflegt und diese von sonntag auf montag wechselnd rotieren. gefunden habe ich leider nix - hat jemand etwas aehnlich schonmal gemacht/geshen?
ist es verstaendlich ausgedrueckt?

beyben
Zuletzt geändert von beyben am 4. Mär 2012, 14:11, insgesamt 1-mal geändert.

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: wöchentlich wechselnder content

31. Jan 2012, 12:30

Hallo,

also das ist eigentlich recht einfach.
Mit PHP Wochetag auslesen
und jetzt gibt es sich wege wie immer in redaxo :O)
- am einfachsten vielleicht in dem Modul ein dropdown feld einfügen mit den Wochentagen und wenn nichts oder der passende Tag ausgewählt ist anzeigen.
Ist also Heite Dienstag und hast Freitag eingestellt wird dieser block nicht angezeigt.
oder oder oder

Cheffchen

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

31. Jan 2012, 13:19

na hi cheffchen,

hab dank - dachte mir aber, das ich das falsch/schlecht formuliert habe, oder ich den weg nicht sehe - ware ja nicht das erste mal...
es sollen x-bloecke sein, erste woche wird block a angezeigt, zweite woche block b.... der wechsel immer an einem bestimmten tag...

mit slice on/off koennte man das ja haendisch regeln, aber automatisiert stehe ich auf dem schlauch...

beyben

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: wöchentlich wechselnder content

31. Jan 2012, 13:59

Hallo,

habe dich schon verstanden
also machst das wie oben beschrieben das jeden block extra sagst welchen wochentag der sichtbar ist
oder wenn es mehr sind pro tag ist vielleicht besser pro tag ein articel mit n blöcke und startartikel ein teaser der jeden tag nur ein Artikel anzeigt Mo ==Articel2, Do== Articel5.

jetzt hast zwei wege und es gibt bestimmt noch mehr.

Cheffchen

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

31. Jan 2012, 14:15

ok - versuche mich mal daran. bin mir mit meinen beschreibungen nicht immer ganz sicher.
hab dank
ben

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: wöchentlich wechselnder content

31. Jan 2012, 18:38

beyben hat geschrieben:ok - versuche mich mal daran. bin mir mit meinen beschreibungen nicht immer ganz sicher.
Blöcke switchen ist glaub ich das undankbarste.. imho wärs einfacher für die ausgebende Seite ein Modul zu stricken, welches anhand des Wochentages diesen oder jenen Artikel(inhalt) bezieht und ausgibt. Dann kannst du entspannt die einzelnen Tage in einer offline cat als Artikel vorhalten, und bist in selbigen u.a. auch komplett frei bezügl. der Module für deren Inhalt..
vg, Jan

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

31. Jan 2012, 18:48

habt dank - ich glaube aber, ich habe da gerade infos bekommen, die das ganze etwas komplizierter machen. der gestalter hat sich das so gedacht, das unter dem navipunkt 'diese woche' content a, dem navipunkt 'naechste woche' content b erscheint. logischer weise soll dann am sonntag um 00:00 uhr unter 'diese woche' content b und unter 'naechste woche' content c erscheinen, usw. .. :shock: genauso schaue ich gerade aus der waesche.... demnach - so denke ich - muss ich wohl oder uebel ein addon schreiben, bei dem die einzelnen bloecke dann durchwechseln...
jemand ne idee?

ben

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: wöchentlich wechselnder content

31. Jan 2012, 19:04

beyben hat geschrieben:muss ich wohl oder uebel ein addon schreiben, bei dem die einzelnen bloecke dann durchwechseln...
Das klingt jetzt eh so als würde permanent neuer/aktueller content nachgepflegt.. dann macht ein Addon für die Verwaltung imho mehr Sinn als ein Artikel-basierter Ansatz. Bezügl. Addon: von Peter gibts ja was recht passendes.. das (News)Addon-Tutorial..
vg, Jan

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: wöchentlich wechselnder content

31. Jan 2012, 19:24

Ist es denn nun so, dass der Content immer wiederkehrend durchwechselt, oder wird immer neuer nachgepflegt?

Eventuell könnte auch noch das Cronjob-Addon ein Ansatz sein, dort kann man wöchentliche Jobs erstellen, die dann immer von Sonntag auf Montag ausgeführt werden.

Gruß, Gregor
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

31. Jan 2012, 19:32

ok, ok, schaue ich mir an. so wie sich die sache bisher(!) anfuehlt, sind es 6-8 feststehende bloecke (content), der durchwechselt... wird sicher hie und da abegeaendert, aber an sich soll es fest sein...

tausend dank... ben

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

13. Feb 2012, 18:07

na hi - habe gerade wieder zeit und versuche folgendes:

alle Karten werden als artikel abgespeichert - die aktuelle speisekarte ist 'online' - die der naechsten woche, der naechste (prioritaet) des aktuellen artikel. hier das modul fuer ausgabe aktuelle karte:

Code: Alles auswählen

<?php
if ( REX_LINK_ID[1] != 0) 
 {
  $dieWoch = OOArticle::getArticlesOfCategory(REX_LINK_ID[1],$ignore_offlines = TRUE);
  foreach ($dieWoch as $dieWoche) {
  $id = $dieWoche->getId();
  $art = new rex_article();
  $art->setArticleId($id);
  $art->setClang($REX['CUR_CLANG']);
  $artikel = OOArticle::getArticleById('$id');
  echo $art->getArticle(1);
  }
 }
?>
es darf natuerlich nur ein artikel online sein... nun habe ich versucht den artikel anzuzeigen, der in der prioiritaetenlist direkt danach kommt, bekomme es aber nicht hin. gibt es soetwas (habe nix gefunden) wie nextArticle?

ist es mir moeglich mit dem addon 'cronjob', einmal in der woche eine artikel offline zu stellen und den der naechsten prioritaet online? waere insgesamt das angenehmste, da dies in allen sprachen gleich funktionieren wuerde, wie bei den anderen artikeln...

fuer anregungen immer dankbar
ben

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: wöchentlich wechselnder content

13. Feb 2012, 19:07

Hallo ben,

ja, das ist mit dem Cronjob-Addon möglich. Einfach einen wöchentlichen Cronjob vom Typ PHP-Code erstellen. Der Code müsste dann etwa so aussehen, ist aber ungetestet:

Code: Alles auswählen

<?php

$categoryId = X; // hier die Id der Kategorie setzen
$articles = OOArticle::getArticlesOfCategory($categoryId);
$previous = null;
foreach($articles as $art)
{
  if($previous)
  {
    foreach($REX['CLANG'] as $clangId => $clangName)
    {
      rex_articleStatus($previous->getId(), $clangId, false);
      rex_articleStatus($art->getId(), $clangId, true);
    }
    break;
  }
  if($art->isOnline())
  {
    $previous = $art;
  }
}

?>
Der Code sollte folgendes tun: Falls es einen Online-Artikel in der Kategorie gibt (der erste gefundene wird genommen) und auch ein Nachfolgeartikel vorhanden ist, stelle den Online-Artikel offline und den Nachfolger online.
Falls der Startartikel immer online sein soll, muss der in der foreach-Schleife noch ausgenommen werden.

Gruß, Gregor
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

13. Feb 2012, 20:12

na hi - dank dir. der hat mit:
$REX[‘CLANG‘]

nen problem. seine ausgabe:

Code: Alles auswählen

Cronjob "speiseKarte - tester" wurde erfolgreich ausgeführt!

Meldung:
Notice: Undefined variable: REX on line 10
Warning: Invalid argument supplied for foreach() on line 10
line 10: foreach($REX['CLANG'] as $clangId)
muss ich die $REX vorab 'anmelden'?

ben

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: wöchentlich wechselnder content

13. Feb 2012, 20:19

Scheinbar ja, mit "global $REX;" sollte es gehen.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

13. Feb 2012, 20:53

erstmal danke - nach dem ausfuehren kommt, alles roger, aber ich sehe im backend keine veraenderung... fuer der das nun einmal in der woche aus? gibt es eine doku zu cronjob? versuche mich gerade darin, nachzuvollziehen, was du da geschrieben hast..

ben

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: wöchentlich wechselnder content

13. Feb 2012, 21:28

Doku zu cronjob gibt es bisher nicht.
Also ich habe gerade mal getestet, bei mir funktioniert es. Der Code wird immer beim ersten Aufruf montags ausgeführt, wenn du aber selbst auf "Ausführen" klickst, wird er sofort ausgeführt und du solltest auch die Veränderung sehen können.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

13. Feb 2012, 21:31

gebe mir die sachen gerade als modul aus.. hoffe das funktioniert da ueberhaupt - kann aber sonst nicht sehen, wo der haengt. dort hat er scheinbar ein problem mit: rex_articleStatus

gibt es da auch eine global loesung?
ben

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: wöchentlich wechselnder content

13. Feb 2012, 21:37

Kann ich nicht nachvollziehen. Wenn ich den Code bei mir in ein Modul packe, wird er auch erfolgreich ausgeführt.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

14. Feb 2012, 10:45

nochmal ich... hier erstmal der cronjob, so wie er bei mir funktioniert:

Code: Alles auswählen

<?php

global $REX;

$categoryId = 35; // hier die Id der Kategorie setzen
$articles = OOArticle::getArticlesOfCategory($categoryId);
$previous = null;
foreach($articles as $art)
{
  if($previous)
  {
    foreach($REX['CLANG'] as $clangId => $clangName)
    {
    rex_articleStatus($previous->getId(), $clangId, false);
    rex_articleStatus($art->getId(), $clangId, true);
    }
    break;
  }
  if($art->isOnline())
  {
    $previous = $art;
  }
}
?>
zwei probleme ergeben sich gerade beim testen:
1. wenn der letzte artikel erreicht ist, passiert nix, muesste ihm also im artikel-array als letztes den startartikel noch mitgeben...
2. wie verhaelt sich hier der startartikel? kann ich den normal on-off setzen? oder besser ausklammern?

ben

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: wöchentlich wechselnder content

14. Feb 2012, 11:11

beyben hat geschrieben:1. wenn der letzte artikel erreicht ist, passiert nix, muesste im also im array der artikel als letztes den startartikel noch mitgeben...
Ich dachte, dass soll so sein, dass immer nur neue Artikel nachgeschoben werden. Ja, dann kannst du zum Beispiel den ersten Artikel hinten dran hängen. Oder du machst dann doch die Variante (aus der PN) mit foreach($articles as $i => $art), brichst die Schleife beim ersten Online-Artikel ab, und schaust dann danach ob $articles[$i+1] existiert, ansonsten nimmst du den ersten Artikel.
beyben hat geschrieben:2. wie verhaelt sich hier der startartikel? kann ich den normal on-off setzen? oder besser ausklammern?
Im Moment wird er mit berücksichtigt, also wenn der online ist, wird er offline gestellt, und der Nachfolger online. Wenn du das nicht möchtest, dann den ausschließen im foreach.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

3. Mär 2012, 10:53

na hi und dank euch erstmal - eine kleine frage noch zum verstaendnis mit cronjob. die 'umgebung(frontend/backend)' im backend ist der ausloeser fuer den php-code, ist das richtig?

hier der code ohne startartikel - den brauche ich eh zum weiterleiten auf die erste kategorie, die 'aktuelle karte' - und den zusatz, das array um den zweiten artikel am ende des arrays zu erweitern:

Code: Alles auswählen

<?php

global $REX;

$categoryId = 14; // hier die Id der Kategorie setzen
$articles = OOArticle::getArticlesOfCategory($categoryId);
$i = count($articles);
$i = ++$i;
$erwei = $articles[1];
$articles[$i] = $erwei;
$previous = null;
foreach($articles as $art)
{
  if($previous)
  {
    foreach($REX['CLANG'] as $clangId => $clangName)
    {
    rex_articleStatus($previous->getId(), $clangId, false);
    rex_articleStatus($art->getId(), $clangId, true);
    }
    break;
  }
  $sa = $art->isStartArticle();
  if($art->isOnline() && $sa == '0' )
  {
  $previous = $art;
  }
}
?>
noch eine frage; entspricht das array[1] immer dem artikel mit der prio 2?
dank euch und ein sonniges wochenende...
ben

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: wöchentlich wechselnder content

3. Mär 2012, 12:48

Hi,
beyben hat geschrieben:die 'umgebung(frontend/backend)' im backend ist der ausloeser fuer den php-code, ist das richtig?
Ja genau. Wenn du z. B. nur Frontend auswählst, wird der Job nur bei Frontend-Aufrufen ausgelöst.
beyben hat geschrieben:noch eine frage; entspricht das array[1] immer dem artikel mit der prio 2?
Ja. Allerdings muss der Startartikel nicht immer Prio 1 haben, den kann man an eine beliebige Position schieben. Ich denke aber trotzdem, dass das so ok ist, wie du es gelöst hast, da wohl schon keiner den Startartikel verschieben wird.

Gruß, Gregor
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: wöchentlich wechselnder content

4. Mär 2012, 14:04

hi gregor - dank dir, dann habe ich das jetzt auch durch das thema... angenehm-sonniges restwochenende..

ben

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: [gelöst] wöchentlich wechselnder content

20. Mär 2012, 10:52

na hi. noch eine frage - wenn am montag kein aufruf der seite erfolgt, wird dann trotzdem z.b. am dienstag beim ersten besucher umgestellt? der cronJob wurde gestern nicht ausgefuehrt, vondaher die verstaendnisfrage...

dank euch
ben

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: [gelöst] wöchentlich wechselnder content

20. Mär 2012, 11:51

So ist es gedacht, falls das nicht funktioniert, ist es ein Bug. Nur wenn eine ganze Woche niemand auf die Seite geht, dann wird nicht beim nächsten Aufruf der Cronjob direkt zwei Mal ausgeführt, sondern nur ein Mal.
Ich werde mir das nochmal anschauen.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Zurück zu „Allgemeines [R4]“