Змінюємо вигляд index2.php (використовується для різних поп-вікон без дизайну та модулів)
25.09.2008, 13:13 | Прочитано: 15512 раз | Шаблони та дизайн | Автор: Денис Носов Друк | 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>
Інше залежить від вашої фантазії і потреб.