Joomla custom Template Override not working

2020-02-13 02:47发布

问题:

I want to use a template override for Articles in Joomla, therefore I am using

mytemplate/html/com_content/article/default.php

If I change anything in this file the changes do appear. But as I want to use an extra .php-file f.e.

mytemplate/html/com_content/article/alternativeLayout.php 

I am facing a problem. Because although I can select this layout on the article settings page - any Changes I make do not appear and still the default.php is used.

Any ideas what I am doing wrong?

回答1:

In order for an alternative layout to be used, two conditions must be met -

  1. You must select the layout in the article parameters
  2. No menu item can exist for this item - the layout selection of the menu item will override the selection in the article parameters

It sounds like your problem is with #2.

EDIT Duh, I missed the key part of using alternate layouts. In order to be able to use an alternate layout with a menu item, you have to create an alternatelayout.xml file and place it in the override folder. This will give you an additional menu item option that you select when creating your menu item. You should be able to copy the defailt.xml file and edit it for the new layout.



回答2:

I created a visual tutorial for this as it was driving me mad for about two days until I figured out how to actually work it. You can find it here: Joomla custom article template

I hope it helps others solve this faster than I did :-)

PS: all the credit for the article goes to Brent!!



回答3:

the name of the files must be the same. The override must have the name "default". So its:

/yourTemplate/html/com_content/article/default.php
/yourTemplate/html/com_content/article/default.xml
/yourTemplate/html/com_content/article/default_links.php

had exactly the same problem, this solution solved it.



回答4:

Also, note that any override filenames must be lower case. For example, "AboutPage.php" won't work.