• Joomla的升级带来的麻烦


    昨天上班的时候登录了Joomla系统想改改文章,结果系统提示有最新的3.1.0版本,我想都没想直接就点击更新了,后来报错提示说某些目录无法访问,后来通过sftp赋予目录相应的权限了,到这里一切都还是正常,升级完毕后我点击首页上看,首页一团糟,糟了,我的模板被替换了。。。没想到升级这么蛋疼,而且还没备份template,这叫我如何是好啊,一个正式的系统都已经上线了那么久了,还好没多少人访问量,只有趁着没有下班赶快。。。我这真是自讨苦吃唉。

    原本我使用的是由isis后台(administrator)模板改编成的前台模板,默认前台的模板太丑都不入我眼,而且因为我们的需求主要是在智能型手机上访问使用的,但是isis模板又不提供前台的,只有自己写了,上一次改起码也是好几周前了,改了很多CSS和index.php,我几乎都忘记了,这次又要重头开始,唉多后悔当初弄一个git把code保存起来,说这些都没有用了,不过希望我这次做第二次相同的事情的时候能有许多新的发现。下面附上昨天通过记忆复原的代码。。

    <?php
    /**
     * @package     Joomla.Administrator
     * @subpackage  Templates.isis
     * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
     * @license     GNU General Public License version 2 or later; see LICENSE.txt
     * @since       3.0
     */
    
    defined('_JEXEC') or die;
    
    $app   = JFactory::getApplication();
    $doc   = JFactory::getDocument();
    $lang  = JFactory::getLanguage();
    $this->language = $doc->language;
    $this->direction = $doc->direction;
    $input = $app->input;
    $user  = JFactory::getUser();
    
    // Add JavaScript Frameworks
    JHtml::_('bootstrap.framework');
    $doc->addScript('templates/' .$this->template. '/js/template.js');
    
    // Add Stylesheets
    $doc->addStyleSheet('templates/' . $this->template . '/css/template.css');
    
    // Load optional rtl bootstrap css and bootstrap bugfixes
    JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction);
    
    // Load specific language related CSS
    $file = 'language/' . $lang->getTag() . '/' . $lang->getTag() . '.css';
    if (is_file($file))
    {
        $doc->addStyleSheet($file);
    }
    
    // Detecting Active Variables
    $option   = $input->get('option', '');
    $view     = $input->get('view', '');
    $layout   = $input->get('layout', '');
    $task     = $input->get('task', '');
    $itemid   = $input->get('Itemid', '');
    $sitename = $app->getCfg('sitename');
    
    $cpanel = ($option === 'com_cpanel');
    
    $showSubmenu = false;
    $this->submenumodules = JModuleHelper::getModules('submenu');
    foreach ($this->submenumodules as $submenumodule)
    {
        $output = JModuleHelper::renderModule($submenumodule);
        if (strlen($output))
        {
            $showSubmenu = true;
            break;
        }
    }
    
    // Logo file
    if ($this->params->get('logoFile'))
    {
        $logo = JURI::root() . $this->params->get('logoFile');
    }
    else
    {
        $logo = $this->baseurl . "/templates/" . $this->template . "/images/logo.png";
    }
    
    // Template Parameters
    $displayHeader = $this->params->get('displayHeader', '1');
    $statusFixed = $this->params->get('statusFixed', '1');
    $stickyToolbar = $this->params->get('stickyToolbar', '1');
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <jdoc:include type="head" />
        <?php
        // Template color
        if ($this->params->get('templateColor'))
        {
        ?>
        <style type="text/css">
            .navbar-inner, .navbar-inverse .navbar-inner, .nav-list > .active > a, .nav-list > .active > a:hover, .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover, .navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .navbar-inverse .nav li.dropdown.active > .dropdown-toggle, .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle, #status.status-top
            {
                background: <?php echo $this->params->get('templateColor');?>;
            }
            .navbar-inner, .navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .navbar-inverse .nav li.dropdown.active > .dropdown-toggle, .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle{
                -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
                -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
                box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
            }
        </style>
        <?php
        }
        ?>
        <?php
        // Template header color
        if ($this->params->get('headerColor'))
        {
        ?>
        <style type="text/css">
            .header
            {
                background: <?php echo $this->params->get('headerColor');?>;
            }
        </style>
        <?php
        }
        ?>
        <!--[if lt IE 9]>
            <script src="../media/jui/js/html5.js"></script>
        <![endif]-->
    </head>
    
    <body class="admin <?php echo $option . " view-" . $view . " layout-" . $layout . " task-" . $task . " itemid-" . $itemid . " ";?>" <?php if ($stickyToolbar) : ?>data-spy="scroll" data-target=".subhead" data-offset="87"<?php endif;?>>
        <!-- Top Navigation -->
        <nav class="navbar navbar-inverse navbar-fixed-top">
            <div class="navbar-inner">
                <div class="container-fluid">
                    <?php if ($this->params->get('admin_menus') != '0') : ?>
                        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </a>
                    <?php endif; ?>
                    <a class="brand" href="<?php echo JURI::root(); ?>" title="<?php echo $sitename; ?>" target="_blank"><?php echo JHtml::_('string.truncate', $sitename, 14, false, false);?> <i class="icon-out-2 small"></i></a>
                    <?php if ($this->params->get('admin_menus') != '0') : ?>
                    <div class="nav-collapse">
                    <?php else : ?>
                    <div>
                    <?php endif; ?>
                        <jdoc:include type="modules" name="menu" style="none" />
                        <ul class="<?php if ($this->direction == 'rtl') : ?>nav<?php else : ?>nav pull-right<?php endif; ?>">
                            <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php echo $user->name; ?> <b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    <jdoc:include type="modules" name="position-1" headerLevel="3" state="0 " />
                                </ul>
                            </li>
                        </ul>
                    </div>
                    <!--/.nav-collapse -->
                </div>
            </div>
        </nav>
        <?php
        if ((!$statusFixed) && ($this->countModules('status'))):
        ?>
        <!-- Begin Status Module -->
        <div id="status" class="navbar status-top hidden-phone">
            <div class="btn-toolbar">
                <jdoc:include type="modules" name="status" style="no" />
            </div>
            <div class="clearfix"></div>
        </div>
        <!-- End Status Module -->
        <?php
        endif;
        ?>
        <!-- container-fluid -->
        <div class="container-fluid container-main">
            <section id="content">
                <!-- Begin Content -->
                <jdoc:include type="modules" name="top" style="xhtml" />
                <div class="row-fluid">
                    <?php if ($showSubmenu) : ?>
                        <div class="span2">
                            <jdoc:include type="modules" name="submenu" style="none" />
                        </div>
                        <div class="span10">
                    <?php else : ?>
                        <div class="span12">
                    <?php endif; ?>
                            <jdoc:include type="message" />
                            <?php
                            // Show the page title here if the header is hidden
                            if (!$displayHeader):
                            ?>
                            <h1 class="content-title"><?php echo JHtml::_('string.truncate', $app->JComponentTitle, 0, false, false);?></h1>
                            <?php
                            endif;
                            ?>
                            <jdoc:include type="component" />
                        </div>
                </div>
                <jdoc:include type="modules" name="bottom" style="xhtml" />
                <!-- End Content -->
                <div class="well well-small"><div class="module-title nav-header">热门文章</div><ul class="mostread"><jdoc:include type="modules" name="position-7"/>
    </ul>
    </div>
                
            </section>
            <hr />
            <?php if (!$this->countModules('status')) : ?>
                <footer class="footer">
                    <p>&copy; <?php echo $sitename; ?> <?php echo date('Y');?></p>
                </footer>
            <?php endif; ?>
        </div>
        <?php if (($statusFixed) && ($this->countModules('status'))) : ?>
        <!-- Begin Status Module -->
        <div id="status" class="navbar navbar-fixed-bottom hidden-phone">
            <div class="btn-toolbar">
                <div class="btn-group pull-right">
                    <p>&copy; <?php echo $sitename; ?> <?php echo date('Y');?></p>
                </div>
                <jdoc:include type="modules" name="status" style="no" />
            </div>
        </div>
        <!-- End Status Module -->
        <?php endif; ?>
        <jdoc:include type="modules" name="debug" style="none" />
        <?php if ($stickyToolbar) : ?>
        <script>
            (function($){
                // fix sub nav on scroll
                var $win = $(window)
                  , $nav = $('.subhead')
                  , navTop = $('.subhead').length && $('.subhead').offset().top - <?php if ($displayHeader || !$statusFixed) : ?>40<?php else:?>20<?php endif;?>
                  , isFixed = 0
    
                processScroll()
    
                // hack sad times - holdover until rewrite for 2.1
                $nav.on('click', function ()
                {
                    if (!isFixed) setTimeout(function () {  $win.scrollTop($win.scrollTop() - 47) }, 10)
                })
    
                $win.on('scroll', processScroll)
    
                function processScroll()
                {
                    var i, scrollTop = $win.scrollTop()
                    if (scrollTop >= navTop && !isFixed)
                    {
                        isFixed = 1
                        $nav.addClass('subhead-fixed')
                    } else if (scrollTop <= navTop && isFixed)
                    {
                        isFixed = 0
                        $nav.removeClass('subhead-fixed')
                    }
                }
            })(jQuery);
        </script>
        <?php endif; ?>
            
    </body>
    </html>
  • 相关阅读:
    中国大陆地区用户请特别注意:请勿存放违反当地法律法规文件
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
  • 原文地址:https://www.cnblogs.com/hyb1/p/3044757.html
Copyright © 2020-2023  润新知