-
AuthorPosts
-
January 16, 2012 at 2:56 pm #172850
Hi all!
I’m creating a website where the user is able to switch between 2 and more joomlart templates directly from the front-end.
The main problem is that the JA Slideshow module doesn’t switch to the appropriate skin profile.
The dirty solution is to describe the slideshow style inside the template css.
I think that the smarter and more elegant solution would be to have the module that automatically switch to the correct skin.
Would it be realizable?January 16, 2012 at 4:26 pm #434027After one hour of work I’ve found the solution.
Let’s see the code of mod_jaslideshow.php starting from line 119:
[PHP]if (!defined(‘_MODE_JASLIDESHOW2_ASSETS_’)) {
define(‘_MODE_JASLIDESHOW2_ASSETS_’, 1);
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/default/style.css’);
if (!empty($skin)) {
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/’ . $skin . ‘/style.css’);
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/’ . $skin . ‘/’ . $module->module . “.css”);
}if (is_file(JPATH_SITE . DS . ‘templates’ . DS . $mainframe->getTemplate() . DS . ‘css’ . DS . $module->module . “.css”))
JHTML::stylesheet(‘templates/’ . $mainframe->getTemplate() . ‘/css/’ . $module->module . “.css”);JHTML::script(‘modules/’ . $module->module . ‘/assets/script.js’);
}[/PHP]So, if the $skin is empty we can use the skin assigned to the template currently in use. The new code is the following:
[PHP]if (!defined(‘_MODE_JASLIDESHOW2_ASSETS_’)) {
define(‘_MODE_JASLIDESHOW2_ASSETS_’, 1);
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/default/style.css’);
if (!empty($skin)) {
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/’ . $skin . ‘/style.css’);
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/’ . $skin . ‘/’ . $module->module . “.css”);
}
else {
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/’ . substr($mainframe->getTemplate(),3) . ‘/style.css’);
JHTML::stylesheet(‘modules/’ . $module->module . ‘/assets/themes/’ . substr($mainframe->getTemplate(),3) . ‘/’ . $module->module . “.css”);
}if (is_file(JPATH_SITE . DS . ‘templates’ . DS . $mainframe->getTemplate() . DS . ‘css’ . DS . $module->module . “.css”))
JHTML::stylesheet(‘templates/’ . $mainframe->getTemplate() . ‘/css/’ . $module->module . “.css”);JHTML::script(‘modules/’ . $module->module . ‘/assets/script.js’);
}[/PHP]Then It’s sufficient to set the skin parameter to “default” and the slideshow style will change according to the template in use.
I think that this modify can be implemented in future releases. Let me know! 🙂 -
AuthorPosts
This topic contains 2 replies, has 1 voice, and was last updated by mediamente 12 years, 9 months ago.
We moved to new unified forum. Please post all new support queries in our New Forum