Welche Datei (view) hast du geändert und wo da?
Torty
Welche Datei (view) hast du geändert und wo da?
Torty
Du hast also nun einen geänderten und anscheinend fehlerhaften CT.
FTI steht für FactoryTypeInformation und dient Plone zum Erezugen neuer Objekte dieses Types.
pack deinen geänderten CT mal zusammen und lad ihn hier hoch. Dann schau ich nach und evtl. springt mich der Fehler ja direkt an.
Torty
Ich weiß das nicht. Du hast sonst 2 Möglichkeiten:
* neue Plonesite erstellen und die Inhalte exportieren->importieren
* neue Plonesite erstellen und dort die Rechte abschauen und neue setzen
Sonst hab ich keine Ahnung ob's nen Rechte-Reset gibt.
Torty
Vielleicht reicht dir das PloneFormGen-Produkt ja schon aus. Dann musst du dich mit den Formular-Scripts nicht befassen.
Torty
Ich schlage vor, dass du den FAQulator auf der HDD änderst. Dann kannst du diesen geänderten CT auch für andere Seiten nutzen.
Torty
Dazu musst du das Schema des FAQ ändern/anpassen. Des Weiteren musst du dann den Standard-View ggf. anpassen, aber mindestens müssen deine Stichwörter auch katalogisiert werden.
Der Mega-Aufwand sollte es nicht sein, aber ein Eingriff in den CT "FAQulator" stellt es trotzdem dar.
Torty
Soll ich ehrlich sein notebook? -> Ich werd aus deinen paar Brocken Text nicht schlau.
Versuch uns mal diese Fragen zu beantworten:
* Wie hast du Zope installiert?
* Wo liegt Zope auf deinem Linux?
* Wie hast du eine neue Zope-Instanz erzeugt?
* Wo liegt diese neue Zope-Instanz?
Danach können wir dir sicher besser helfen.
Torty
Ok - check it out
Dieser Code ersetzt das Macro portal_skins/custom/portlet_navtree_macro welches von der Datei portal_skins/plone_portlets/portlet_navtree_macro "customiziert" wurde.
<tal:master define="level options/level|python:0;
children options/children | nothing;
bottomLevel options/bottomLevel | nothing;
normalizeString nocall:context/plone_utils/normalizeString;
viewActions here/portal_properties/site_properties/typesUseViewActionInListings|python:();
member context/portal_membership/getAuthenticatedMember|nothing;
member_id member/getId|nothing">
<metal:main define-macro="nav_main">
<tal:navitem repeat="node children">
<tal:checkSpacer define="thisIsSpacer python: test(node['Title'] == 'Zwischenraum', 'sidemenuSpacer', '');
showSpacer python: test(thisIsSpacer and node['review_state'] == 'published', True, False);">
<li class="sideNavItemSpacer"
tal:condition="showSpacer">
<div>
</div>
<li class="navTreeItem visualNoMarker"
tal:define="children node/children;
item node/item;
useView python:item.portal_type in viewActions;
itemUrl python:test(useView, item.getURL() + '/view', item.getURL());
linkRemote python:item.getRemoteUrl and item.Creator != member_id;
isCurrent node/currentItem;"
tal:condition="python: (bottomLevel <= 0 or level < bottomLevel-1) and not thisIsSpacer">
<tal:level define="item_type_class python: 'visualIcon contenttype-' + normalizeString(item.portal_type);
item_wf_state_class python: 'state-' + normalizeString(item.review_state);">
<div tal:attributes="class item_type_class"
tal:define="itemClass string:$item_wf_state_class visualIconPadding;
itemClass python:test(isCurrent, itemClass + ' navTreeCurrentItem', itemClass);">
<a tal:attributes="href python:test(linkRemote, item.getRemoteUrl, itemUrl);
title item/Description;
class string:$itemClass"
tal:content="item/Title">
Selected Item Title
</a>
</div>
<ul tal:attributes="class python:'navTree navTreeLevel'+str(level)"
tal:define="level python:level+1;"
tal:condition="nocall:children">
<metal:recurse use-macro="here/portlet_navtree_macro/macros/nav_main"/>
[/list]
</tal:level>
</tal:checkSpacer>
</tal:navitem>
</metal:main>
</tal:master>
Alles anzeigen
Über Feedback freue ich mich.
Torty
Hast du daran schon Veränderungen vorgenommen oder ist es das originale Plone-Macro?
Torty
Naja - die Möglichkeit bleibt natürlich bestehen. Ich müsste sie nur portieren auf das Plone 2.5.x-Macro.
Wenn du daran Interesse hast, so kann ich das tun.
Torty
Oh - das tut mal gut. Ich muss nicht alles selbst kommentieren.
*zurücklehn*
@notebook
Ich vermisse bei deinen Fragen etwas die Genauigkeit. Das Thema Zope/Plone ist sehr vielschichtig und eine ungenaue Frage bedarf meißt einer längeren Antwort bzw. läßt sich nicht ohne 100 Nachfragen genau eingrenzen.
Da du dir gezielte Hilfe wünscht versuche also genauso gezielt dein Problem zu beschreiben.
Thx.
Torty
Sorry hab ich keinen Schimmer. Ich glaube aber dass dies hier bereits 1-2 Mal Thema war. Such mal danach.
Torty
Ich hab den Eindruck, dass einige hier ungetesteten Code posten. So denke ich dass Starfighter zwar den richtigen Code schreibt, aber sich nicht auf Plone (in diesem Fall aber sehr wichtig) bezieht.
Bei DarkSyranus bin ich mir nicht sicher. Jedoch scheint auch er eher nicht von Plone zu sprechen.
Info
Die Navigation bei Plone wird von Plone-Macros erstellt und diese basiert auf der Objekthierarchie die innerhalb der PloneSite existiert. Per Hand einzupflegende Code-Snippets sind ein nicht gangbarer Weg.
@horgen:
Mir ist im Moment kein Produkt bekannt, dass direkt zu anderen Websites verlinkt. Ich kenne jedoch auch nicht alles was es für Plone gibt.
Torty
Zitat von monkAlles anzeigenHallo zusammen,
ich wollte mal fragen wie ich es hinbekomme dass der Abstand bei zwei navigationspunkten unterschiedlich ist? also ungefährt so
Punkt 1
Punkt 2Punkt 3
Punkt 4
Punkt 5
Punkt 6Punkt 7
Also der Abstand bei den anderen Punkten sollte wie vordefiniert sein...allerdings will ich eben 2 mal einen größeren abstand einsetzten
Bitte um Hilfe! Vielen Dank schonmal!!!
Ok - ich hatte diesen Fall bereits hier gelöst: Beispiel für Abstände in der Navi
Mein System sah so aus:
* angepasstes Navi-Macro
* für jeden Zwischenraum wurde ein Ordner mit dem Titel "Zwischenraum" erstellt
Bei der Ausgabe der Navigation läuft das Macro ja an jedem Item "vorbei" und wenn dieses Item den Titel "Zwischenraum" hat wird ein entsprecher Spacer statt eines Ordners ausgegeben. Ich schau mal nach ob ich das Macro finde ... mom ...
Ah ja - es handelt sich dabei noch um eine Plone2.1.3-Anpassung. Ich ging also wie folgt vor:
Das PageTemplate unter portal_skins/plone_portlets/portlet_navtree_macro "customiziert" wie folgt:
original
<metal:main define-macro="nav_main">
<tal:navitem repeat="item children">
<li class="navTreeItem visualNoMarker"
tal:define="parent_shows_children show_children|nothing;
children item/children|nothing;
cur_item item/currentItem;"
tal:condition="python: (not item['no_display']) and (cur_item or parent_shows_children or children) and (bottomLevel <= 0 or level < bottomLevel-1)">
...
</tal:navitem>
</metal:main>
Alles anzeigen
angepasst zu
<metal:main define-macro="nav_main">
<tal:navitem repeat="item children">
<tal:checkSpacer define="thisIsSpacer python: test(item['Title'] == 'Zwischenraum', 'sidemenuSpacer', '');
showSpacer python: test(thisIsSpacer and item['review_state'] == 'published', True, False);">
<li class="sideNavItemSpacer"
tal:condition="showSpacer">
<div>
</div>
<li class="sideNavItem visualNoMarker"
tal:define="parent_shows_children show_children|nothing;
children item/children|nothing;
cur_item item/currentItem;"
tal:condition="python: (not item['no_display']) and (cur_item or parent_shows_children or children) and (not showSpacer)">
...
</tal:checkSpacer>
</tal:navitem>
</metal:main>
Alles anzeigen
In der Plone-Backend-Ansicht erscheint der Ordner Zwischenraum unter "Inhalte" ganz normal und du kannst diesen verschieben, wodurch du selbst entscheiden kannst wo der Zwischenraum ausgegeben werden soll.
Über den Workflow kannst du zudem festlegen ob ein Spacer ausgegeben werden soll oder nicht. Nur veröffentlichte Ordner "Zwischenraum" werden als Spacer ausgegeben.
Diese neue CSS-Klasse definierst du dann in deinem Stylesheet (z.B. in /portal_skins/custom/ploneCustom.css)
Hilft dir das so weiter?
Torty
Zitat von sejuma
Dieser Tip ist für eine dynamsiche Ausgabe der Navigation wohl nicht geeignet. Denn Monk will die Navi ja nicht einfrieren und alle neuen Ordner per Hand verlinken.
Prinzipiell jedoch eine Möglichkeit, wenn hier auch nicht praktikabel.
Torty
Zitat von monkja kann leider kein python das ist ja das problem
Kein Problem. Wer sich in PHP eingewühlt hat, wird seine helle Freude an Python haben. Denn Python ist wesentlich sauberer und überschaubarer und natürlich einfacher. *g*
Torty
Wie hast du Zope installiert?
Wo hast du danach Zope auf der HDD gefunden?
Torty
Nein - ich hatte so einen Fall noch nicht.
Sry.
Torty
Ich kenne das Produkt nicht, aber ist es möglich, dass es mit seinem Stylesheet die DocumentActions und SiteActions ausgeblendet hat? Findest du die entsprechenden Links im HTML-Sourcecode? (im Firefox CTRL+U)
Torty
Falls du eigene Images verwenden willst, packst du die in /custom oder in einen Skin-Ordner deines eigenen Skins. Die Ordner von Plone bleiben unberührt.
Die Icons tauscht du dann per CSS aus. Zum Bsp so:
...
#siteaction-sitemap {
background: url(&dtml-portal_url;/info_icon.gif) no-repeat left center;
padding-left: 20px;
}
#portal-siteactions li a {
background: url(&dtml-portal_url;/info_icon.gif) no-repeat left center;
padding-left: 20px;
}
...
Das schreibst du in dein CSS-File schreibt welches eine DTML-Methode sein muss (z.B. in ploneCustom.css). Das Snippet ist nur ein Bsp. und soll dir zeigen, dass du sowohl alle als auch einzelne Actions ansprechen kannst.
Good Luck.
Torty