I created a theme on Magento 2 1.0.0beta. Now I updated to Magento 2.0.0 RC. After this update, my theme does not show up anymore on the Content > Themes page.

What I did to update my theme

  • I changed the xsd scheme from lib internal to urn:magento:framework:
  • I added registration.php

I also tried to add my theme directly to the theme database table. After this my theme does show up. But when I activate the theme I get this error:

Required parameter 'theme_dir' was not passed

Do I have to do something additional to make my theme work? Or do I need to activate it somehow?

  • Same problem here. The error comes from vendor/magento/framework/View/Design/Fallback/Rule/Theme.php:65 - componentRegistrar->getPath() does not return a path, so the theme_dir in the array is null. – Alex Nov 9 '15 at 14:00
  • Did you add a composer.json for your theme ? – Alex Nov 9 '15 at 14:04
  • I have composer.json file in my theme, but the theme itself is not loaded via composer. – Silvan Nov 9 '15 at 14:37
  • I made another question for that: magento.stackexchange.com/questions/89421/… – Alex Nov 9 '15 at 14:42
  • Try magento.stackexchange.com/a/89423/81 – Alex Nov 9 '15 at 15:04

I bet you have your theme in app/design and not pulled from external via composer to vendor/.

I think the problem is, that your registration.php is not run. It is referenced from composer.json. But the question is, how to make your registration.php known to the system.

Additionally there seems to be a bug, where registration.php of non-composer modules is not loaded. Fix see here: https://magento.stackexchange.com/a/89446/81

| improve this answer | |

Try to run the following command from the Magento 2 root folder:

php bin/magento setup:upgrade

If it doesn't work, then you may use sudo at front:

sudo php bin/magento setup:upgrade
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.