Changeset 301 in t29-www for lib/template.php


Ignore:
Timestamp:
Sep 20, 2012, 12:18:45 AM (7 years ago)
Author:
sven
Message:

Zwei grosse Bugfixes die einige Backendänderungen nach sich zogen:

  • Impressum: Google Maps-Karte lädt wieder. Dafür wurde endlich ein seitenspezifisches Scriptsystem geschrieben, welches im RessourceLoader verankert Scriptfiles direkt einbindet. Das ermöglicht besseres Debugging, bessere Ladezeit und eine Symmetrie zu seitenspezifischen CSS. Insbesondere aber (bislang eher dreckige) Hooks, mit denen externe Scripts eingebunden werden können, was per pagescripts.js nicht geht. pagescripts.js gibts für kleine Scripte immernoch, könnte man dann ggf. auflösen.
  • Relationale Rücklinks für Geräteseiten: Geräteseiten haben nun wie ehemals einen Rücklink auf die verweisende Seite. Dieser wird anhand ihrer Einordnung in der Navigation erlangt. Bei Seiten, die nicht klar einzuordnen waren, könnte dieses Vorgehen ggf. Fehler erzeugen. Das müsste man dann im Einzelfall überprüfen.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/template.php

    r299 r301  
    1111 **/
    1212
    13 require dirname(__FILE__) . "/ressourceloader.php";
    14 
    1513class t29Template {
    1614        public $conf, $menu, $msg;
     
    3432                require_once $this->conf['lib'].'/messages.php';
    3533                $this->msg = new t29Messages($this->conf['lang']);
     34               
     35                // create the ressourceloaders:
     36                require_once $this->conf['lib'].'/ressourceloader.php';
     37                $this->rl = array();
     38                foreach(array('js','css') as $type)
     39                        $this->rl[$type] = t29RessourceLoader::create_from_type($type, $this->conf);
    3640
    3741                // fill up configuration
     
    175179  <meta name="viewport" content="width=device-width,initial-scale=1">
    176180  <?php
    177         $csslinktmpl = PHP_EOL.'  <link rel="stylesheet" href="%s">';
    178         foreach($this->get_ressourceloader_links('css') as $css)
    179                 printf($csslinktmpl, $css);
    180  
    181         if($this->conf['has_pagecss'])
    182                 printf($csslinktmpl, $this->conf['pagecss']);
     181        $this->print_ressourceloader_links('css', PHP_EOL . '  <link rel="stylesheet" href="%s">');
    183182  ?>
    184183
     
    309308
    310309  <!-- JavaScript at the bottom for fast page loading -->
    311 
    312   <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
    313   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    314   <script>window.jQuery || document.write('<script src="/shared/js-v6/libs/jquery-1.7.2.min.js"><\/script>')</script>
    315 
     310  <script src="/shared/js-v6/libs/jquery-1.7.2.min.js"></script>
    316311  <script>window.t29={'conf': <?php print json_encode($this->javascript_config); ?>};</script>
    317312  <?php
    318         foreach($this->get_ressourceloader_links('js') as $js)
    319                 printf('  <script src="%s"></script>'.PHP_EOL, $js);
     313        $this->print_ressourceloader_links('js', '  <script src="%s"></script>'.PHP_EOL);
    320314  ?>
    321315</body>
     
    331325        }
    332326
    333         function get_ressourceloader_links($type) {
    334                 $rl = t29RessourceLoader::create_from_type($type, $this->conf);
    335                 return $rl->get_urls( isset($_GET['rl_debug']) );
    336         }
     327        function print_ressourceloader_links($type, $template='<!-- RL: %s -->') {
     328                $rl = $this->rl[$type];
     329                $rl_links = $rl->get_urls( isset($_GET['rl_debug']) );
     330                $rl_pagespecific_links = $rl->get_page_specific_urls($this->conf['seiten_id']);
     331
     332                foreach(array($rl_links, $rl_pagespecific_links) as $rls)
     333                        foreach($rls as $link)
     334                                printf($template, $link);
     335        }
     336
    337337
    338338} // class t29Template
Note: See TracChangeset for help on using the changeset viewer.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License