Gantry 4 framework

Как сделать страницу Unsupported в Gantry Framework

Joomla

Как сделать страницу Unsupported

Пример страницы Unsupported вы можете увидеть по адресу http://gantry.org/?tmpl=unsupported

Шаг 1. Создание переадресации для устаревших браузеров

Для начала мы создадим "возможность" gantry, в которой будет условие для редиректа. Она будет располагаться там же где и все "возможности", в директории features/ назовем её unsupportedredirect.php

<?php
/**
 * @package     gantry
 * @subpackage  features
 * @version     ${project.version} ${build_date}
 * @author      RocketTheme http://www.rockettheme.com
 * @copyright   Copyright (C) 2007 - ${copyright_year} RocketTheme, LLC
 * @license     http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 *
 * Gantry uses the Joomla Framework (http://www.joomla.org), a GNU/GPLv2 content management system
 *
 */
defined('JPATH_BASE') or die();
gantry_import('core.gantryfeature');
/**
 * @package     gantry
 * @subpackage  features
 */
class GantryFeatureUnsupportedRedirect extends GantryFeature {
    var $_feature_name = 'unsupportedredirect';
    function isEnabled() {
        return true;
    }
    function isInPosition($position) {
        return false;
    }
    function isOrderable(){
        return true;
    }
    function init() {
        global $gantry;
        if (JRequest::getString('tmpl')!='unsupported' && $gantry->browser->name == 'ie' && ($gantry->browser->shortversion == '6' || $gantry->browser->shortversion == '7')) {
            header("Location: ".$gantry->baseUrl."?tmpl=unsupported");
        }
    }
}

Функция достаточно проста. Метод isEnabled() - мы использовали true, так как мы хотим чтобы она работала, не зависимо от параметров в админ панели. Метод  isInPosition() - Установлено false, так как наша функция не предполагает использования в качестве модуля, которому можно назначить позицию. Метод isOrderable() - выставлен true. И самое главное метод init() - здесь мы написали условие редиректа.

Шаг 2. Создание страницы Unsupported

Как вы видели, в конце прошлого документа мы перенаправили пользователей ie6 на ?tmpl=unsupported. Здесь мы воспользовались одной из функций joomla, по умолчанию joomla ищет файл index.php, однако мы можем перенаправить её используя запрос ?tmpl. Таким образом joomla откроет файл unsupported.php в корне вашего шаблона. Теперь давайте создадим эту страницу.

<?php
/**
* @version   $Id: index.php 2670 2012-08-23 17:38:47Z djamil $
* @author RocketTheme http://www.rockettheme.com
* @copyright Copyright (C) 2007 - ${copyright_year} RocketTheme, LLC
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*
* Gantry uses the Joomla Framework (http://www.joomla.org), a GNU/GPLv2 content management system
*
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted index access' );
 
// load and inititialize gantry class
require_once('lib/gantry/gantry.php');
$gantry->init();
 
?>
<!doctype html>
<html xml:lang="<?php echo $gantry->language; ?>" lang="<?php echo $gantry->language;?>" >
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php
$gantry->displayHead();
$gantry->addLess('global.less', 'master.css');
?>
</head>
<div id="body-wrapper">
<div id="rt-showcase">
<div class="rt-showcase-pattern">
<div class="rt-showcase-pattern-2">
<div class="rt-container">
<div class="rt-grid-12 rt-alpha rt-omega">
<div class="rt-block main-showcase-logo">
<div class="module-surround">
<div class="module-content">
<div class="custom main-showcase-logo">
<div class="showcase-image">
<img src="/gantry/g-f/images/gantry_site/showcase-logo.png" alt="">
</div>
<div class="showcase-content">
<h1>
<span class="gantry-logo">Gantry</span> <small>Web Platform Theme Framework</small>
</h1>
<h1>
<b>Unsupported Browser</b>
</h1>
<p>
You are using a browser that is not supported by this website. That probably means your browser is woefully out of date, insecure, and just generally lacking in standards. Luckily for you there are literally 10s of modern, standards compatible browsers available to you at no cost. All you need to do is simply take the time to install one.
</p>
<p>
We suggest installing the latest version of <a href="http://www.mozilla.com/en-US/firefox/firefox.html">Firefox</a>, <a href="http://www.google.com/chrome">Google Chrome</a>, <a href="http://www.apple.com/safari/download/">Safari</a>, heck, even <a href="http://www.opera.com/">Opera</a> would be a better option.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</html>
<?php
$gantry->finalize();
?>

В этой странице используется основные операторы ganty и удалены модули. Вы можете подключить новые css (less), при желании даже модули.

Для отладки страницы используйте http://ВАШ_САЙТ/?tmpl=unsupported

Оригинальная статья: Gantry team
Artem Valchuk
Привет меня зовут Артем. Я занимаюсь разработкой сайтов, шаблонов HTML, Joomla и WP.