Error on theme package installer

Permalink
I am building theme package installer on skeleton grid.
I get this error when installing this theme. theme icon also not showing up.

Symfony\Component\ClassLoader\MapClassLoader::loadClass(): Failed opening required '/var/www/partytime.con/public_html/packages/Skinnygirl/controller.php' (include_path='/var/www/partytime.con/public_html/concrete/vendor:.:/usr/share/php')

When changed the folder name skinnygirl to Skinnygirl this error gone.

I was able to install theme, then installed theme dose not show up.

Please don't advice to to do it Applications/theme folder.
I downloaded skeleton package on github and customised
Please help.

 
MrKDilkington replied on at Permalink Reply
MrKDilkington
Hi aladincomadin,

I believe that error is caused by installing an add-on and deleting the add-on files or renaming the add-on package folder name.

Theme folder names are lowercase or lowercase snake_case and PascalCase in your namespaces:
- "skinnygirl" folder name and "Skinnygirl" in your package namespaces
- "skinny_girl" folder name would be "SkinnyGirl" in your package namespaces
aladincomadin replied on at Permalink Reply
Hi MrKDilkington,
Thanks for the quick reply,

You are right. That is not the issue I think
aladincomadin replied on at Permalink Reply
Finally I solved the problem. $pkgHandle was camel case.

Here is another problem

I am able to install and work the theme like
while putting the theme inside Allications directory and page_theme.php like this :
<?php
namespace Application\Theme\Skinnygirl;

From Packages theme is installed at 'Extend Concrete 5 ' on Dashboard
page_theme.php is like this : <?php namespace Concrete\Package\SkinnyGirl\Theme\Skinnygirl;

In second case installed theme does not show in 'Pages & Themes'
MrKDilkington replied on at Permalink Best Answer Reply
MrKDilkington
@aladincomadin

What is the folder name of your package?

I would double check your folder names and namespaces:
packages\skinny_girl\controller.php
namespace Concrete\Package\SkinnyGirl;
$pkgHandle = 'skinny_girl';

packages\skinny_girl\themes\skinnygirl\page_theme.php
namespace Concrete\Package\SkinnyGirl\Theme\Skinnygirl;
aladincomadin replied on at Permalink Reply
Gentlemen,
Your contribution on this forum is invaluable.
You were right, my directory listing was packages\skinny_girl\theme\skinnygirl\page_theme.php

everything works like a charm.
many thanks
Aladin