By lekei on
Can the menu be themed as a DHTML menu in 4.6?
I found a thread on DHTML menus and I have built a template to use them but I can't tell if when they refer "head" in that thread (which was written before 4.6) it refers to what is now 4.6 or some "future" release.
It seems that the ability to move menu elements around was added in 4.6 and the ability to output the full menu was alleged to be tied to that.
Comments
Don't see a difference
I checked drupaldocs.org and I don't see a difference between 4.6 and head in the menu_tree function, yet the above mentioned thread states that there are new functions.
Has anybody made this work?
I can see that I could use menu_get_menu() to write an entire replacement for the menu system but that seems to be wrong.
Allegedly, theme('menu_tree', 1, TRUE) will make the entire menu display, but I can't find out if that is in the current version or some future version.
Ok. I will be specific.
This is the biggest problem with Drupal. Key functions are undocumented and the comments that are found do not have version references.
There is no apparent difference between the released version (4.6) and HEAD for either the theme function (http://drupaldocs.org/api/4.6/function/theme) or the menu_tree function (http://drupaldocs.org/api/4.6/function/menu_tree).
The comments about changes to the way the menu system will work are a year old and refer to upcoming changes.
The thread
is useless out of context, however I can see no parameters to the get_menu() function which are of any use in this manner.
As you can see from the above link, the theme function is virtually undocumented (there is a function called theme and it has some parameters), yet JonBob seemed to pull some parameters from somewhere.
My theme is ready to plug in code to populate the menu and yet the project has been dead in the water for 2 weeks because I can't get clarification on which version works which way.
I have no interest in doing something in a way that will become redundant in the next build of Drupal.
This is frustrating ... but
This is frustrating ... but it seems Drupal is for "developers", and the rest of us should be writing our own documentation as we work things out.
How are you structuring your site? Are you using just the menu module for navigation?
yes, please contribute.
Please feel free to contribute any documentation you feel is lacking. This will help the next person and is oddly enough in the spirit of Open Source software. It's how I got started.
Is Drupal for developers? That depends on what you want to do. I have succesfully used Drupal for almost two years (version 4.4, 4.5 and 4.6 for those in need of version numbers for future reference) without knowing php. If there is a module that does what you want then no it for anyone.
If there is not a module that does what you want, well, then I guess you will need to be a developer or convince a developer to help you. Convincing can take the form of enticing interest with a interesting issue. Or making snide comments and well, now you need to pay someone to interest them in developing a solution for 'YOU'.
There are several developers that do not read the forums, others who do. Some are on vacation right now and not near a computer, others working their day job and are very busy. Your questions are not being answered for a veriety of reasons. I would give you more details but well, now we're back to that I don;t know php (nor do I want dhtml menus as I don't know why I would want them). So I hope to educate you on the resources available and th process to fall back on.
-sp
---------
Test site...always start with a test site.
Drupal Best Practices Guide
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
I'm still learning Drupal
I'm still learning Drupal basics. It will be a while before I am writing, requesting, or financing modules.
BTW, do you agree with Bèr, when he wrote:
While this may be true, I hope the two aren't seen as mutually exclusive.
think about it
Think about it carefully. Open Source is about people scratching their own itch and letting it benefit others if it happens to do so. You are benefitting from the work of a lot of people. You are welcome to benefit from that work.
Drupal code itself would derive more benefit from people who participate in working ON Drupal code then in people who continue to 'nag' about something they want without helping or providing the help to get there.
We have a lot of excellent users in our community. Then we have a few whose first comment is 'Why doesn't Drupal have an install system like 'X other CMS'?' The very question fails to grasp the complexity of the problem.
As it is, Drupal is very easy to install. Drupal core itself would derive more benefit from the other classes of active participants listed by Ber then a thousand people nagging about wanting something and not helping to solve the issues. Better methods to improve the UI, better QA, better workflow..... These are truly more important than a install system.
I add two more classes of people. Documentation and mid level site admins who remain active in the forums once they get stuff setup. Oddly enough, the difference between a mid-level site admin and developer is not much. The difference between being new and a mid level site admin is also, not much.
Stick around. Help out. Have fun.
-sp
---------
Test site...always start with a test site.
Drupal Best Practices Guide
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
Drupal may be easy to install
Drupal may be easy to install, but nearly 300 un-billable hours into it I still don't have a presentable site. There are many Drupal concepts that are hard to follow for someone with a lot of experience in other systems.
And if you think it is easy to install, try actually using the db_prefix to install multiple sites from a single code base.
Hey Sepeck, I found Drupal
Sepeck, I found Drupal easy to install ... that wasn't the point I was trying to make.
I think Drupal can "pander" to technically ignorant new users, and be developed at the same time. That is, if people feel it is important to widen the user base. Perhaps that isn't important; I certainly get the impression it's not a priority at the moment.
Just my thoughts ... maybe I'll think differently in six months ... let's re-evaluate the question then! :)
target
If you want to pander to the technical neophyte, then that's fine. It is a complex support issue though. There are a few others who share your goal. MY goal is to hit those who are interested in the technology enough to invest the time learning it. I am not interested in those that want a silver platter solution, but that's just me.
I want those folks that will be the mid level site admins who are interested enough to learn this stuff and who will stick around and help in the support forums. These are the folks who will be of benefit to the neophytes. I (and many others) simply do not have the time to do that detailed level of support here.
If we get more mid levels, then that generation will be able to help do the hand holding. Drupal is simple. It really is. Once it clicks.
Now, you say you are new. But you have figured out some stuff right? Good. Write it down. If it is not in the handbook, then create and submit a page. If it would have helped you, and you write it, then it WILL help someone else. I know or can figure out how to use Drupal core and contributed modules for the most part. I am to far from being new. You are not. Start writing.
-sp
---------
Drupal Best Practices Guide and don't forget your test site
Back Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
Let me get this straight...
You are saying that Drupal is only for advanced users?
I would argue that drupal is for people who want cookie-cutter sites or are serious hackers. What would you call an advanced user?
I have over 25 years of interactive, on-line software design experience and have been doing Internet development for over 10 years. I have programmed in about 30 different languages on a dozen or so operating systems.
I have used 10 or 12 different content management systems (a few of which I have written or maintained), and I have launched over a hundred web sites. I was responsible for in-house training and support on Interwoven, and a custom perl-based cms.
I see the power of Drupal, or I wouldn't be continuing to struggle with it, but I have NEVER seen a system that needs more hacking, patching and fiddling to get to work.
Not to get it to function... it works great in a few hours.... then the fun begins.
It can't do the simplest functions like display a menu, organize elements on a page, or order stories without the use of a really big stick.
REAL programmers find hacking and patching to be offensive. You don't want to have hacked and patched code released into a production environment.
Please stop insulting people by assuming that just because they have difficulty with some of Drupal's really strange ideas that somehow they are not "smart enough" or "experienced enough". Sometimes people might have too much experience.
For example, I had always relegated blogging to the sk8tr kids. Bloggers are the kind of people that you cross the street to walk around. Needless to say certain orientations of Drupal took a long time to break down certain prejudices.
Then, of course, there is the whole taxonomy thing. Inconsistent vocabulary and conflicting information. Relation to breadcrumbs in 4.6 is something I am still not sure of... but ignoring for now.
you read something
different then what I wrote. That is not what I said at all. I DID NOT INSULT ANYONE and find the idea offensive. We were having a conversation and you seem to have taken it as something odd and launched into an personal attack on me.
Menu's work fine for me, you don't like it? Then contribute towards making it work in a fashion you want it to, it works for what I want it too.
I am not interested in how much more experiance you have than I do with programming. I am not a programmer. I am not interested in being a programmer.
I am no longer interested in continuing a conversation with you.
-sp
---------
Test sites and good habits: Drupal Best Practices Guide.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
Menu module
Yes, I am using the menu module. I struggled with taxonomy-menu for a long time but it adds all of the vocabularies needed by some modules to the menu.
The menu module in the common format is slow because it must reload the entire page for each step in navigation. Dhtml menus have the advantage that they only load the correct page.
But in order to load a dhtml menu, you must have the entire menu expanded into the code.
Drop down menus
There are some nice drop down menus at http://www.nickrigby.com/examples/dropdown3/index.htm and http://www.aplus.co.yu/css/nestedtabs2/ (& I suppose you have seen the suckerfish drop downs at www.alistapart.com).
Menus like these have advantages, but I wonder whether having "hidden information" that you only see when you mouse over something, makes a site harder to navigate for some people.
Have you managed to completely expand the menu yet?
Drupal is open-the-source
I know. I am a developer. I wanted to use a CMS because I didn't want to code the core CMS. If I write code, it should be custom code for a particular web site.
I chose open-souce because the code has been subject to peer review, not because I wanted to hack it. In Drupal you MUST become familiar with the code (unless you want a bog-standard Drupal site).
In fact, I find hacking and patching quite distasteful. It is against every principal of software development I have ever learned. It leads to broken code when you do a software upgrade. One rule I have always lived by is that once you patch something, you can't release it. Not until the changes have been properly integrated.
---
I never wanted to be a programmer anyway. I'd rather be a lumberjack in British Columbia!
heh
Oddly enough, your quote is out of context so no one can accuratly comment. It looks like a comment thread from the project tracker/patch/feature request. Is it? Was it a feature? Does it show as committed? Does it show as still open? Your quote is out of context.
Your links are from Drupal 4.6 sourcecode. If it's there guess what? It's in 4.6. You may now develop modules for the 4.6 branch. Here is the link from HEAD: http://drupaldocs.org/api/head/function/menu_tree doesn;t look changed much /..... yet.
here: http://drupal.org/upgrading is the section on upgrading modules.
You want dhtml menu's. Good. Evidently you are one of a few. Please become our expert on the subject.
-sp
---------
Test site...always start with a test site.
Drupal Best Practices Guide
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
The full reference
The full reference is in the initial post. The quote is only to highlight the part that was of concern. I needed to point out which part is confusing when taken out of version context. For the first 3 weeks I was the only person posting to this thread, so I thought it was redundant to keep posting the link.
There is an implied assumption is that any documentation written before March 2005 which refers to patches needed to provide functionality coming in a future release should be taken as being no longer relevant.
The original post included the use of patches against an unknown version (assumed to be 4.5), and reference to changes to the theming function in the upcoming version.
Since the point I made was that the code appeared the same between 4.6 and HEAD so I couldn't tell if there had been any change (the code is so complex and spread-out that I could be looking at fall back code, not what really gets executed once modules are installed and it is themed).
I am now trying to port my theme from phptemplate to pure php so that I can use the theme function directly and see if the changes mentioned have been made. Nearest I can tell, you can't use the theme function in a .tpl file because it is done by the engine, which just gives you parameters with blocks.
The code documentation is minimal and the code itself is spread over so many modules, files, callbacks, overrides, etc. that it is extremely difficult to follow, especially in virtually uncommented code.
missed it
My bad, I thought the link was refering to another thread and didn't check it.
Here's the deal. That is an open active request currently assigned to no one and no one is working on it.
Here is the Drupal project release dates.
http://drupal.org/node/3060/release
Compare the comments with the release dates. When there is a freeze, nothing happens until release candidate is ready for release. When near or after the release of a version, cvs is branched with a HEAD version. HEAD refers to head at the time of the coment. HEAD is a moving target. HEAD will always be a moving target. HEAD is the code base for the next version. This is something you will hopefully adapt to over time.
Any unclosed features must then be reviewed. and assumed to still be open as no one has seriously worked on them o rthey are not in and committed Or it is missed. :)
You can check to see if any patch on it still applies and report back up down or any improvements etc.
You can submit patches that include additional documentation to it. Documentation good.
-sp
---------
Test site...always start with a test site.
Drupal Best Practices Guide
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
Apologies
I apologize to everyone for verbalizing my frustrations. I tried for several weeks to get clarification on one unclear point that has been holding up a site.
I was frustrated that it sat there, unnoticed, until someone added a comment that they had frustrations with Drupal, at which point the thread became active, but off on a tangent.
A lot of wasted time -- IT CAN'T BE DONE!
I don't know why it doesn't track in the recent posts list but here is a comment in another thread that shows why I wasted over a week of time spread over several weeks trying to get menus to work to find that the ability was REMOVED FROM DRUPAL BEFORE 4.6!
So for the people who personally asked be to notified when I find the solution to this issue, the answer is -- it can't be done in Drupal.