Тормозит сайт после установки router.php

Тема в разделе "Ошибки при работе с Joomla", создана пользователем exploer, 19.10.2010.

  1. Offline

    exploer Пользователь

    Регистрация:
    13.04.2009
    Сообщения:
    246
    Симпатии:
    1
    Пол:
    Мужской
    Чтобы страницы генерировались правильно установил router.php на сайт, но после этого сайт стал медленно грузится. Помогите как справиться с этим?
     
  2.  
  3. Offline

    _voland_ Местный => Cпециалист <=

    Регистрация:
    12.04.2008
    Сообщения:
    2 171
    Симпатии:
    102
    Пол:
    Мужской
    Ну а чей это роутер? Что внутри?
     
  4. Offline

    exploer Пользователь

    Регистрация:
    13.04.2009
    Сообщения:
    246
    Симпатии:
    1
    Пол:
    Мужской
    У меня стоит Joomla 1.5.18, а здесь написано Router for Joomla! 1.5.14, может в этом проблема?
    Содержание router.php:



    Код (CODE):
    1. <?php
    2. /**
    3. * @package      Joomla
    4. * @subpackage   VirtueMart 1.1.4 Router for Joomla! 1.5.14
    5. * @copyright    2008, Copyright (C) E-FusionSoft Technologies Pvt. Ltd. All rights reserved.
    6. * @license      GNU/GPL.
    7. * @author       L. K. Lalitesh
    8. * @ Website     www.e-fusionsoft.com
    9. * @ Email       info@e-fusionsoft.com
    10. * @ Date        July 19, 2009
    11. * @ Version     1.1.4
    12.  
    13. ## Bugs fixed in Version 1.1.4
    14. >> If SSL is enabled, checkout pages have https
    15. >>
    16.    
    17. */
    18.  
    19. defined( '_JEXEC' ) or die( 'Restricted access' );
    20.  
    21. define('PAGE_SHOP_BROWSE','category');
    22. define('PAGE_SHOP_FEED','feed');
    23. define('PAGE_PRODUCT_DETAILS','details');
    24. define('PAGE_PRODUCT_ENQUIRY','enquiry');
    25. define('PAGE_CHECKOUT_INDEX','checkout');
    26. define('PAGE_ADVANCE_SEARCH','search');
    27.  
    28. function virtuemartBuildRoute(&$query)
    29. {
    30.    
    31.     $page = '';
    32.     $segments = array();
    33.    
    34.     if(isset($query['page'])){
    35.         $page = $query['page'];
    36.         unset($query['page']);
    37.     }
    38.    
    39.     if(isset($query['flypage'])){
    40.         unset($query['flypage']);
    41.     }
    42.  
    43.    
    44.  
    45.     switch ($page) {
    46.        
    47.         /* Case for shop browse/catgory page */
    48.         case 'shop.browse':
    49.                        
    50.             if(isset($query['category_id'])){
    51.                 $segments[] = PAGE_SHOP_BROWSE;
    52.                 $segments[] = $query['category_id'];               
    53.                 $category_alias = getCategoryTitle($query['category_id']);
    54.                 $segments[] = $category_alias;     
    55.                 unset($query['category_id']);
    56.            
    57.             }else{
    58.                 $segments[] = "products";
    59.                 unset($query['category']); 
    60.             }
    61.  
    62.            
    63.  
    64.         break;
    65.         /*End shop browse/catgory page*/
    66.  
    67.  
    68.         /* Case for shop rss feed page */
    69.         case 'shop.feed':
    70.            
    71.             $segments[] = PAGE_SHOP_FEED;
    72.            
    73.             if(isset($query['category_id'])){
    74.                 $segments[] = $query['category_id'];
    75.                 $category_alias = getCategoryTitle($query['category_id']);
    76.                 $segments[] = $category_alias;     
    77.                 unset($query['category_id']);
    78.             }          
    79.         break;
    80.         /*End shop browse/catgory page*/
    81.    
    82.  
    83.         /* Case for product details page */
    84.         case 'shop.product_details':           
    85.             $segments[] = PAGE_PRODUCT_DETAILS;        
    86.             $product_id_exists = false;
    87.             if(isset($query['product_id'])) {
    88.                 $segments[] = $query['product_id'];
    89.                 $product_id_exists = true;
    90.                 $pid = $query['product_id'];
    91.                 unset($query['product_id']);
    92.             }
    93.  
    94.             if(isset($query['category_id'])){
    95.                 $segments[] = $query['category_id'];
    96.                 $category_alias = getCategoryTitle($query['category_id']);
    97.                 $segments[] = $category_alias;     
    98.                 unset($query['category_id']);
    99.             }
    100.  
    101.  
    102.             if($product_id_exists)  {
    103.                 $product_alias = getProductTitle($pid);
    104.                 $segments[] = $product_alias;      
    105.             }
    106.  
    107.         break;
    108.         /*End shop browse/catgory page*/
    109.  
    110.            
    111.         /*Case for ASK A QUESTION ABOUT THIS PRODUCT PAGE*/
    112.         case 'shop.ask':
    113.             $segments[] =PAGE_PRODUCT_ENQUIRY; 
    114.            
    115.             if(isset($query['category_id']))    {
    116.                 $segments[] = $query['category_id'];
    117.                 unset($query['category_id']);
    118.             }
    119.  
    120.             if(isset($query['product_id'])) {
    121.                 $segments[] = $query['product_id'];
    122.                 $product_id_exists = true;
    123.                 $pid = $query['product_id'];
    124.                 unset($query['product_id']);
    125.             }
    126.  
    127.             if($product_id_exists)  {
    128.                 $product_alias = getProductTitle($pid);
    129.                 $segments[] = $product_alias;      
    130.             }
    131.  
    132.         break;
    133.         /*End*/
    134.        
    135.  
    136.         /*
    137.         Checkout Index page
    138.         */     
    139.         case 'checkout.index':
    140.         $segments[] = PAGE_CHECKOUT_INDEX;
    141.  
    142.        
    143.         if(isset($query['ssl_redirect']))   {
    144.             $segments[] = "ssl_redirect";
    145.             unset($query['ssl_redirect']);
    146.         }
    147.  
    148.         if(isset($query['redirected'])) {
    149.             $segments[] = "redirected";
    150.             unset($query['redirected']);
    151.         }
    152.  
    153.  
    154.         break;
    155.         /** End of checkout index page */
    156.  
    157.  
    158.         case 'account.billing':
    159.             $segments[] ="account-billing";
    160.             if(isset($query['next_page']) ) {
    161.                 $segments[] = "checkout";
    162.                 unset($query['next_page']);            
    163.             }
    164.         break;
    165.  
    166.  
    167.         case 'account.shipto':
    168.             $segments[] ="account-shipto";
    169.             if(isset($query['next_page']) ) {
    170.                 $segments[] = "checkout";
    171.                 unset($query['next_page']);            
    172.             }
    173.         break;
    174.  
    175.  
    176.  
    177.         case 'account.shipping':
    178.             $segments[] ="account-shipping";
    179.             if(isset($query['next_page']) ) {
    180.                 $segments[] = "checkout";
    181.                 unset($query['next_page']);            
    182.             }
    183.         break;
    184.  
    185.  
    186.  
    187.         case 'shop.registration':
    188.             $segments[] ="user-registration";
    189.         break;
    190.  
    191.  
    192.         case 'shop.recommend':
    193.             $segments[] ="recommend";
    194.  
    195.             if(isset($query['tmpl']) )  {
    196.                 $segments[] = $query['tmpl'];
    197.                 unset($query['tmpl']);             
    198.             }
    199.  
    200.             if(isset($query['pop']) )   {
    201.                 $segments[] = $query['pop'];
    202.                 unset($query['pop']);              
    203.             }
    204.  
    205.             if(isset($query['product_id']) ){
    206.                 $segments[] = $query['product_id'];
    207.                 $product_alias = getProductTitle($query['product_id']);
    208.                 $segments[] = $product_alias;      
    209.                 unset($query['product_id']);               
    210.             }
    211.  
    212.         break;
    213.  
    214.  
    215.         case 'shop.tos':
    216.             $segments[] ="terms-of-service";
    217.         break;
    218.  
    219.         case 'shop.cart':
    220.             $segments[] ="cart";
    221.         break;
    222.  
    223.         case 'account.index';
    224.             $segments[] ="account";
    225.         break;
    226.  
    227.  
    228.  
    229.         case 'account.order_details':
    230.             $segments[] ="order-details";
    231.             if(isset($query['order_id']))   {
    232.                 $segments[] = $query['order_id'];
    233.                 unset($query['order_id']);
    234.             }
    235.         break;
    236.  
    237.  
    238.         case 'shop.waiting_list':
    239.             $segments[] ="notify";
    240.             if(isset($query['product_id'])) {
    241.                 $segments[] = $query['product_id'];
    242.                 $product_id_exists = true;
    243.                 $pid = $query['product_id'];
    244.                 unset($query['product_id']);
    245.             }
    246.  
    247.             if($product_id_exists)  {
    248.                 $product_alias = getProductTitle($pid);
    249.                 $segments[] = $product_alias;  
    250.             }
    251.         break;
    252.  
    253.         case 'shop.search':
    254.             $segments[] =PAGE_ADVANCE_SEARCH;          
    255.         break;
    256.  
    257.         case 'store.index':
    258.             $segments[] = 'administration';        
    259.         break;
    260.  
    261.     }
    262.  
    263.     return $segments;
    264. }
    265. /*End of the function*/
    266.  
    267.  
    268.  
    269. function virtuemartParseRoute($segments)
    270. {
    271.  
    272.     $vars = array();
    273.  
    274.     $firstSegment = $segments[0];
    275.     switch($firstSegment){
    276.        
    277.         case PAGE_SHOP_BROWSE:
    278.             $vars['page'] = "shop.browse";
    279.             if(isset($segments[1])){
    280.                 $vars['category_id'] = $segments[1];
    281.             }
    282.         break;
    283.  
    284.         /*This is for all products page*/
    285.         case 'products':
    286.             $vars['page'] = "shop.browse";
    287.             $vars['category'] = "";
    288.         break;
    289.  
    290.        
    291.         case PAGE_SHOP_FEED:
    292.             $vars['page'] = "shop.feed";
    293.             if(isset($segments[1])){
    294.                 $vars['category_id'] = $segments[1];
    295.             }
    296.            
    297.         break;
    298.  
    299.         case PAGE_PRODUCT_DETAILS:
    300.             $vars['page'] = "shop.product_details";
    301.            
    302.             if(isset($segments[1])){
    303.                 $vars['product_id'] = $segments[1];
    304.             }
    305.  
    306.             if(isset($segments[2])){
    307.                 $vars['category_id'] = $segments[2];
    308.             }
    309.            
    310.            
    311.         break;
    312.  
    313.         case PAGE_PRODUCT_ENQUIRY:
    314.             $vars['page'] = "shop.ask";
    315.             $vars['category_id'] = $segments[1];
    316.             $vars['product_id'] = $segments[2];
    317.         break;
    318.  
    319.         case PAGE_CHECKOUT_INDEX:
    320.             $vars['page'] = "checkout.index";
    321.        
    322.             if(isset($segments[1]) && ($segments[1]=="ssl_redirect")){
    323.                 $vars['ssl_redirect'] = 1;
    324.                
    325.             }
    326.  
    327.             if(isset($segments[2]) && ($segments[2]=="redirected")){
    328.                 $vars['redirected'] = 1;
    329.             }
    330.         break;
    331.  
    332.         case 'account:billing':
    333.             $vars['page'] = "account.billing";
    334.             if(isset($segments[1])){
    335.                 $vars['next_page'] = "checkout.index";
    336.             }
    337.         break;
    338.  
    339.         case 'account:shipto':
    340.             $vars['page'] = "account.shipto";
    341.             if($segments[1]){
    342.                 $vars['next_page'] = "checkout.index";
    343.             }
    344.         break;
    345.  
    346.         case 'account:shipping':
    347.             $vars['page'] = "account.shipping";
    348.             if($segments[1]){
    349.                 $vars['next_page'] = "checkout.index";
    350.             }
    351.         break;
    352.  
    353.  
    354.  
    355.  
    356.         case 'recommend':
    357.             $vars['page'] = "shop.recommend";
    358.             $vars['pop'] = 1;
    359.             $vars['product_id'] = $segments[3];
    360.             $vars['tmpl']= "component";
    361.         break;
    362.  
    363.  
    364.         case 'user:registration':
    365.             $vars['page'] = "shop.registration";
    366.         break;
    367.  
    368.  
    369.  
    370.         case 'account':
    371.             $vars['page'] = "account.index";
    372.         break;
    373.  
    374.  
    375.         case 'cart':
    376.             $vars['page'] = "shop.cart";
    377.         break;
    378.  
    379.  
    380.         case 'order:details':
    381.             $vars['page'] = "account.order_details";
    382.             $vars['order_id'] = $segments[1];              
    383.         break;
    384.  
    385.         case 'temrs:of:service':
    386.             $vars['page'] = "shop.tos";            
    387.         break;
    388.  
    389.  
    390.  
    391.         case 'notify':
    392.             $vars['page'] = "shop.waiting_list";
    393.             $vars['product_id'] = $segments[1];            
    394.         break;
    395.  
    396.         case PAGE_ADVANCE_SEARCH:
    397.             $vars['page'] = "shop.search";
    398.                    
    399.         break;
    400.  
    401.         case 'administration':
    402.             $vars['page'] = "store.index";
    403.             $vars['pshop_mode'] = "admin";
    404.                    
    405.         break;
    406.  
    407.     }
    408.     return $vars;
    409. }
    410.  
    411.  
    412. /*
    413. This function returns category/subcatgory alias string
    414. */
    415.  
    416. function getCategoryTitle($id){
    417.     $db         = & JFactory::getDBO();
    418.    
    419.     $query = "
    420.             SELECT t1.category_child_id AS lev1, t2.category_child_id as lev2, t3.category_child_id as lev3
    421.             FROM  #__vm_category_xref AS t1
    422.             LEFT JOIN #__vm_category_xref AS t2 ON t2.category_child_id = t1.category_parent_id
    423.             LEFT JOIN #__vm_category_xref AS t3 ON t3.category_child_id = t2.category_parent_id
    424.             WHERE t1.category_child_id= ".$id;
    425.    
    426.     $db->setQuery($query);
    427.     $nestedCategoryIds = $db->loadObject();
    428.     if($nestedCategoryIds=="")
    429.         return;
    430.  
    431.     $catIdsArr = array();
    432.    
    433.     if($nestedCategoryIds->lev3){
    434.         $catIdsArr[] = $nestedCategoryIds->lev3;
    435.     }
    436.  
    437.     if($nestedCategoryIds->lev2){
    438.         $catIdsArr[] = $nestedCategoryIds->lev2;
    439.     }
    440.  
    441.     if($nestedCategoryIds->lev1){
    442.         $catIdsArr[] = $nestedCategoryIds->lev1;
    443.     }
    444.  
    445.     $catIdsStr = implode( ',', $catIdsArr );
    446.    
    447.     $query = "SELECT GROUP_CONCAT( category_name
    448.             SEPARATOR  '/' )
    449.             FROM #__vm_category
    450.             WHERE category_id IN (".$catIdsStr.")";
    451.  
    452.  
    453.  
    454.     $db->setQuery($query);
    455.     $category_alias = $db->loadResult();
    456.     //$category_alias = strtolower($category_alias);
    457.  
    458.     //Remove following characters
    459.     $special_chars = array('!','@','#','$','%','*','(',')');
    460.     foreach($special_chars as $char){
    461.         $category_alias = str_replace($char,'', $category_alias);
    462.     }
    463.  
    464.     $category_alias = str_replace(' ','-', $category_alias);
    465.     $category_alias = vm_translate(str_replace('  ','-', $category_alias));
    466.     return $category_alias;
    467. }
    468.  
    469.  
    470.  
    471. function getProductTitle($id){
    472.     $db         = & JFactory::getDBO();
    473.     // gets category name
    474.     $query = 'SELECT product_name FROM #__vm_product  ' .
    475.     ' WHERE product_id = ' . (int) $id;
    476.  
    477.     $db->setQuery($query);
    478.     // gets category name of item
    479.     $product_name = $db->loadResult();
    480.     //$product_name = mb_strtolower($product_name);
    481.  
    482.     //Remove following characters
    483.     $special_chars = array('!','@','#','$','%','*','(',')');
    484.     foreach($special_chars as $char){
    485.         $product_name = str_replace($char,'', $product_name);
    486.     }
    487.  
    488.     $product_name = str_replace(' ','-', $product_name);
    489.     $product_name = vm_translate(str_replace('  ','-', $product_name));
    490.     return $product_name;
    491. }
    492.  
    493. /*
    494. function getmanufacturerName($id){
    495.     $db         = & JFactory::getDBO();
    496.     // gets category name
    497.     $query = 'SELECT mf_name FROM #__vm_manufacturer   ' .
    498.     ' WHERE manufacturer_id = ' . (int) $id;
    499.     echo $query;die();
    500.     $db->setQuery($query);
    501.     // gets category name of item
    502.     $mf_name = $db->loadResult();
    503.     $mf_name = strtolower($product_name);
    504.  
    505.     //Remove following characters
    506.     $special_chars = array('!','@','#','$','%','*','(',')');
    507.     foreach($special_chars as $char){
    508.         $mf_name = str_replace($char,'', $mf_name);
    509.     }
    510.  
    511.     $mf_name = str_replace(' ','-', $mf_name);
    512.     $mf_name = str_replace('  ','-', $mf_name);
    513.     return $mf_name;
    514. }
    515. */
    516.  
    517. function vm_translate($title)
    518.     {
    519.         $tbl= array(
    520.             'Р°'=>'a', 'Р±'=>'b', 'РІ'=>'v', 'Рі'=>'g', 'Рґ'=>'d', 'Рµ'=>'e', 'Р¶'=>'g', 'Р·'=>'z',
    521.             'Рё'=>'i', 'Р№'=>'y', 'Рє'=>'k', 'Р»'=>'l', 'Рј'=>'m', 'РЅ'=>'n', 'Рѕ'=>'o', 'Рї'=>'p',
    522.             'СЂ'=>'r', 'СЃ'=>'s', 'С‚'=>'t', 'Сѓ'=>'u', 'С„'=>'f', 'С‹'=>'i', 'СЌ'=>'e', 'Рђ'=>'A',
    523.             'Р‘'=>'B', 'Р’'=>'V', 'Р“'=>'G', 'Р”'=>'D', 'Р•'=>'E', 'Р–'=>'G', 'Р—'=>'Z', 'И'=>'I',
    524.             'Р™'=>'Y', 'Рљ'=>'K', 'Р›'=>'L', 'Рњ'=>'M', 'Рќ'=>'N', 'Рћ'=>'O', 'Рџ'=>'P', 'Р '=>'R',
    525.             'РЎ'=>'S', 'Рў'=>'T', 'РЈ'=>'U', 'Р¤'=>'F', 'Р«'=>'I', 'Р­'=>'E', 'С‘'=>"yo", 'С…'=>"h",
    526.             'С†'=>"ts", 'С‡'=>"ch", 'С€'=>"sh", 'С‰'=>"shch", 'СЉ'=>"", 'СЊ'=>"", 'СЋ'=>"yu", 'СЏ'=>"ya",
    527.             'РЃ'=>"YO", 'РҐ'=>"H", 'Р¦'=>"TS", 'Р§'=>"CH", 'РЁ'=>"SH", 'Р©'=>"SHCH", 'РЄ'=>"", 'Р¬'=>"",
    528.             'Р®'=>"YU", 'РЇ'=>"YA", ' '=>"-", '('=>'', ')'=>'', ','=>'', '.'=>''
    529.             );
    530.  
    531.         $translate = mb_strtolower(strtr($title, $tbl));
    532.         return $translate;
    533.     }
    534. ?>
     
    Последнее редактирование модератором: 19.10.2010
  5. Лат
    Offline

    Лат Звоните 8 (905) 778-52-44

    Регистрация:
    31.01.2007
    Сообщения:
    1 745
    Симпатии:
    113
    Пол:
    Мужской
    Автор, учим теги. Когда роутер убираете все ок?
     
  6. Offline

    exploer Пользователь

    Регистрация:
    13.04.2009
    Сообщения:
    246
    Симпатии:
    1
    Пол:
    Мужской
    Да, когда роутер убираю грузиться намного быстрее
     
  7. Offline

    _voland_ Местный => Cпециалист <=

    Регистрация:
    12.04.2008
    Сообщения:
    2 171
    Симпатии:
    102
    Пол:
    Мужской
    Тьфу, а при чем тут Джумла? Так бы и писали что речь о вирте
     

Поделиться этой страницей

Загрузка...