You've already forked joomla_test
first commit
This commit is contained in:
111
modules/mod_roknavmenu/fields/themelist.php
Normal file
111
modules/mod_roknavmenu/fields/themelist.php
Normal file
@ -0,0 +1,111 @@
|
||||
<?php
|
||||
/**
|
||||
* @version 2.0.7 November 5, 2013
|
||||
* @author RocketTheme http://www.rockettheme.com
|
||||
* @copyright Copyright (C) 2007 - 2013 RocketTheme, LLC
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*/
|
||||
|
||||
defined('JPATH_BASE') or die;
|
||||
|
||||
jimport('joomla.html.html');
|
||||
jimport('joomla.filesystem.folder');
|
||||
jimport('joomla.form.formfield');
|
||||
jimport('joomla.form.helper');
|
||||
JFormHelper::loadFieldClass('list');
|
||||
|
||||
/**
|
||||
* Supports an HTML select list of folder
|
||||
*
|
||||
* @package Joomla.Framework
|
||||
* @subpackage Form
|
||||
* @since 1.6
|
||||
*/
|
||||
class JFormFieldThemeList extends JFormFieldList
|
||||
{
|
||||
/**
|
||||
* The form field type.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public $type = 'ThemeList';
|
||||
|
||||
protected $_front_side_template;
|
||||
|
||||
/**
|
||||
* Method to get the field options.
|
||||
*
|
||||
* @return array The field option objects.
|
||||
* @since 1.6
|
||||
*/
|
||||
protected function getOptions()
|
||||
{
|
||||
$doc =JFactory::getDocument();
|
||||
$version = new JVersion();
|
||||
|
||||
if (version_compare($version->getShortVersion(), '3.0', '<')){
|
||||
|
||||
$js = "window.addEvent('load', function() {
|
||||
$('" . $this->id . "').addEvent('change', function(){
|
||||
var sel = this.getSelected().get('value');
|
||||
$$('.themeset').setStyle('display','none');
|
||||
$$('#themeset-'+sel).setStyle('display','block');
|
||||
}).fireEvent('change');
|
||||
});";
|
||||
|
||||
} else {
|
||||
$js = "
|
||||
window.addEvent('load', function() {
|
||||
var chzn = $('" . $this->id . "_chzn');
|
||||
if(chzn!=null){
|
||||
$$('.themeset').setStyle('display','none');
|
||||
$$('#themeset-" . $this->value . "').setStyle('display','block');
|
||||
$('" . $this->id . "_chzn').addEvent('click', function(){
|
||||
$$('.themeset').setStyle('display','none');
|
||||
var text = $('" . $this->id . "_chzn').getElement('span').get('text');
|
||||
var options = $('" . $this->id . "').getElements('option');
|
||||
options.each(function(option) {
|
||||
var optText = String(option.get('text'));
|
||||
var optValue = String(option.get('value'));
|
||||
if(text == optText){
|
||||
var sel = '#themeset-'+optValue;
|
||||
}
|
||||
$$(sel).setStyle('display','block');
|
||||
});
|
||||
}).fireEvent('click');
|
||||
}
|
||||
});";
|
||||
}
|
||||
$doc->addScriptDeclaration($js);
|
||||
|
||||
$options = array();
|
||||
|
||||
|
||||
// Load 2x Catalog Themes
|
||||
require_once(JPATH_ROOT . "/modules/mod_roknavmenu/lib/RokNavMenu.php");
|
||||
RokNavMenu::loadCatalogs();
|
||||
|
||||
foreach (RokNavMenu::$themes as $theme_name => $theme_info)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $theme_name, $theme_info['fullname']);
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
function _getFrontSideTemplate() {
|
||||
if (empty($this->_front_side_template)) {
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
// Get the current default template
|
||||
$query->select('template');
|
||||
$query->from('#__template_styles');
|
||||
$query->where('client_id = 0 AND home = 1');
|
||||
$db->setQuery((string)$query);
|
||||
$defaultemplate = $db->loadResult();
|
||||
$this->_front_side_template = $defaultemplate;
|
||||
}
|
||||
return $this->_front_side_template;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user