Змінюємо вигляд index2.php (використовується для різних поп-вікон без дизайну та модулів)
25.09.2008, 13:13 | Прочитано: 16108 раз | Шаблони та дизайн | Автор: Денис Носов Друк | E-mail
З недавніх версій Joomla 1.0.х можна видозмінювати поп-вікна, які відображаються через index2.php, без хаків самої Joomla. Як це можливо на рівні шаблону фронтальної частини сайту і піде річ у цій статті.
Введення
Для таких функцій, як друк, мейл товаришу, або проста банальна стрічка у форматі RSS, використовується спеціальна сторінка – index2.php.
Ця сторінка включає в себе два режими відображення змісту:
- без модулів сайту, але з усіма посиланнями на каскадні таблиці та скрипти у шапці шаблону,
- тільке відобораження змісту, яке міститься у mosMainBody();
Що робимо?
Створюємо файл index2.php.
У файлі прописуємо самий мінімум:
<?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>
Заливаємо файл у свій шаблон. Тепер замість стандартного index2.php, у корені папки, де лежить ваша Joomla, буде підтягуватися файл із вашого шаблона.
Практичне застосування
- Можна написати свій css-файл для поп-вікон з мінімум класів, для цього змінюємо посилання на css;
- Для друкованої версії можна створити своє подання, для цього використовуємо змінні $pop і $page, а так само створити css-файл для друкованої версії.
- Можна, так само, створити подання сторінки для відсилання посилання на сторінку другу, використовуючи змінну $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>
Інше залежить від вашої фантазії і потреб.