Modul Inline

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Modul Inline

Beitrag von semf »

Für ein Projekt gab es eine Aufgabenstellung, externe Inhalte aufbereitet auf die Detailseite zu bringen. Tja, und da ich ungerne rumpfusche ist daraus ein Modul geworden - das Modul Inline!

Was kann das Modul? In erster Linie PHP-Code aus dem Template heraus ausführen und die Inhalte ausgeben. In meinem Falle habe ich u.a. damit unterschiedliche Google-Adsense-Varianten realisiert, die dann nur an einer Stelle angepasst werden brauchen.

Vielleicht ist das auch für den ein oder anderen nützlich - daher steht es samt Online-Hilfe auf www.seventy-soft.de zum Download bereit.
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Ralf K

Fehlermeldung

Beitrag von Ralf K »

Habe mich sofort freudig auf das mod gestürzt. Habe einen Codeschnipsel, der ein rss auswertet, als Datei gespeichert und im mod angegeben. In der Vorschau werden auch ordnungsgemäß die Meldungen angezeigt. Nachdem ich das ganze in ein template gepackt habe, kommt aber auf meiner Seite die Meldung: Warning: array_key_exists(): The second argument should be either an array or an object in /web/portal/_include/parser.php on line 124.

Habe ich etwas falsch gemacht, oder was kann die Ursache sein?

Herzlichen Dank im Voraus

Ralf
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

ja, wo wir dann wohl bei den problemen wären! also in meiner parser.php
steht in zeile 124 nichts!? welche cpo-version setzt du ein (bitte genau angeben, also nicht einfach 4, sondern 4.0.1 oder so!)?

ifsets funktionieren übrigens mit den inlines nicht!

rein theoretisch könnte man folgenden test machen: den zurückgegeben content (der quellcode samt html-tags), der mit dem inline eingefügt werden soll, kopieren und anstelle des inline-platzhalters mal ins template
einfügen. dann aufrufen und ...?
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Ralf K

Beitrag von Ralf K »

Ich habe derzeit noch 4.0.1, werde also wohl erst einmal auf 4.0.2 umrüsten, wird aber wohl heute etwas knapp.

Melde mich wieder, wenn ich umgerüstet und gfls. auch getetset habe.

Gruß

Ralf
Ralf K

Beitrag von Ralf K »

So, habe jetzt auf 4.0.2 aufgerüstet und die Meldung bezieht sich jetzt auf folgende Zeile:
Warning: array_key_exists(): The second argument should be either an array or an object in /web/portal/_include/parser.php on line 70
Die Datei, die ich einfügen will, liegt übrigens hier:
http://www.fdp-online.info/portal/scripte/bund.php

Deine Test-Anleitung "den zurückgegebene content" kopieren habe ich leider nicht ganz verstanden?

Gruß

Ralf
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

Hallo Ralf,

ich habe die Datei mal bei mir eingebunden, also über eine bestehende Internet-Verbindung. Das klappte sowohl in der Vorschau als auch im Template. Also wenn das der Text bzw. die Datei ist, die da Probleme macht, dann poste bitte mal das ganze Template! Den die Sache mit dem Quelltext habe ich auch ausprobiert - daran liegt es nicht!

Also zusammenfassend kann ich sagen:
Ein Inline mit dem Namen FDP-Test und der Referenz auf http://www.fdp-online.info/portal/scripte/bund.php funktioniert bei mir!

PS: Unterhalb der Inline-Auflistungen siehst du Angaben zum Webserver und notwenige Ini-Einstellungen - ist da irgendwas rot?
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Ralf K

Alles im grünen Bereich

Beitrag von Ralf K »

Hallo semf,

danke für Deine Mühe, ich habe meinen Fehler gefunden.

Ich hatte den link relativ ../portal...... eingegeben, wie es auch in Deiner Anleitung zu finden war. Da ja die Vorschau funktionierte, war mir diese mögliche Fehlerquelle bisher nicht in den Sinn gekommen. Nachdem ich jetzt den vollständigen link eingegeben habe, funktioniert alles Bestens.

Ein super mod, welches ich mit Sicherheit noch umfangreich einsetzen werde.

Herzlichen Dank und Gruß

Ralf
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

Hallo zusammen!

Das Inline-Modul habe ich soeben durch eine neue Version ersetzt. Aufgrund umfangreicher Änderungen ist ein Update von der vorherigen Variante nicht möglich!

Ja, und was kann's?
- die Inlines sind jetzt auf Template und Artikel-Ebene einsetzbar
- Artikel können über eine Platzhalter in anderen Artikeln und Templates ausgegeben werden
- umfangreiche Ausgabesteuerungsmöglichkeiten

ACHTUNG!
Das Modul setzt einen einzufügenden Code-Schnipsel in eine ziemlich relevanten ConPresso-Datei voraus! Datensicherung!

