Joomla! Україна

Змінюємо вигляд index2.php (використовується для різних поп-вікон без дизайну та модулів)

25.09.2008, 13:13  |  Прочитано: 15230 раз  |  Шаблони та дизайн  |  Автор: Денис Носов

З недавніх версій 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, буде підтягуватися файл із вашого шаблона.

Практичне застосування

  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>

Інше залежить від вашої фантазії і потреб.