dynamisch bilder einbinden

  • hallo ihr alle,
    ich bin neu hier und auch neu bei plone. hab bis jetzt homepages bloß auf html/css-basis erstellt und arbeite mich gerade in plone ein... seeehr spannend.
    bis jetzt habe ich es geschafft, mittels css meine testseite zum lernen so aufzubauen und zu gestalten, wie ich es haben will, allerdings stehe ich gerade vor einem problem, daß ich nicht so recht gelöst bekomme.
    vielleicht könnt ihr mir helfen:
    und zwar stelle ich mir vor, daß auf meiner seite ein bild (wie ein zweites den background überlagerndes ) erscheint, das je nach ordner, in dem man sich befindet (in der navigation) anders ist.
    mein plan war, daß man auf der webseite in den ordnern bilder hochlädt und allen die id "frame" gibt. das ganze soll im above_content_title-bereich passieren.
    den hab ich mir mittels css schon positioniert etc.
    jetzt wollte ich hier über css die bilder einfügen, aber soweit ich weiß, gibts da keine Pfadangabe, die dynamisch die ordner abfragt.
    also denke ich, daß das über ein template bewerkstelligt werden muß.
    nur komm ich in tal irgendwie nicht rein (bin eben doch eher grafiker denn programmierer) und kriegs nicht hin. auch weiß ich nicht so recht, wenn ich denn den code hab, wo und wie ich diesen einfügen muß.
    wahrscheinlich ins eine main-template-kopie, aber die ist für mich auch erstmal kraut und rüben.
    also, wenn jemand ne idee hat und einem neuling helfen mag, ich würd mich freun...
    gruß,
    krischan

  • Hallo,

    naja, http und pfade in http hilft dir doch schon: du gibt einfach gar keine pfad an udn sagst dein bild hat im ccs folgende eigenschaft:
    background- image: url(frame.png);

    und fertig, in jedem ordner packst du jetzt ein bild mit der id frame.png udn es funktioniert. Da ist null tal-Logik hinter.

    Gruss Pumukel

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

    Marcel Mart
    frz. Schriftsteller

  • danke für die schnelle antwort, aber es klappt so nicht.
    vielleicht hab ich mich nicht klar genug ausgedrückt. ich möchte die bilder als inhalt über die plone-oberfläche hochladen, und ihnen dann den gleichen titel (sorry, nicht id, macht eventuell einen unterschied) geben.
    selbst wenn ich die bilder vor dem hochladen als frame.jpg benenne (was ich aber für den endbenutzer als unschöne arbeitsweise erachte), werden sie nicht angezeigt.
    also, wie beschreibe ich, wo das programm nach bildern mit dem titel frame.jpg suchen soll?
    oder sollte das so klappen, wie du es beschrieben hast, und ich mache einfach irgendwo einen fehler?
    gruß,
    krischan

  • Im body-tag befindet sich in Plone eine Klasse, die nach dem Ordner direkt im Wurzelverzeichnis benannt wird, also im Newsordner zum Beispiel "class="template-folder_summary_view portaltype-topic section-news" Entscheidend ist das "section-news". Die Klassennamen fangen alle mit section an. Das kannst du in CSS nutzen, um das entsprechende Bild einzufügen oder ansonsten das Design je nach Ordner zu verändern.

    Um die Bilder selbst in Plone verfügbar zu machen, gibt es zwei Möglichkeiten. Entweder du schreibst ein Theme-Produkt. Hinweise dazu findest du hier:
    http://www.plone-entwicklerhandbuch.de/plone-entwickl…rscheinungsbild

    Oder du packst die Bilder in den custom-Ordner und versuchst sie über CSS einzubinden. (Das habe ich allerdings nicht ausprobiert und ist komplett ins Blaue hinein gesprochen.)

  • Hallo,

    also ich habe eine ähnliche Sache bei mir am laufen. Es funktioniert so wie beschrieben. Aber hier ist wirklich die ID des Objekts wichtig, da aus der ID auch die URL generiert wird. Wobei hier eigentlich auch PIL-Operationen noch greifen können. Die ID wird zwar impliziet durch den Titel des Objekts definiert.

    versuchs nochmal mit background-image: url(frame/image_thumb); als Beispiel.

    Was noch sein kann ist der Punkt des CSS, schau mit einem Firebug nach ob das Stylesheet mit einer absoluten Adresse referenziert wird, dann kann das nicht funktionieren. Das Stylesheet muss virtuell auch in dem gleichen Ordner liegen, was via portal_skins und aquisition kein Problem ist.

    Gruss Pumukel

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

    Marcel Mart
    frz. Schriftsteller

  • @ pumukel:
    Das Stylesheet liegt bei mir im custom ordner als ploneCustom.css.
    firebug sagt:
    http://localhost:8080/Plone/portal_c…ploneCustom.css
    das sieht mir schon recht absolut aus. wo muß ich mein stylesheet denn ablegen, damit es vrtuell in denselben ordnern liegt, bzw. wie bekomme ich das hin, daß es anders abgefragt wird?

    juh
    ein theme hab ich angelegt, vornehmlich für viewlet-anpassungen. wie mir das hierbei weiterhelfen soll, weiß ich aber auch nicht

  • Hallo krischan23,

    ich denke der einfachte Weg ist in dem du dein Theme-Produkt nimmst und im Viewlet für den Header direkt ein style attribute definierst was dann via Background-image das bild setzt, wenn der Pfad dann im Template ohne Pfad ist, nimmt er sich immer das Bild des ordnern, bzw. wenn dort keins mit diesem Namen ist dann in den übergeordneten ordnern.

    Das Stylesheet relativ zu machen ist deutlich komplizierter.

    Gruss Pumukel

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

    Marcel Mart
    frz. Schriftsteller

  • ich habs jetzt vorhin auf die folgende art hinbekommen,m ich denke das ist was du meinst, oder?

    hab das main-template geklont, und dann unter
    //<div id="viewlet-above-content" tal:content="structure provider:plone.abovecontent" />
    noch folgendes eingefügt:
    //<div class="viewlet-above-content">
    // <img src="frame.jpg" />
    // </div>
    so klappts. und ich hab ein neues main-template in custom liegen.
    du sagst jetzt ich sollte das in mein theme einbinden. bedeutet das, ich packe mein neues main-template in kritheme-theme-custom-templates? und wie bekomme ich plone dazu, das dann zu erkennen?

  • bzw. ich kanns per copy und paste nicht mal rüberkopieren, ums auszuprobieren.
    gibt nur ne riesen fehlermeldung:

    Traceback (innermost last):
    Module ZPublisher.Publish, line 127, in publish
    Module ZPublisher.mapply, line 77, in mapply
    Module ZPublisher.Publish, line 47, in call_object
    Module OFS.CopySupport, line 208, in manage_pasteObjects
    Module OFS.CopySupport, line 539, in _verifyObjectPaste
    CopyError:
    <HTML>
    <HEAD>
    <TITLE>Not Supported</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF">
    <FORM ACTION="manage_main" METHOD="GET" >
    <TABLE BORDER="0" WIDTH="100%" CELLPADDING="10">
    <TR>
    <TD VALIGN="TOP">
    <BR>
    <CENTER><B><FONT SIZE="+6" COLOR="#77003B">!</FONT></B></CENTER>
    </TD>
    <TD VALIGN="TOP">
    <BR><BR>
    <CENTER>
    The object <em>main_template</em> does not support this operation.
    </CENTER>
    </TD>
    </TR>
    <TR>
    <TD VALIGN="TOP">
    </TD>
    <TD VALIGN="TOP">
    <CENTER>
    <INPUT TYPE="SUBMIT" VALUE=" Ok ">
    </CENTER>
    </TD>
    </TR>
    </TABLE>
    </FORM>
    </BODY></HTML>

  • Hallo,

    in der Englischen Mailinglist wird deine Frage auch besprochen udn mit einer sehr guten lösung angeboten:

    http://plone.293351.n2.nabble.com/acquisition-in…02p6163502.html

    Arbeitem in der ZMI ohne die Browserviews die man für das Main_template braucht kann sehr gefährlich werden.

    Gruss Pumukel

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

    Marcel Mart
    frz. Schriftsteller