After I made my own additions to the Joomla template files -- I added a module position in a cloned version of the layout file, added the position in the templateDetails.xml file, and checked that the template layout .ini file has my module position -- the module position still does not show up in the layout tab of the backend.
I first tried this in localhost using xampp and everything seems to work fine. Once I transfer the files using FileZilla to the server, the module positions that I added in the layout does not seem to work. I could still find the position in the dropdown, but it does not appear in the blocks of the layout tab. This is the layout that appeared using localhost, but the view that I see after I transferred the files was only the header (no "inner" or "banner" positions):
Module positions are added the first time you install a template - you won't see any new module positions if you update the the XML manifest file of the template. However, you can still use these new positions if you just type in their name. Hopefully, Joomla in the future would have a method to flush and refresh module positions.
Related
Steps to reproduce
Installed Magento 2.0.4 on WAMP server 3.0 , Windows 10 Pro - 32bit, PHP 5.6.15, MySQL 5.7.9
Created a child theme themeparent of Magento_blank in app\design\frontend\Vendor1\themeparent with several layout xml files for extending, along with template .phtml files. Activated from admin. Working Fine.
theme.xml => <parent>Magento/blank</parent>
Created another child theme themechild of above theme themeparent (which is itself the child of magento blank). This childtheme is created in different vendor folder, i.e. Vendor2
This theme path is app\design\frontend\Vendor2\themechild . Created layout .xml file inside to extend its parent theme layout. Activated this second level child theme from admin. The .xml files not even processed. Not working.
theme.xml => <parent>Vendor1/themeparent</parent>
3b. Although template .phtml files or .css files existing in childtheme are working fine if corresponding layout containers/blocks called in from the Vendor1\themeparent layout files.
If for a test, the same child theme childtheme put inside same vendor of its parent i.e. Vendor1 , the theme path becomes app\design\frontend\Vendor1\themechild and then the same layout .xml files works fine.
Already tried with clearing public/static and var folders of magento. Also, tried after running with cli commands
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento setup:upgrade
But nothing solved it.
Expected result
The required theme inheritance is in this way:
Magento_blank => Vendor1_themeparent => Vendor2_childtheme . (note vendor differ)
Result: Layout .xml fail to load in childtheme.
But if for a test, inheritance made this way:
Magento_blank => Vendor1_themeparent => Vendor1_childtheme . (note vendor same)
Result: Layout .xml load properly and work fine in childtheme.
As per Magento 2 guidelines on http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html#set-a-parent-theme it is clearly mentioned that "A parent and a child theme can belong to different vendors. For example, your custom theme can inherit from the Magento Blank theme." . So, if I am creating a second level child theme (in vendor 2) from a parent theme (in vendor 1) which is a child of Magento_blank (vendor: Magento), this should ideally work fine. But its not happening. None of the layout .xml files processed to output if they are under different vendors. If I put both themes in same vendor, they are working fine.
Actual result
Extending layout .xml files in the 2nd level child theme in different vendor folder is not working.
Why Magento 2.0.4 not working properly for 2 level theme inheritance with different vendor names?
This is a serious issue, as if you suppose purchased a paid theme from somewhere (which they have created by inheriting Magento_blank), and now you want to create your child theme of that paid theme but in different vendorname folder (obviously under your companyname), you will not able to do so!
You have only two choices left, either make your child theme inside their vendor name; or edit their theme .xml files to call your child theme template files or .css/.js (if in ur vendorname); the second case will obviously loose updates, weird way and not recommended.
Then what is the solution??
Giving it more time to find the reason, I created different set of parent and child theme with different vendornames, and checked it on same installation and it worked!
I was amazed, matched the way to what I have done earlier in my themes; old and new both exactly same. Again activated my childtheme, and surprisingly it not worked. More surprised and fedup. :(
Then I digged into the magento database, and I found out one amazing thing. In the 'theme' mysql table of magento database, somehow the 'type' column corresponding to my childtheme had value set as '1' and all others were set '0'. Under suspicion, I tried to find what it means by comment in table column name which shows..
0 => Physical
1 => Virtual
2 => Staging
I guessed it may be a reason, and manually set the 'type' column value to 0 corresponding to my childtheme. Cleared var and public/static folders. Re-tested, and voila! it worked!!
This small issue has wasted my 4-5 days, with no solution. Even deactivation-activation or switching themes from admin was not resetting its value to 0 (it always remained 1) and so it never worked.
For a cross check to confirm, I deleted that row from database theme table, and reinstalled the theme, ran php bin/magento setup:upgrade, and now its setting the value to 0, which is perfect and working automatically.
Don't know how it was set to 1 and when. It should be 0.
Anyways, the issue is solved now, and
I found a very tiny thing but a VERY BIG thing
, which can waste every developers time if not known.
But, surprisingly this silly point is no where mentioned on the internet and not even on the magento documentation, which must be there.
Hope this explanation and solution will help more people later who are getting frustrated with the same issue. :)
This issue is also raised and explained on https://github.com/magento/magento2/issues/4330
Thanks.
I'm trying to install new free Joomla template called gk_magazine. In the download page, I found three links to three zip files for Joomla 3.x:
gk_magazine_rest_files_J!3.zip
gk_magazine_quickstart_J!3.zip
gk_magazine_J!3.zip
I downloaded the three files to my computer and I tried to install them one by one in the following order:
gk_magazine_J!3.zip: it is installed correctly and Gk_magazine template becomes listed in the template manager and it has been set as default as the screen shot shows.
gk_magazine_quickstart_J!3.zip: it is installed correctly too, but there is no any additional items appeared in the template manager.
gk_magazine_rest_files_J!3.zip: It does not installed - Warning JInstaller: :Install: Cannot find XML setup file
I saw similar situations with other Joomla templates and I need to know what are the rules of each file described above in the installation of the new templates? are all of them are important? or just the first file only?
From the file structure you can tell what it is!
gk_magazine_rest_files_J!3.zip:
This one is as the name says it 'rest files' means: plugins, notes for a module and a few photoshop images (*.psd)
gk_magazine_quickstart_J!3.zip:
This one is a Joomla Site with the gk_magazine_J!3.zip Template which you can find in the folder templates
gk_magazine_J!3.zip:
This one is a template
EDIT:
Also what's Joomla Site with gk_magazine template mean too?
It means that this is a basic Joomla site which you can copy into your server root folder (e.g. htdocs on XAMPP)
You can see the templates in the templates folder here:
beeze3, protostar and system are some Joomla standard templates which are all in a new basic Joomla site. There also beeze5 or beeze20 as an example, but these are not automatically included in the basic Joomla site
I've got a custom theme running on the latest stable Concrete5 version.
It's all working great - but tonight I've come to create a variation of an existing template.
Inside the theme/themename/ folder I copied the PHP file for the template.
In the theme/themename/css folder I copied the CSS file used by the existing template.
In the CMS itself I created a new pageType with the alias to match both the php and css file's filename I'd created by copying the previous files.
The PHP / template file is loading fine when chosen as the template for a page, but it's now loading in the associated CSS file.
Cache cleared but to no avail.
Can anyone give me any clues what I'm missing?
This usually is because the css and/or js is hardcoded in the header.
Check the html head (in the template) if the path to the css/js is correct.
i've created a new website under a working Magento install. The old website works fine, but the new one doesn't load the theme css. I can see it loads the .phtml files when enabling Template Path Hints.
I've already checked basic things 100 of times, so...
set theme to desired one
refresh Magento cache
check source code to see whats the css path
use i.e. firebug to see what css is being loaded
can you show your file structure?
whats the theme name?
I have installed the latest version of Magento 1.6.0.0-rc2 and tried to install the package and theme which I had developed on Magento 1.5.x
The package has been installed in magento/app/design/frontend/packagename
I have also entered 'packagename' in System -> Configuration -> Design -> Current Package Name.
In app/design/frontend/packagename/default/layout/page.xml I have specified for default 'All Pages':
<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">
Yet when I turn on template hints, I see that the main template being used is base/default/template/page/2columns-right.phtml.
I have verified that design/frontend/packagename/default/template/page/2columns-left.phtml does exist.
I have been trying everything to debug this, but I can't seem to figure out where it is getting 2columns-right.phtml from (which config file). I even tried to log the xml files loaded but they didnt show any of the custom xml files in the theme package being loaded.
Any suggestions on what could be the problem or what to try ?
Thanks.
Edit:
A couple of points.
Cache is disabled.
The new package/theme displays, I'm able to see the css/images/js. Some of the template files with template hints enabled are from packagename, but the main ones seem to be from base.
Page template is not set just in page.xml, but even in catalog.xml, catalogsearch.xml, customer.xml... I mean, almost every pages have his own layout.
The layout set in page.xml is valid only for CMS pages. All other pages have other settings that override it.
Which page are you looking at? A category page or a CMS page? Try different pages and see what happens!