FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[de] spezial Menü abhängig vom Template...
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    PyLucid - CMS - Forum Forum Index -> plugins
View previous topic :: View next topic  
Author Message
jens
Administrator


Joined: 12 Oct 2005
Posts: 972
Location: duisburg, germany

PostPosted: Thu 30 Oct, 2008 12:54    Post subject: [de] spezial Menü abhängig vom Template... Reply with quote

nano wrote:
jens wrote:
Du meinst das je nach dem welches "Globale Template" genutzt wird unterschiedliche plugin_templates genutzt werden???


Ich habe eine Webseite die soll 2 Unterschiedliche Designs haben, je nach Bereich wo man sich befindet. Ich verstehs zwar nicht warum, aber es soll halt so sein, und da hätt ich im main_menu folgende 2 Sachen
Code:

<li>
  <a>{{name}}</a>
  {{ submenu }}
</li>

und im anderen eben nur
Code:

<li>
  <a>{{name}}</a>
</li>

bzw. evtl kann ich da noch nichtmal li nehmen, aber das wird sich noch herrausstellen.

Ich hoffe es ist jetzt klarer was ich erzeugen soll.

Gruß Manuel

_________________

http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
Back to top
View user's profile Send private message
jens
Administrator


Joined: 12 Oct 2005
Posts: 972
Location: duisburg, germany

PostPosted: Thu 30 Oct, 2008 12:57    Post subject: Reply with quote

Tja, also theoretisch kann man sowas machen:
Code:
{% ifequal PAGE.template.name "basic" %}
<li>
  <a>{{name}}</a>
  {{ submenu }}
</li>
{% else %}
<li>
  <a>{{name}}</a>
</li>
{% endifequal %}


Praktisch geht das aber doch nicht. Denn das main_menu Plugin steck in den context nicht das PAGE Objekt, somit kann man das in der internen Seite/plugin_template nicht auswerten.

Aber mach doch einfach eine Kopie vom main_menu Plugin und ändere das. Dann kannst du es so machen wie du es brauchst.

Davon mal abgesehen, das main_menu ist von den plugin_templates und html erzeugung eh schlecht gelöst. Das Problem ist, das die django template engine keine recusiven Sachen kennt. Das müßte man selber erzeugen.
_________________

http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Thu 30 Oct, 2008 17:18    Post subject: Reply with quote

Rekursive Sachen brauch ich gar nicht. das main_menu ist für mich wie der Name schon sagt ein MAIN_menu. also nur die eine Ebene. und dann eben die unterebene mit submenu. Mehr will/brauch ich gar nicht. Ich selbst finde es gut so das es so ist wie es momentan ist. Und wenn man eins macht das rekursiv die Dinge löst, würde ich das als neues Menu schreiben.

Das einzige was mir so spontan auffällt, warum ist das main_menu nicht wie das sub_menu in einer Schleife gelöst?
Back to top
View user's profile Send private message
jens
Administrator


Joined: 12 Oct 2005
Posts: 972
Location: duisburg, germany

PostPosted: Thu 30 Oct, 2008 17:21    Post subject: Reply with quote

Da verstehst du was falsch. Das main_menu ist das Plugin welches das Hauptmenü als Baum darstellt. Einen Baum zu generieren ist was rekursives Wink

Am einfachsten ist es wohl, du schaust dir die Plugins main_menu und sub_menu an und baust dir dein eigenes Menü-Plugin Wink
_________________

http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Thu 30 Oct, 2008 17:22    Post subject: Reply with quote

hmm, intressant, das main_menu macht bei mir keinen Baum, sondern genau die oberste Ebene
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Thu 30 Oct, 2008 17:33    Post subject: Reply with quote

sorry mein Fehler...

du hast Recht, ich brauch andere Menus, nämlich ein ""Main_Menu"" was wirklich nur Main ist und mir die erste Ebene ausgibt, und ein sub_menu, was rekursiv alles andere kann.

Ich mach mich mal an die Arbeit Wink
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Thu 30 Oct, 2008 20:23    Post subject: Reply with quote

gar nicht so einfach das zu erreichen was ich will. Zumindest momentan wo ich mich grad erst wieder einarbeite.

Ich hätte nämlich gern im "first_level_menu" ( Wink ) nicht nur dann eine Markierung wenn dieser Punkt aktiv ist, sondern auch bei Unterseiten... und das finde ich momentan gerade leider nicht.
Back to top
View user's profile Send private message
jens
Administrator


Joined: 12 Oct 2005
Posts: 972
Location: duisburg, germany

PostPosted: Fri 31 Oct, 2008 14:45    Post subject: Reply with quote

Ja, also das Thema ist wirklich nicht so einfach Wink

Ich wollte immer mal eine Art sclicing für das menu plugin einbauen. Also das man sagen kann, gib mit das tree Menü nur bis Level 1 und einmal alles ab Level 2... Ist im Prinzip ähnlich dem was du willst.

Aber Baumstrukturen zu verwalten ist nicht so easy.

