С недавних версий Joomla 1.0.х можно видоизменять поп-окна, которые отображаются через index2.php, без хаков самой Joomla.
Что делаем?1. Создаём файл index2.php
2. В файле прописываем самый минимум:
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$task = intval( mosGetParam( $_REQUEST, 'task', 0 ) );
$pop = intval( mosGetParam( $_REQUEST, 'pop', 0 ) );
$page = intval( mosGetParam( $_REQUEST, 'page', 0 ) );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php echo $mainframe->getHead(); ?>
<link rel="stylesheet" href="templates/<?php echo $cur_template;?>/css/template_css.css" type="text/css" />
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site; ?>/images/favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<meta name="robots" content="noindex, nofollow" />
</head>
<body>
<?php mosMainBody(); ?>
</body>
</html>
3. Заливаем файл в свой шаблон. Теперь вместо стандартного index2.php, в корне папки, где лежит ваша Joomla, будет подтягиваться файл с вашего шаблона.
Практическое применение1. Можно написать свой css-файл для поп-окон с минимум классов, для этого изменяем ссылку на css;
2. Для печатной версии можно создать свое представление, для этого используем переменные $pop и $page, а так же создать css-файл для печатной версии.
3. Можно так же создать представление страницы для отсылки ссылки на страницу товарищу, использую переменную $task с параметром emailform.
Листинг приминения для п. 2 и 3:
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$task = intval( mosGetParam( $_REQUEST, 'task', 0 ) );
$pop = intval( mosGetParam( $_REQUEST, 'pop', 0 ) );
$page = intval( mosGetParam( $_REQUEST, 'page', 0 ) );
### css ###
//for print:
if ( ($pop == 1) && ($page == 0) ){
$css = '<link rel="stylesheet" href="templates/'. $cur_template .'/css/print.css" type="text/css" />';
}
//for mail:
elseif ($task == 'emailform') {
$css = '<link rel="stylesheet" href="templates/'. $cur_template .'/css/my_css.css" type="text/css" />';
}
//for other:
else {
$css = '<link rel="stylesheet" href="templates/'. $cur_template .'/css/template_css.css" type="text/css" />';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
echo $mainframe->getHead();
echo $css;
?>
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site; ?>/images/favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<meta name="robots" content="noindex, nofollow" />
</head>
<body>
<?php mosMainBody(); ?>
</body>
</html>
Остальное зависит от вашей фантазии и потребностей.