I am using Drupal 7 and I have realized that I have a main menu which has about 416 links. I know that they are too much links, but there is no way to simplify it. Because of that, it is quite difficult to edit the main menu; for example, If I try to edit the menu and save it, the POST request is too long and it has some side effects: it gets filtered by Firewalls, the SQL query is too long, etc.
Currently, If I want to change the order of each link I have to edit them one by one and change their weight. So, If I want to move a section with 10 links, I have to edit the link, change its value and save it, that's about 3 click. Eventually, It would take me about 30 clicks to change them all, at least. It is really painful to do that, that is not usable.
So, is there any way or any module to fix that? For example, is there any way to paginate the links? How would you handle this problem?
There is one module called HugeMenu which was started by #dman after this discussion.
You should give it a try.
Having huge menus may slow down your Drupal instance in a lot of places, you should also have a look at the MenuPerformance module.
As a side note I'm always astonished by the lack of pagination and volume support in basic CMS graphical user interfaces in Drupal, you should never have too big taxonomies, too big menus, too much content types (the very simple default admin/content page and the awful ergonomy of the filters on this page...), too much ACL (the administrative area contains a huge table of roles*acl), too much blocks, etc.
Related
I am a little bit confused. How do we reuse areas from another page? Lets say I created an article in an articles area on my index page. How do I display that same content in another page?
Ive read the following https://documentation.magnolia-cms.com/display/DOCS53/Reusing+area+content
Seems kind of complex. I dont understand the pom file.
Cant we acccomplish this purely in light modules? If not, could someone show me an example of a simple content reuse scenario?
Yes you can do it purely w/ light modules. Look at this article. Example there is custom "quotation" app and the quotes you create you can render and reuse in as many different pages/page-types you want.
However it is slightly different than what you ask. In your question you want to reuse content from the page, which is also possible (you just need to address that content and feed it to appropriate cms tag in your page template (you can forget all about maven and so on, just focus on your templates). In the example I point you to, you create custom app for stories, articles or any kind of content and then just refer it from all pages where you want to render it. This allows you not only to share the content, but also separate it's editing from the page structure which makes life of editors easier in long run.
I have posted this question to the plone user mailing list as well, so I hope nobody minds that, especially since it is nothing I have hidden.
Since my question is hard to put into a generic question, I'll try to explain it with a (hopefully) illustrative example. Please bear with me on this one.
Content Type: Product
Each product shall have several explanatory sections with a title and a rich text as the section contents. Said title should be either taken from a listen of predefined titles (by the editor) or entered freely once (the exception).
Since the site will use Dexterity and requires a multilingual approach (plone.app.multilingual), centralizing the titles saves the translators some headaches and avoids unnecessary duplicates. Also in general, the styling is done through Diazo, so the sections will be mapped on a nice widget.
My problem is, how to map this onto Plone with usability for the editors and translators as well as efficiency for the software stack in mind.
Approach 1
Put the titles in a hidden folder and use a vocabulary in the Product content type. Also make the Product a folderish content type and require the editors to enter each section as a separate item into said folder (e.g. ProductSection non-folderish content type). Repeating that process for each product. But this seems not very user friendly and imho would not scale very well with the number of products and sections.
Approach 2
I could naturally also reduce the Product content type in general to just one single rich text field and have the user enter each section as a div block with a headline and a paragraph. Even though this is the easier way to implement this, it puts the burden on the translators (many duplicate translations) and on the editors (e.g. changing a title for marketing or whatever, requires changing it manually through all products etc.).
Again, please remember this is an illustrative example of my problem and here Product is really that, a product from a company's portfolio and not a Plone add-on. ;)
So my question basically boils down to this: Which approach sounds more reasonable? Or is there a more standard and/or creative way to solve this problem?
Thanks a lot for any suggestions and help in advance. It is very much appreciated...
UPDATE
After I received a very enlightening answer on the plone users list, my current thinking (untested, brainstorming) is as follows:
Product will be a custom form (due to MultiWidget, see below)
the section blocks will be saved in a list on the Product object (titles will be a choice field only)
the section titles will be saved elsewhere and manageable through different means (needs to be accessible by a Site Administrator, so anything ZMI is out of the question)
easy editing through z3c.form's MultiWidget (that's the key ingredient, actually)
If this works out and plays nicely with Dexterity and multilingual, I guess that's quite the optimal solution for everyone involved.
Naturally I'd appreciate any and all kinds of comments or suggestions. Maybe I am totally on the wrong track now but based on what I read up, this should actually work fine.
(I added this on the Drupal support forum also, hope that's ok :) Just hoping to get plenty off feedback)
I am not long after finishing my first major Drupal 7 build, which was really enjoyable but I would admit a rather large learning curve, which after over a year of development, I would admit I still don't know the full power and capacity of Drupal.
My build started off with building our own sub theme, and using that to overwrite all the core theme styles and tailor it to our needs.
Next, I will explain the structure our build. I was tasked with approx 20 different page styles, so in turn I developed 20 content types(templates) for each of these different styles, from here I then added a number of key fields to each content type and then inputted my code into these fields within each content type. e.g. A page with a banner region, a slider region below and a content region below that, for this example say they are all 960px the width of our sites body. So this content type would be made up of three fields, with the the div's and content added to each.
The node developer process would be, if the user wanted that above e.g. style of page, they would select that content type, and simply edit the demo content with the new nodes needed content and set live. So this is the process of the site for developing pages, which has not hit a wall, sadly for me.
So my question is, would it be possible to have say a content type (Or suggest a better approach) which we could globally switch around the layout/styles which then would filter down to all the children nodes? or be able to assign nodes to different content types or anything along them lines? I did look at switching between subthemes for a specific content type, which on each of the subthemes would have different set .css styles but this could maybe get messy and quickly get out of control.
If you guys could give feedback on our build and how it compares to yours and how we could go about making more efficient that would mean a lot.
Guys, any help or suggestions at this time would be greatly appreciated.
Best Regards,
Joe
There are (at least) three modules which help you lay out and/or modify content on a page. They are: Panels, Context, and Display Suite. Here's an amazing tutorial which walks you through each of them so you can get an idea of how they are used. Use the dropdown at the top-left side of the page to jump to "Advanced Site Building" and scroll down from there.
I've recently taken on a project from a client of mine, after a lot of persuasion I've managed to finally get the website under some kind of CMS. I'm pretty new to Wordpress I've come from an ExpressionEngine background and fancied trying something new for a change, so excuse the lack of knowledge (I'm trying my best! :D).
Now The issue I'm currently facing is that they have very specific directions regarding how they want their content displayed on their website and more importantly how they would like to manage it. They are a travel agent I'm currently putting together the resort directory that will display all of the resorts they offer.
In regards to the current structure of the directory it will be made up of 4 different sections. To give you a better understanding of how I want things to work take a look at this hierarchy below, (I've used turkey as an example, these would need to be dynamic):
/destinations/ This will be our destinations page that will list
all of the countries they currently
offer. I imagine this to be a static
page with some content about the
countries on offer with a list of the
countries below (These will be our
parent taxonomies).
/destinations/turkey/ This will be our parent taxonomy. This
page will also have to have the
ability to add some static content to
insert information about the country
and its locations. Below this will be
a second list, these will be the
different areas of turkey (These will
be children of the parent
taxonomies).
/destinations/turkey/belek/ This will be our child taxonomy, This
page will again need to have the
ability to add some static content.
It will also include our list of
resorts that my client offers within
this location (These will be our
entries/posts).
/destinations/turkey/belek/resort-name
This will be our post/entry page,
here we will have all of the
information on the select resort, the
specifics of this aren't an issue and
I've already got this sorted.
Now, I've done a lot of reading up on custom post types, custom taxonomies and their abilities and uses but I'm hit with a situation at the moment where I can't decide on which route I should take. I've been experimenting over the last few hours with the setup of one custom post type (for resorts) and one hierarchical taxonomy (for locations). Which works some what ok BUT due to the limitations of the taxonomy UI within the admin panel it doesn't allow me to add my static content/images etc. (I'd much prefer to use a WYSIWYG especially from a clients point of view).
So this makes me wonder if it would be worth making two custom post types and scrapping taxonomies all together, making one of the post types resorts and the other locations. With the locations post type I could set it up like the pages module (which would give me hierarchical controls to allow me to organise my locations how I had originally planned) but is this a wise move? I mean from what I've read you shouldn't really organise content this way but I've got a feeling that maybe just a clash of contextual semantics (I could be wrong!). Would there be any limitations for me setting things up this way should I wish to add search functionality in the future? Or anything else for that matter?
I thought I'd mention this before I FINALLY click the submit button (apologies for the great wall of text) but pages... I've read here that they are powerful little gems within Wordpress, how should I be taking advantage of these if I'm using custom taxonomies? How well do they work with listing categories are they what I need?
Right, that about wraps up everything I've got to ask for now - maybe I should have split this into a few posts but hey! I hope this gives you guys enough information about what I'm trying to achieve and please if I am going wrong feel free to point me in the right direction I'm really eager to learn more about Wordpress and it's capabilities.
Regards
Danny
While this is one approach, it sounds like what you really want to be using (rather than custom post-taxonomies) is simply the Page functionality of WP. Everything you're describing is simply the hierarchical structure of the navigation of your pages. Yes, you can use the custom taxonomies to accomplish this same thing, but since you're describing things that tend to be "one" thing (ie: a single resort) you probably don't need the taxonomies.
You might want to look at another option: PODS CMS http://podscms.com
This will give you a simple structure to add custom features to your posts relatively easily... Things like pricing, amenities, and other "organizable" details can be stored using PODS and then referenced across your site for better usability. It might be worth a look!
The home page of this site will have basically a 3 column layout.
I can create these as either content or blocks. I like using content because its easy for the user to understand, they login to the site, they browse to the page they want to edit, they click edit, but with blocks they have to go into Administer > Blocks etc
Any suggestions on this?
I would be managing the actual content as nodes(content) and then looking at blocks(or something like it) to arrange them how you like in your template regions.
If you are looking at creating custom home and/or landing pages, you might also want to look at http://drupal.org/project/panels - it can be a little heavy, but quite powerful for arranging content into columns and whatnot.
Not really sure what you're asking...
Administer > Blocks is for moving the blocks around into regions / disabling them, not really for creating content.
You can use the Node as Block module to easily turn your nodes into blocks, and they would still edit it from the content administration section.
Or, you could create a blank block, and in its associated template file (block-whatever.tpl.php) embed the node (node_embed, pretty much what the Node as Block module does) or query for it with a view and embed that (views_embed_view)
Or, if you're using views, you could create a view that queries for the node(s) you want and create a block display for that.
When you're actually building the Drupal site, you should consider what paradigm you're most comfortable with since there are so many ways to get your content together.
i would say boxes will help you. http://drupal.org/project/boxes
Many themes have block edit links/images as a part of them. Fusion is one such example.
I would suggest looking into Panels for layout and block editing, and also to download a version of open atrium. The layout management is uses is much easier than the administer blocks pattern.