[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Rotate-Slice Modul in 4.1 [gelöst] - 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/
kdk
Beiträge: 123
Registriert: 19. Dez 2005, 14:36

Rotate-Slice Modul in 4.1 [gelöst]

4. Sep 2008, 10:47

Hallo zusammen,

ich hab da ein kleines Problemchen mit einem älterem Modul. Folgende Situation liegt vor:

In einem div sollen zuföllige Zitate dargestellt werden. Dafür habe ich einen Artikel angelegt und jedes Zitat in einen eigenen Slice mit textile geschrieben.

Binde ich den Artikel nun komplett ein, funktioniert es tadellos. Mit Rotate-Slice werden allerdings keine Formatierung übernommen, d.h. da steht "h1. " statt einer h1-Überschrift. Zeilenumbrüche werden gar nicht dargestellt.

Da es ohne Rotate-Slice funktioniert gehe ich mal davon aus, dass der Fehler in diesem alten Modul liegt.

Rotate-Slice Code Eingabe:

Code: Alles auswählen


Blöcke rotieren von Artikel:<br />
REX_LINK_BUTTON[1]<br />

Rotate-Slice Code Ausgabe:

Code: Alles auswählen

<?php
   if("REX_LINK_ID[1]"){
      $articleId = "REX_LINK_ID[1]";
      $slice = OOArticleSlice::getFirstSliceForArticle($articleId);

      while($slice){
         $val = $slice->getValue("1");
         $array[$cnt] = $val;
         $slice = $slice->getNextSlice();
         $cnt++;
      }
      $rand_keys = array_rand($array, 1);
      echo $array[$rand_keys];
   }
?>

Zuletzt geändert von kdk am 4. Sep 2008, 13:52, insgesamt 1-mal geändert.

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

4. Sep 2008, 13:33

Hi kdk,

das Modul ist meine Schuld! ;-) Sieht so aus als würde der Inhalt des SLICE nicht interpretiert werden.
Hab ich moment keine 4.1er Instanz laufen und kann Dir jetzt also nicht weiterhelfen.
Ich schau's mir aber mal an und hoffe ne Lösung zu finden.

Das Modul hab ich in Verbindung mit TINY im Einsatz. Evtl. könnte Dir folgendes helfen:
- neues TINY-Object erstellen
- Slice-Inhalte an TINY-Object zum interpretieren übergeben
- und dann das Ganze ausgeben

also folgendermaßen:

Code: Alles auswählen

<?php
   if("REX_LINK_ID[1]"){
      $articleId = "REX_LINK_ID[1]";
      $slice = OOArticleSlice::getFirstSliceForArticle($articleId);

      while($slice){
         $val = $slice->getValue("1");
         $array[$cnt] = $val;
         $slice = $slice->getNextSlice();
         $cnt++;
      }
      $rand_keys = array_rand($array, 1);
      $textile = new Textile;
      $output = $textile->TextileThis($array[$rand_keys]);
      echo $output;
   }
?> 
Gruß, Tom

kdk
Beiträge: 123
Registriert: 19. Dez 2005, 14:36

4. Sep 2008, 13:51

Vielen, vielen Dank.

Einfach ohne Änderungen (und ohne Tiny) deinen neuen Code in die Ausgabe und alles funktioniert wunderbar.

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

4. Sep 2008, 14:23

Schön das es funktioniert! Du weißt aber das das Ding nun nur für Slices funktioniert, die mit Textile-Inhalten arbeiten! Bei anderen Inhalten sollte Bockmist rauskommen. Man müsste abfragen, ob es sich um einen Textile-Inhalt handelt oder einen anderen und dann darauf reagieren.

Gruß, Tom

kdk
Beiträge: 123
Registriert: 19. Dez 2005, 14:36

4. Sep 2008, 17:02

Schon klar, aber es sind eh nur kleine Textblöcke die einzubinden sind.

bastians
Beiträge: 104
Registriert: 9. Mai 2008, 17:45
Wohnort: Stuttgart
Kontaktdaten: Website

19. Jul 2009, 10:16

Hey Tom,

könntest du das Modul im Download-Bereich eventuell anpassen? Wäre super :-)
Grüße, Bastian

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

19. Jul 2009, 10:42

Ich werde es mir mal ansehen. Sollte ja nicht so wild sein es anzupassen, allerdings kann ich frühestens in einer Woche.

Gruß, Tom

bastians
Beiträge: 104
Registriert: 9. Mai 2008, 17:45
Wohnort: Stuttgart
Kontaktdaten: Website

19. Jul 2009, 10:44

Eilt ja nicht :-)

Hatte das Problem mit Textile und dem Modul eben auch und wenn es nicht zu viel Aufwand wäre, wäre eine Anpassung mit eventuell Prüfung ob Textile oder TinyMCE doch schön :-)
Grüße, Bastian

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

31. Jul 2009, 13:07

Hab das Modul leicht abgeändert in ein Template gebaut, aber es zeigt mir leider gar kein Output an. Verstehe ich nicht

Code: Alles auswählen

<?php

      $id = "200";
      $slice = OOArticleSlice::getFirstSliceForArticle($id);
      $cnt = 0;
      while($slice){
         $val = $slice->getValue("1");
         $array[$cnt] = $val;
         $slice = $slice->getNextSlice();
         $cnt++;
      }
      $rand_keys = array_rand($array, 1); 
      $output = $array[$rand_keys];
      echo $output; 
?>
edit: habe es gefixt, in dem ich getValue("1"); mit dem hier ersetzt habe:

Code: Alles auswählen

 $val = $slice->_values[0];

Zurück zu „Allgemeines [R4]“