Das Modul steht samt Online-Hilfe auf http://www.seventy-soft.de zum Download bereit.
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Hallo semf,

mir ist aufgefallen, dass Zeilenumbrüche in der PHP-Datei, welche ich eingebunden habe, nicht an die Ausgabeseite weitergegeben werden.
Ich habe das Inline im Template eingebunden.

Es ergab sich ein Problem, da ich auch Javascript in der entsprechenden Datei hatte und alles nach einem //-Kommentar war auskommentiert.
Jetzt habe ich folgende Art von Kommentaren eingesetzt. /* */

Kannst du das ändern, dass Zeilenumbrüche im Quelltext weitergegeben werden, oder liegt das am Parsing-Prozess von CPO (das befürchte ich).
Falls du es nicht ändern kannst / willst, dann hat dieser Beitrag den Sinn, dass andere bei ähnlichen Problemen wissen, was sie ändern müssen, falls das Javascript nicht funktioniert.

Gruß Matthias V
Zuletzt geändert von Matthias V am 27.01.2006 21:48, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

Hallo Matthias,

das Problem ist bekannt und tritt meistens im Zusammenhang mit Javascript auf. Da das Inline für Personen gedacht ist, die ein wenig PHP-KnowHow mitbringen sollten, werde ich nicht gezielt nach der Ursache forschen.

Mein Workaround im Javascript war eine Zeilenumbruch mittles php:
<?php echo "\n\r"; ?>
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

Hallo zusammen!

Das Inline-Modul habe ich soeben durch eine neue Version ersetzt. Die Änderungen sind gering, aber steigern sicher die Performance!

Das hat sich geändert:
- die Artikel-Inlines werden jetzt nicht mehr absolut über eine Datei eingelesen, sondern in einem separaten Parser-Prozeß gezogen

Bestehende Installationen der letzten Beta lassen sich einfach "pimpen":
- im Ordner classes des Moduls die Datei class_inline.php ersetzen
- die Datei article.php im Modul-Ordner kann gelöscht werden

ACHTUNG!
Das Modul setzt einen einzufügenden Code-Schnipsel in eine ziemlich relevanten ConPresso-Datei voraus! Datensicherung!

Das Modul steht samt Online-Hilfe auf http://www.seventy-soft.de zum Download bereit.
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Habe das Modul jetzt gerade mal auf einer neuen Installation eingesetzt. Funzt!!!

Ich habe aber folgendes entgegen Deiner Anleitung gemacht:
Statt eine bestimmte Position in select_template.php zu suchen und zu editieren habe ich das ganze einfach ans Ende von parser.php geschrieben, weil diese Position einfacher zu finden ist.
Außerdem hat das den Vorteil (für mich), daß die Funktion auch im Newsletter funktionieren könnte, da dieser den Original-Parser benutzt.

Leider kollidiert mod_inline etwas mit mod_pages, weil die Vorschau von mod_inline nicht funktioniert, wenn die meta-Tag-Generierung von mod_pages aktiviert ist, da dies (und ggf. auch andere Eigenkonstruktionen) bereits im header eine Rubric-ID benötigt.

var_category.php liefert leider keine id (was es ja sonst tut), da das Modul auch kein Rubrikverzeichnis ist und somit alle Versuche an eine ID zu kommen kein Ergebnis liefern.

Ich habe in Deine preview.php jetzt einfach mal
$_REQUEST['rubric'] = 1;
reingeschrieben, was aber sicher nicht immer sinnvoll ist. Vielleicht fällt Dir ja was dazu ein, z.B. eine für die Vorschau wählbare Rubrik...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

vielleicht wäre die stelle am ende des parsers sowieso mal eine
passende stelle, um dort sowas wie eine user_func.php zu includen.
in diese kann man dann den "eigenen" modulfetzen unterbringen und
ist bei upates auf der sichereren seite.

den rest schau ich mir mal an! was macht das imagesize :wink:
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Das könnte ja auch wieder ein Handler wie
$hdlr_parser_replacement
und
$hdlr_parser_content sein

also z.B. $hdlr_parser_reparse :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Marky
ConPresso-Checker
Beiträge: 382
Registriert: 11.12.2005 16:29
Hat sich bedankt: 29 Mal
Danksagung erhalten: 18 Mal

Problem mit PHP-Version

Beitrag von Marky »

Hallo Semf,
wollte eben gerade mal Dein Modul ausprobieren.
Ich erhalte aber wohl aufgrund meiner PHP-Version eine Fehlermeldung
Was kann man da machen, außer auf eine höhere PHP-Version zu wechseln, wenn man der Meldung glauben darf ? Mit anderen Worten: Gibt es da einen Workaround ?
Wenn es an der PHP-version hängt, dürfte es problematisch werden, da die Fehlermeldung auf dem Provider-Rechner entsteht.

Gruß
Marky
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Marky am 12.03.2006 18:38, insgesamt 1-mal geändert.