Ein paar Startpunkte:
http://trac.pylucid.net/browser/trunk/pylucid_project/PyLucid/tools/tree_generator.py
http://trac.pylucid.net/browser/trunk/pylucid_project/PyLucid/db/page.py

Schau dir auch mal das an: http://trac.pylucid.net/ticket/97
_________________

http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Sun 02 Nov, 2008 18:40    Post subject: Reply with quote

Baumstrukturen... Wink Hab ich im letzten Projekt gemerkt Wink

Ich werd mich wohl direkt ans Konfigurierbare Menu machen, weil das was ich vorhabe allgemeiner zu halten sollte nichtmehr soviel Unterschied machen. Die links helfen etwas, aber leider nur bedingt weiter. Wir werden sehen...
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Tue 04 Nov, 2008 18:45    Post subject: Reply with quote

Ich werde wohl im Treegenerator und so etwas rumschreiben müssen. Was ich nämlich noch sinnvoll fände, das der aktive Knoten gleich als "active" oder so markiert ist. Und das alle Knoten von Ihm bis zum Root mit "subitemactive" markiert sind. Vorhanden sind die Informationen im Dreegenerator schon, ich fände es nur geschickt wenn ein MenuNode diese Information gleich beinhaltet, und man im Menüplugin das ganze nicht erst durch Vergleiche ausfindig machen müsste.

Nur so als Info das sich was tut.
Gruß
Manuel
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Tue 04 Nov, 2008 21:06    Post subject: Reply with quote

Es ist vollbracht! Jetzt fehlen mir nur noch ein paar Testfälle, und dann liese sich main_menu durch dieses Menu ersetzen.
Soll ich es Main_menu nennen oder lieber anderst? Wenn anderst, dann brauche ich Namen Wink

Es hat zwei Variablen, einmal min, einmal max, die die Level angeben, die es einbeziehen soll.

Wohin mit dem patch? Wink
Back to top
View user's profile Send private message
jens
Administrator


Joined: 12 Oct 2005
Posts: 972
Location: duisburg, germany

PostPosted: Wed 05 Nov, 2008 09:24    Post subject: Reply with quote

Das hört sich ja gut an.

Ich denke es kann bei main_menu bleiben. Denn so ich es verstehe, erhält man ja das alte Verhalten, wenn man kein min/max angegeben hat, oder nicht?

Am besten machst du kein Patch, sondern pastes den ganzen code, z.B. hier hin: http://paste.pocoo.org/
_________________

http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Wed 05 Nov, 2008 10:16    Post subject: Reply with quote

den einzigen Unterschied kann man per CSS ignorieren.

Alle Knoten auf dem Weg zwischen Root und aktiven Knoten bekommen momentan eine zusätzliche Klasse "active" zusätzlich zu dem "current" das der aktive Knoten bekommt. Ein bischen was an den Templates hat sich geändert.


Ach schaus dir einfach an Wink
main_menu.py http://paste.pocoo.org/show/90232/
templates:
main_menu.css http://paste.pocoo.org/show/90228/
main_menu.html http://paste.pocoo.org/show/90229/
main_menu_entry.html http://paste.pocoo.org/show/90231/


Last edited by sepharim on Wed 05 Nov, 2008 10:22; edited 1 time in total
Back to top
View user's profile Send private message
jens
Administrator


Joined: 12 Oct 2005
Posts: 972
Location: duisburg, germany

PostPosted: Wed 05 Nov, 2008 10:19    Post subject: Reply with quote

Dachte du hättest was am TreeGenerator geändert?
_________________

http://www.jensdiemer.de | http://www.htfx.de | http://www.python-forum.de
Back to top
View user's profile Send private message
sepharim



Joined: 27 Dec 2007
Posts: 180
Location: Germany

PostPosted: Wed 05 Nov, 2008 10:27    Post subject: Reply with quote

Hab ich auch.
nur vergessen :/

sind 3 Zeilen: oder hier als ganzen http://paste.pocoo.org/show/90233/
Code:

--- tools/tree_generator.py   (Revision 1787)
+++ tools/tree_generator.py   (Arbeitskopie)
@@ -26,6 +26,7 @@
         self.id = id
         self.data = data
         self.parent = parent
+        self.activated = False
         self.subnodes = list()
         self.visible = False
 
@@ -41,6 +42,7 @@
         activate self + all sub nodes + the parent node
         """
         self.visible = True
+        self.activated = True
         
         # Activate all subnodes:
         for subnode in self.subnodes:
@@ -73,6 +75,7 @@
     def _get_current_entry(self, level):
         current_entry = self.data.copy()
         current_entry["level"] = level
+        current_entry["activated"] = self.activated
         return current_entry
 
     def to_dict(self, level=0):
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    PyLucid - CMS - Forum Forum Index -> plugins All times are GMT + 1 Hour
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

<< back to PyLucid CMS Homepage



Powered by phpBB © 2001, 2005 phpBB Group