I am a beginner to the Joomla CMS platform (experienced with word-press and laravel frameworks). I have a very good understanding of MVC , however am having a hard time understanding Joomla's menus connection to components , what is the logic here ?
Is it that components call menus or vice-versa ?
NOTE : AM USING JOOMLA V- 3.4.6
If I understand correctly, you're asking how the creation of menu items links to components? When you create a menu item, you have to chose what kind of page, article, or component you're going to link to, and you have to choose from a massive list depending on how many components you have installed.
For example, with Articles you have the following choices:
Archived Articles
Category List
Category Blog
Create Article
Featured Articles
List All Categories
Single Article
What this does is call the component in question into the main position on your Joomla! site. How this component is displayed is up to you. So selecting "Category Blog" will allow you to display all of the articles in a specific category of your choosing. If you want to just display a page with your choice of text on it, you'd need to create an article and then select Single Article, using the desired article as the Menu Item Type.
Most of the display settings can either be changed in the component's menu or in the Global Configuration menu.
Related
I am using a module that displays latest article posts. I am using 2 templates , one for the homepage and the other called templatePage for the other pages.
The problem is that articles not assigned to menu when clicked display using the homepage template instead of templatePage.
Is there a way to assign this articles to the templatePage?
I don't know if exists other option but you could set these articles to a menu and then hide the parent with display:none;. You will need a menu, like article holder, and just set the css.
This is ugly but probably the easy way.
Joomla 2.5
Let's say I got "News" category with some articles inside and modules, let's call them "module1", "module2" and up to 10.
Normally, if I got menu item called "News" with category view under it (it's called blog or something in Joomla) and I set only "module1" to be displayed there, all the items from this category will be displayed with the same layout.
However, if I add ie. "module2", which is a newsflash, to my homepage, items from "News" category will be displayed with homepage layout, with all the modules shown. I'd like them to be displayed as if they were on "News" page. How to do that?
Answer: add articles to "hidden" menu is not acceptable. Imagine blog, where you have to add all your posts to any kind of menu.
Visual explanation:
Normally, a menu position which lists articles form category and has only two modules (call them module1 and module2) enabled, will look like this: http://imm.io/FGrJ
If you click any item, you will be redirected to a page with the same layout (notice: I don't have to add all articles to menu, just article listing page): http://imm.io/FGrP
However, if I add newsflash module on my homepage, which is full of modules, clicking an item will display article on homepage, in area that I called main content. Which is bad. I'd like it to open just like article from articles listing. Here is screen: http://imm.io/FGsR
This article on the Joomla docs gives a good idea of what your tying to do as I understand it. As you don't wish to have menu items as you state in the question I think the best way is what they label as number 3 at the bottom - installing an extension that provides detailed control over where a module displays. Their featured module is Advanced Module Manager - which comes from NoNumber - something a lot of sites use and has a proven track record. However there is an entire section of modules on Joomla Extension Directory here
In Joomla 2.5, I want to display two separate blog-type streams of articles on the same page, with the complete text of each article. I can get one using jdoc:include type="component". But I also need the articles from another category elsewhere on the same page in that same format -- first a category header, then the complete text of each article.
Modules I have tried:
Latest News: displays a list of articles, not the complete article text.
Article Category: same
Newsflash: Displays the complete article text, but doesn't have a way to display a category header.
This seems like an obvious thing to want, but I don't see how to do it in Joomla. Is it just impossible?
Thanks in advance.
if you want something ready-to-go, then this is your solution:
http://extensions.joomla.org/extensions/core-enhancements/embed-a-include/18121 (Paid)
If you can modify joomla extensions, this ones could do the job (after playing for a while with the code to add the articles text to the queries):
http://extensions.joomla.org/extensions/news-display/articles-display/articles-listing/13950 (Free plugin)
http://extensions.joomla.org/extensions/news-display/articles-display/articles-listing/7314 (Module)
Or maybe take a look at these JED sections to see if there is anything more useful:
http://extensions.joomla.org/extensions/news-display/articles-display/articles-listing
http://extensions.joomla.org/extensions/news-display/articles-display/content-embed
I've been struggling with displaying more than one category-blog on a home page, but have now found a working solution.
Install the Plugin "Plugin Include Component" and the Module "Article Placed Anywhere" - both free.
For each blog that you want to appear on the same page:
In Category Manager create a category to hold the blog items (articles).
In Menu Manager create a menu item, probably on a hidden menu, of type Category Blog, referencing the category that you just created.
In Article Manager create an article contaning just the plugin code
{component url='index.php?option=com_content&view=category&layout=blog&id=XX&Itemid=YYY'}, where XX is the category ID and YYY is the menu item ID of those you just created
In Module Manager create a new module of type Articles Placed Anywhere, select the article just created and the position in which you want it to appear.
I have custom HTML & other modules on homepage which have been marked to display only on homepage. I also have articles on homepage with "read more" links.
Problem is that when I click on these read more links page opens with all the homepage modules still there and article is displayed below these modules.
I have checked setting all the modules are marked to display just on homepage, yet they get displayed on articles pages too.
Please help.
Those articles become "children" of the page you are viewing, so that's why you see the modules there.
I had that problem before, it's related to Itemid I guess.
You can use Advanced module manager to assign those modules ONLY to the homepage.
EDIT:
Manual solution without using the AMM extension.
you MUST publish the category that your articles belong to in ANY joomla menu so that those articles get their own item id because they are children of that category.
this is a default Joomla behavior since 1.5
Every article needs to have a menu item or a parent menu item, IIRC, and if it doesn't find one, its parent menu item is the default menu item (the front page menu item).
So to fix this, you need to make sure that every category has a corresponding menu item, so that every article's parent menu item is not the home page. This works because every article has a category ("uncategorized" counts as a category).
Create a hidden menu, and then create one "Articles ยป Category List" menu item for each category.
You can find more documentation in the wiki page entitled How to control module display when linking to an article with no menu item.
Here is an explanation of the joomla item id problem and a fix
http://www.joomlabamboo.com/blog/tutorials/how-to-avoid-the-joomla-menu-itemid-issue
When articles do not have a menu item they show the modules assigned to the page they were linked from, in the same way if you had a blog category menu item you would expect any blogs under that menu item to show the modules assigned to the parent without having to assign them to each and every post.
This is a big problem when you have a homepage which hides the component output as any further items just show the homepage with a different url.
I had the same problem, and installing the Advance Module Manager (AMM) did solve my problem. All I had to do was go to the specific modules that I had chosen to display on the home page (Based on the standard Joomla settings), then under the "module assignments" options of each module there were new settings (From AMM) that had a section for "Home page", I chose the setting "Include" (Default is "ignore") on each of the modules.
What this "include" does, is that it ensures that only the homepage (your true default directory, rather than the Joomla article chosen as "feature/homepage") is the one that features the modules chosen, and not children articles, or others (which was my problem)
I had the similar problem and found this article to be a great point to start:
How to control module display when linking to an article with no menu item
It works for J 2.5 and 3x
Personally I used the Metamod extension to control Joomla modules display.
It requiers a little bit of code understanding, but greatly helps when you figure out...
I used the follwing php snippet in my custom Joomla 3.3 template:
if (
$_SERVER['REQUEST_URI'] == '/' or
$_SERVER['REQUEST_URI'] == '/index.php' or
$_SERVER['REQUEST_URI'] == '/home.html') {
echo 'homepage html'
} else {
echo 'non-homepage html' }
I had this same problem with the modules such as "most popular" and "recently added" and the problem was solved when I checked out the language of the articles and changed the ALL to ENGLISH, or FINNISH etc. After that, everything worked like I wanted to. Hope this will help you too..
I'm brand new to Joomla but after browsing around a demo site and doing some reading I think it may be the solution I'm looking for. I just have one question regarding navigation.
The site I'm building will need a fairly complex navigation system. The organization I work for offers many programs open to their clients. Each program is represented by its own set of pages on the website. This set of pages is comprised of: "Info", "Dates", "Pricing", "Contacts", etc. Totaling about 5 pages for each program.
To navigate between these pages, we'd like to have a horizontal navigation that is standard between all program pages. This nav bar will link between pages that are in a given program set but won't link to others. Is there a way to accomplish this in Joomla without having to manually create links on each page for all 70 programs?
joomla supports navigation with the help of menus. There are components and modules written to support menus. like com_menu and mod_menu. The table which contains menu structure is jos_menus. To see and create menu structure you can login to admin section and click on menu and create menus.If you need more info let me know.