Elegantly adding basic pages as sub-pages in Drupal - drupal

I have a main page (let's call it "GROUP") accessible from a site-wide navigation bar. I've created other sub-pages ("SUB1" through "SUBn") and set their Parent item to "GROUP" in the Edit Basic page panel, but am at a loss as to how I can get each such SUBn to show up on the GROUP page.
I could simply create a <ul> of permalinks to the SUBn's, but that seems a bit inelegant and inflexible. Is there a native Drupal way of doing this?

Add GROUP to a menu (usually Primary Links for a small site), then add SUB1...SUBn as subpages on the menu, so you have an arrangement like:
Home
GROUP
SUB1
...
SUBn
Contact Us
Etc
Then use Menu Block from http://drupal.org/project/menu_block to create a block that shows entries at the first level and have the block show up on the pages where you want the subpage list to appear.

You can also use Bones module to automate the node/menu structure creation.

Related

Drupal 7 - Content structure advice

I'm pretty new to Drupal, I've done some maintenance works on some websites, but nothing very complicated.
I'm developing now a website with Drupal 7 and I would like to get some advice about the structure of my content to get what I need.
Here is the structure of my Main-menu:
|About us
| - item_about 1
| - item_about 2
| - item_about 3
|Contact
| - item_contact 1
| - item_contact 2
| - item_contact 3
In my main navigation, I have only the top level items of Main-menu (About us and Contact) without any drop down for sub items.
I would like to have a secondary menu (on the left) on About us page with sub items of About us. And I would like them to open inside About us page as a sub content, not in a new page.
Do you see what I mean? :)
Can I do this only with my Main-menu structure or do I need to change my content structure?
I check the Node Hierarchy module, but I'm not sure to see exactly how I can use it to fit my needs.
On the homepage, I would like to have three blocks with Contact's sub items content (and a Read more button).
How can I "query" like my Main-menu structure to get Contact's sub item linked page content?
Once again, is it possible with my current structure or not?
Please check below the solution to get menu blocks on desired page and set target attributes for the links
Menu Blocks
Menu Attach Blocks
Menu Attributes - allows you to set target attributes for links.
These three modules allowed you to achieve the desired one.
Hope this will help you.
Answer to your prayers is menu block module:
https://www.drupal.org/project/menu_block
With standard drupal installation when ever you make some menu you automatically get menu block for it. But it doens't have too much options.
Manu block allows you to create another block(s) out of your menu, but with more options. One of them is to select just a branch instead of whole menu tree and to select what levels of menu should be displayed in menu block you create.
If you need some more advanced block placing manipulation (what block to place where in what situation) check out on conntext module too:
https://www.drupal.org/project/context

Category Tree View / Accordion on homepage- Magento 1.9

I want to have a 2 column layout with left bar on my homepage. In the left column, I want a list of categories shown in a tree view for a particular category of the main menu (Main menu has links like Contact Us etc which I do not want in the left tree view). I tried a number of solutions online, but nothing worked. Some of them listed the categories and subcategories, but without any CSS.
Anyone tried solving this?
There's no module that fit your needs, a little development should be done to retrieve the result you are looking for.
You could use the app/design/frontend/base/default/template/catalog/navigation/left.phtml block for this. In that block subcategories from the current category are shown, normally this block only is shown on listpages with subcategories.
You can add this block to the homepage and replace <?php $_categories = $this->getCurrentChildCategories() ?> with custom code which retrieves the categories/menu structure.

Drupal Views: Create 3-Column Home Page with Taxonomy Terms

I am looking to create a 3-column home page design for my site that segregates 3 different items of a given taxonomy type (News, Training Alerts, and Advisories) into 3 separate columns. Each column shows not only the taxonomy term, but pulls the content associated with it (e.g. a teaser view of each item marked 'News').
I am not very familiar with Drupal themes, but currently I have been able to accomplish everything I've wanted with my site using the Bartik theme. Are there any ways I can accomplish this using Views and without having to change much about the Bartik theme? Or alternatively, is there a way to just create a table with PHP code that pulls the content associated with each taxonomy type into each column of a 3-column table?
The simplest way I can think of:
Create 3 separate block displays, one for each term, using the Content -> Teaser output.
Download/enable Blockgroup and create a new block region (called "Front Categories") and place it wherever and assign it to
Put those 3 block displays inside the new block group region in whatever order you would like.
Add some simple CSS to give the blocks an even width, like: .region-blockgroup-front-categories .block-views {width: 33%;}
That should get you about 90% of the way there, if not completely work out for you.

Drupal - menu items linking to the same node do not display all children

i have got a menu structure like this:
-menu item level 1
--menu item level 2
---menu item level 3
all items are linking to the same node. now, if i visit the node only the first two items are displayed. what i found out is: when i change the link of the first level menu item to something else, all level get displayed right.
menu modules i use:
Menu block
Menu Settings per Content Type
Menu Trails
Administration menu
Auto Menu Title
Hierarchical Select
any ideas?
thanks
lukas
googletorp is right-- Drupal's core menu system isn't designed to handle this. However you can use a workaround.
Let's say that you'd like to create a nested menu in which one of the children links to the same path as its parent. Something like:
people/friends
people/friends
people/family
people/neighbors
This works in theory-- the menu items will take you to the correct page. But if you're relying on Drupal to correctly set the active trail and expand the correct sub menus, you'll have to use a bit of a workaround. You're basically going to create dummy nodes that will redirect to the desired page rather than creating two menu links that have the exact same path. The parent (in menu) will redirect to the child's node.
Method 1 (D6 only):
Download and install CCK Redirection
Create a Content Type 'Redirect Node' and add a CCK Redirection field to the content type
Create a page node (node 1) with URL "people/friends" and add a menu link
Create a 'Redirect Node' (node 2) and create a menu link for this new node.
Set CCK Redirection field to the URL node 1 (people/friends).
Set node 2's menu item to be the parent of node 1's
Method 2 (D6&7):
If you want to get really fancy, you can take a more user friendly approach by combining CCK's Node Reference module with the Rules module.
Download and install the Rules module (and Rules UI) and enable CCK's Node Reference module
Create a Content Type 'Redirect Node' and add a Node Reference (D6) (D7) field 'field_redirect_target'. Be sure to configure this so that it is required, and users cannot select nodes of type 'Redirect Node'
Add a new rule via the Rules module when content is going to be viewed if content is of type 'Redirect Node'
Redirect to page: [node:field_redirect_target-path]
Create node 1 of type page
Create node 2 of type 'Redirect Node'
Set Node Reference field to Node 1
Set node 2's menu item to be the parent of node 1's
This method is a bit nicer for users, since it doesn't require them to find the system path for the target node.
Depending on your setting, the menu module will show the active link it it's children. It is, however, not designed to search for more than a single link. This is why you wont get the full nested menu structure. My guess is, that the top one is the link it finds first, and that is where it stops. I can't remember the algorithm for the menu structure, you might have luck rearranging the menu structure, making menu 1 the last child. This is, however, not something the Drupal menu system is designed for, and you will not have an easy time changing this.
What are you trying to accomplish by linking the same node several times is a nested menu structure?
I solved my problem using menu first child. I didn't look at the code it uses, but it simply works. It's really a bummer that this doesn't work out of the box and you have to use such workarounds. But actually this increased usability for my case.

How do I add items in Primary Links automatically as soon as some user publish new content

I am building a website www.etutornetwork.com, in top menu I have included a link to a new content type [services]. I want to add a link in dropdown menu as soon as I publish new content in services.
Please Help, Thanks in advance.
and one more question, I dont want to give any name to one of the menu in the site. I tried using or leaving it blank, but it does'nt like this.
You can attach it in node creation time (see Menu fieldset), or use module like Auto Menu. Some more details about this module (from its project page):
The Auto Menu module automatically generates menu entries on node creation/edition. Parent menu item can be specified on a per content type basis.
This module acts when the menu section of a node is left empty only. So, users can still organize menus manually. Moreover, default setting for content types is to not create menu items automatically.
I use Taxonomy Menu, to create my secondary menu. It is very flexible to use. Some more details about this module (from its project page):
Features
Custom Menu per vocabulary
Uses the default taxonomy term path or custom paths
Integrate with Views
Integrate with Pathauto: use URL/path aliases
Does not interfere with other menu modules
You can take away the permission from users dealing with menus. Then when you are publishing submitted content from them, you can assign them a menu entry and control the title.
Other than that, you could use Views (since Services is a content type) to create a block that lists all Services with links directly to the node.
Either way, someone will have to title the nodes/menu items. It's easier administrative wise to remove menu permissions from users submitting content.

Resources