javascript widget in plone einbinden

  • hallo,
    gibt es irgendeine einfache art für den benutzer einer plone-seite, ein javascript widget als content, beispielsweise in einer seite, einzufügen?
    möglicherweise übersehe ich da einfach etwas...

  • Hallo,

    natürlich gibt es einfache möglichkeiten, Einfach die Plone Filter ausschalten und JavaScript code in eine Seite packen. Aber ehrlich, es macht selten Sinn (Ausnahme Kalender Widgets oder ähnliches) ein Javascript Widget in eine Plone Seite zu packen, es sei denn man will jemanden schädigen.

    Widgets sind typischerweise Elemente für die Bearbeitung von Objekten nicht für die Präsentation von Inhalten. Außnahme bilden wenige Widgets die Inhalte besonderst zugänglich machen wollen, ala Kalender Widgets oder Widgets zu Tabellen Sortierung, bloss solche Inhalte pflegt man auch nciht per hand, also sind einfache möglichkeiten hier auch nicht gefragt.

    Erläutere was du genau machen möchtest, vielleicht kann man dir dann sagen ob es nicht schon eine Integration gibt oder wie man das am besten integriert.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • hallo pumukel,

    also, in meinem fall geht es konkret um werbung für einen kleinen online-shop. das portal, wo der shop ist, bietet ein java-script-widget an, das dann als link von meiner seite aus auf dem shop fungiert und dabei in einer bildfolge immer die aktuellen artikel zeigt.

    Einfach die Plone Filter ausschalten


    keine ahnung wie das geht, ehrlich gesagt.

    es sei denn man will jemanden schädigen.


    ???

  • Hallo,

    also das was du möchtest hat meines erachtens am ehesten etwas in einem Portlet umzusetzten. Das Static Text Portlet sollte direkt deinen Anforderungen entsprechen, einfach das Javascript in einem

    Code
    <script type="text/javascript" >
    script
    </script>


    Block packen udn in das Portlet schreiben und es sollte funktionieren.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • und wie?
    wenn ich es im editor direkt ins textfeld als code setze, hab ich auch in der darstellung des portlets den code stehen. und wenn ich es in den html-code packe, dann passiert garnix, außer ich öffne den html-code nochmals, dann erscheint etwas wie folgt aussehendes:

    <p> </p>
    <!-- jQuery(document).ready(function(){ new DaWanda.Widget({ backgroundColorBottom:"#FFFFFF", backgroundPattern:"", sourceId:"2121946", innerBackgroundColor:"#FFFFFF", hideLogo:"1", title:"UnseenProjects", linkColor:"#A86232", titleFontSize:"12", language:"de", sourceType:"Shop", textColor:"#5d5d5d", cols:"3", autoSlide:"1", rows:"1", borderWidth:"3", backgroundColorTop:"#e6e6e6", hideProductInformation:"1", imageVersion:"pin", uuid:"ecbac7451d" }).render(); }); jQuery.noConflict(); // -->

    das ist allerdings nicht das script, was ich eingesetzt habe. kann damit leider nicht viel anfangen...

  • also ich weiss nicht was du machst bei mir funktioniert es. Versuch es auf extreme art un weise zu lösen:

    geh in deine Persönlichen Einstellungen wähle aus das du keinen Edito benutzen möchtest, und versuch es nochmal mit dem Portlet, und zwar das es wirklich sauber in einem <script> Block gekapselt ist, ansonsten teile mal mit auf was für einem Plone du überhaupt arbeitest.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • hab ich probiert, passiert trotzdem nichts.
    ich arbeite auf plone 4.0.5
    wahrscheinlich liegts dann an dem code selbst, den ich von der seite hab, oder?
    bevor der eigentliche script-block losgeht, fragt er hier einige extern gelagerte js-dateien ab, vielleicht gibts damit ein problem?

    Code
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript" src="http://de.dawanda.com/widget/v2/dawanda-0.1.0.js"></script>
    <script type="text/javascript" src="http://de.dawanda.com/widget/v2/widget.js"></script>

    aber wenn ich das mal spaßeshalber einfach weglasse und nur den script-block eingebe, passiert auch nix...

  • Hallo,

    dann wollen wir mal ganz grundlegend debugen:

    1. nochmal den kompleten Script bereich einpflegen (das erste, JQuery kannst du weglassen ist in Plone 4 explizit schon geladen)
    2. die Seite ansehen, ob das Portlet erscheint, und auch keinen inhalt entfernt, hierzu den Quelltext der Webseite ansehen (z.B. via Firebug)
    3. wenn alles vollständig im Quelltext erscheint dann sollte man in deinen scriptblock noch das Defer Statment ala <script defer="defer" type="text/javascript"> einfügen, was eine Ausführung erst nach dem laden der ganzen Seite mit externen Quellen bewirkt.

    Wenn es immer noch nciht funktioniert, poste mal den Link zur Seite, dann kann man es sich mal versuchen anzusehen.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • ich find nix im quelltext, schaus dir doch am besten direkt mal an:
    http://www.unseenprojects.de/holzspielzeug/online-shop

    das portlet ist rechts oben in dem angedeuteten rahmen, portlet-above-content

    der code sieht folgendermaßen aus, wobei ich die erste zeile weggelassen habe, wie du gesagt hast:

  • hallo, also das Portlet wird dargestellt, aber kein script block erscheint, das ist typisch Plone Filter, hier versuchen wir jetzt mal den Filter für Scripte zu entfernen:

    hierzu: über Konfiguration auf HTML Filter gehen: http://Ploneseite/@@filter-controlpanel und dort die Einträge bei Fiese Tags und Entferne Tags für Script löschen.

    Anschliessend musst du im Portlet wieder die Sachen einfügen, da der Filter diese entfernt haben sollte.
    Dann ausprobieren, ggf. mit firebug schauen was im Code ankommt.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller