Fehler beim Einbinden eines Blocks (Slice)

Wie verwendet man Module oder Aktion und passt diese an.

Fehler beim Einbinden eines Blocks (Slice)

Beitragvon brandes-webdesign » 18. Jun 2008, 13:59

Hallo zusammen,
kurz zur Konstellation in der das Problem auftritt.

Ich habe auf einer Seite einen ganz normalen Text, der mit einem textile-Modul geschrieben wurde. In diesem Text ist ein interner Link. Zum Beispiel:
Code: Alles auswählen
Text...
"link innerhalb der Seite":redaxo://3
Text...


Diesen Text möchte ich als Block/Slice jetzt auf einer anderen Seite erneut verwenden, sprich einbinden.

Wenn ich diesen Block/Slice dann mit nachfolgendem Code einbinde wird der Link nicht korrekt umgewandelt.

Code: Alles auswählen
<?php
    // Slice/Block laden und anzeigen
    // Anstelle der Zahl 15 die entsprechende "slice_id" eingeben
    $slice = OOArticleSlice::getArticleSliceById( "15" );
    print $slice->getSlice();
?>


Folgender HTML-Code wird erzeugt:

Text ....
<a href="redaxo://3">link innerhalb der Seite</a>
Text ....

statt korrekt:

Text ....
<a href="index.php?article_id=3">link innerhalb der Seite</a>
Text ....




Meine Frage nun:
Warum wird auf der Ursprungsseite der Link korrekt aufgelöst und auf der "eingebundenen" Seite nicht???

Jemand vielleicht eine Lösung oder ein ähliches Problem???

Vielen Dank für Eure Hilfe.
Mirco Brandes
Technische Umsetzung Ihrer Layout-/Design-Vorlagen mit dem CMS Redaxo.
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Benutzeravatar
brandes-webdesign
 
Beiträge: 65
Registriert: 24. Jan 2008, 14:22
Wohnort: Oldenburg

Beitragvon maik@nordbahn » 19. Jun 2008, 11:57

Ich vermute das du noch die Anweisung des textile code hinzufügen musst.
vielleicht so:
Code: Alles auswählen
<?php
    // Slice/Block laden und anzeigen
    // Anstelle der Zahl 15 die entsprechende "slice_id" eingeben
    $slice = OOArticleSlice::getArticleSliceById( "15" );

$textile = new Textile;
$text = $textile->TextileThis($slice);

    print $slice->getSlice();
?>


Probier das mal aus.
Liebe Grüße
Maik
Benutzeravatar
maik@nordbahn
 
Beiträge: 166
Registriert: 29. Jan 2007, 15:10

Beitragvon brandes-webdesign » 24. Jun 2008, 12:08

Hallo Maik,
danke für den Tip, aber das habe ich auch schon probiert, klappt aber auch nicht.

Wenn ich den kompletten Artikel einbinde funktioniert es ja wunderbar, nur halt nicht mit einem einzelnen Block/Slice, so dass ich eher vermute, der Fehler müßte in der Slice-Klasse liegen.

Kann da nicht mal jemand von den Entwicklern auch mal drauf schauen. Wenn ja wäre es ja ein generelles Problem.

Viele Grüße
Mirco
Technische Umsetzung Ihrer Layout-/Design-Vorlagen mit dem CMS Redaxo.
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Benutzeravatar
brandes-webdesign
 
Beiträge: 65
Registriert: 24. Jan 2008, 14:22
Wohnort: Oldenburg

Beitragvon gemüsebrühe » 7. Aug 2008, 21:28

Die Antwort wird hier gegeben:

"link":redaxo://12 wird zu href="redaxo://12
So clickable, design is lickable.
Code is poetry.
Benutzeravatar
gemüsebrühe
 
Beiträge: 183
Registriert: 14. Feb 2007, 20:31

Beitragvon brandes-webdesign » 10. Aug 2008, 14:34

Hallo gemüsebrühe,
vielen Dank für Deine Hilfe. Damit funktioniert es auf jeden Fall erst mal. Der Fehler liegt im Kern von Redaxo und ist von Jan und Kai schon aufgenommen und wird in einer der nächsten Versionen dann behoben.

Lösung für unser Modul:

Code: Alles auswählen
Im Ausgabemodul in der Zeile 26
    print $slice->getSlice();
durch
    print rex_article::replaceLinks( $slice->getSlice() );
ersetzen.


Viele Grüße
Mirco Brandes
Technische Umsetzung Ihrer Layout-/Design-Vorlagen mit dem CMS Redaxo.
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Benutzeravatar
brandes-webdesign
 
Beiträge: 65
Registriert: 24. Jan 2008, 14:22
Wohnort: Oldenburg

Artikel oder Slice/Block woanders einbinden - Mehrsprachigke

Beitragvon mow » 6. Sep 2008, 21:36

hallo zusammen,

ein gutes modul - danke!

nach obiger änderung (ausgabemodul in der zeile 26) funktioniert das ding auch bei mir richtig.
aber: wenn ich das ganze nun mehrsprachig nutzen möchte, bekomme ich eine fehlermeldung.
1. sprache ganzen artikel einbinden und nach 2. sprache kopieren ergibt kein problem.
dasselbe, aber nur mit einem block eingefügt, ergibt:
Code: Alles auswählen
Fatal error: Call to a member function getSlice() on a non-object in /home/boy/www/irgend.wo/redaxo/include/classes/class.rex_article.inc.php(250) : eval()'d code on line 69

ist das (noch) so?? oder hab ich da was nicht kapiert?

grüsse
mow
best viewed with an open mind!
Benutzeravatar
mow
 
Beiträge: 76
Registriert: 2. Jul 2007, 00:49

Beitragvon brandes-webdesign » 8. Sep 2008, 11:55

Hallo mow,
mit Mehrsprachigkeit habe ich das noch nicht getestet. Wenn ich heute oder morgen Nachmittag etwas Zeit finde schaue im das aber mal an.

Bis dann
Mirco Brandes
Technische Umsetzung Ihrer Layout-/Design-Vorlagen mit dem CMS Redaxo.
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Benutzeravatar
brandes-webdesign
 
Beiträge: 65
Registriert: 24. Jan 2008, 14:22
Wohnort: Oldenburg


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast