Как добавить позицию в шапку сайта

Тема в разделе "Изменение шаблона (кастомизация)", создана пользователем nenabull, 14.05.2011.

  1. Offline

    nenabull Недавно здесь

    Регистрация:
    14.05.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский
    Сайт - http://zolotaia-geisha.com/index.php/ru/about-kennel.html

    Подскажите, пожалуйста, как добавить шапку с изображением над статичным горизонтальным меню, чтобы контент прокручивался под него аналогично тому, как он уходит под верхнее меню.
    Спасибо.
     
  2.  
  3. Offline

    TroL специалист

    Регистрация:
    01.03.2011
    Сообщения:
    502
    Симпатии:
    34
    Пол:
    Мужской
    чет ничего не понял, подробней можно?
     
  4. Sam-vdv
    Offline

    Sam-vdv Недавно здесь

    Регистрация:
    08.09.2010
    Сообщения:
    146
    Симпатии:
    8
    Пол:
    Мужской
    вообще сначала неужно в шаблоне создать блок!! и выставить его так как нужно Вам.
    а затем вставить <jdoc:include type="modules" name="XXX" /> а затем templateDetails вставить <position>XXX</position>
     
  5. Offline

    Vobla Недавно здесь

    Регистрация:
    02.10.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте, при добавлении в index.php jdoc'a сайт не открывается... пишет ошибка 500 вроде... подскажите куда вставлять jdoc? вот полная копия моего файла index.php
    <?php


    // no direct access
    defined( '_JEXEC' ) or die( 'Restricted access' );

    include_once (dirname(__FILE__).DS.'libs'.DS.'gk.template.helper.php');

    $tmpl = GKTemplateHelper::getInstance($this, array('ui', GK_TOOL_SCREEN, GK_TOOL_MENU, 'main_layout', 'direction'));

    //Calculate the width of template
    $tmplWidth = '';
    $tmplWrapMin = '100%';
    switch ($tmpl->getParam(GK_TOOL_SCREEN)){
    case 'auto':
    $tmplWidth = '97%';
    break;
    case 'fluid':
    $tmplWidth = intval($tmpl->getParam('gk_screen-fluid-fix-gk_screen_width'));
    $tmplWidth = $tmplWidth ? $tmplWidth.'%' : '90%';
    break;
    case 'fix':
    $tmplWidth = intval($tmpl->getParam('gk_screen-fluid-fix-gk_screen_width'));
    $tmplWrapMin = $tmplWidth ? ($tmplWidth+1).'px' : '771px';
    $tmplWidth = $tmplWidth ? $tmplWidth.'px' : '770px';
    break;
    default:
    $tmplWidth = intval($tmpl->getParam(GK_TOOL_SCREEN));
    $tmplWrapMin = $tmplWidth ? ($tmplWidth+1).'px' : '983px';
    $tmplWidth = $tmplWidth ? $tmplWidth.'px' : '982px';
    break;
    }

    $tmpl->setParam ('tmplWidth', $tmplWidth);
    $tmpl->setParam ('tmplWrapMin', $tmplWrapMin);

    //Main navigation
    $gk_menutype = $tmpl->getMenuType();
    $gkmenu = null;
    if ($gk_menutype && $gk_menutype != 'none') {
    $gkparams = new JParameter('');
    $gkparams->set( 'menutype', $tmpl->getParam('menutype', 'mainmenu') );
    $gkparams->set( 'menu_images_align', 'left' );
    $gkparams->set( 'menupath', $tmpl->templateurl() .'/gk_menus');
    $gkparams->set('menu_images', 0); //0: not show image, 1: show image which set in menu item
    $gkparams->set('menu_background', 1); //0: image, 1: background
    $gkparams->set('mega-colwidth', 200); //Megamenu only: Default column width
    $gkparams->set('mega-style', 1); //Megamenu only: Menu style.
    $gkparams->set('rtl',($tmpl->getParam('direction')=='rtl' || $tmpl->direction == 'rtl'));
    $gkmenu = $tmpl->loadMenu($gkparams, $gk_menutype);
    }
    //End for main navigation
    $layout = $tmpl->getLayout ();
    if ($layout) {
    $tmpl->display($layout);
    }

    function gkCSSReplace(){
    $buf = JResponse::getBody();

    preg_match_all('/\<link.*href=".*(modules|components).*\/\>/', $buf, $matches);
    for($i = 0; $i < count($matches[0]); $i++){
    $buf = str_replace($matches[0][$i], '', $buf);
    }

    $startpoint = strpos($buf, '</title>');
    $startpoint += 8;
    $buf_start = substr($buf, 0, $startpoint);
    $buf_end = substr($buf, $startpoint);
    $buf_links = '';
    for($i = 0; $i < count($matches[0]); $i++) {
    $link_to_add = $matches[0][$i];
    if(preg_match('/styleIE6/', $matches[0][$i])) { $link_to_add = '<!--[if IE 6]>' . $link_to_add . '<![endif]-->'; }
    if(preg_match('/styleIE7/', $matches[0][$i])) { $link_to_add = '<!--[if IE 7.0]>' . $link_to_add . '<![endif]-->'; }
    $buf_links .= $link_to_add;
    }
    $buf = $buf_start . $buf_links . $buf_end;
    JResponse::setBody($buf);
    }

    $dispatcher = &JDispatcher::getInstance();
    $dispatcher->register('onAfterRender', 'gkCSSReplace');
     
    Последнее редактирование: 26.12.2011
  6. Offline

    fanatikus Недавно здесь

    Регистрация:
    01.12.2011
    Сообщения:
    155
    Симпатии:
    12
    Пол:
    Мужской
    Добавлять нужно в index.php шаблона. Вы выложили не тот файл.

    \localhost\www\название сайта \templates\название шаблона\index.php
     
  7. Offline

    Vobla Недавно здесь

    Регистрация:
    02.10.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    боюсь что все выложил правильно, возможно поэтому и не могу понять = (

    \intercable.su\www\templates\gk_mystore_dark\index.php
     
  8. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Vobla,
    Если переключить на другой шаблон,сайт работает?А в этом файле что?
     
  9. Offline

    Vobla Недавно здесь

    Регистрация:
    02.10.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    На других шаблонах мне все понятно и спокойно все можно добавить и там нормальный index.php с jdoc'ами... Но мне нужен именно этот шаблон = (

    вот что в файле template.helpe r.php

    ПРИШЛОСЬ ОБРЕЗАТЬ КОД(а именно начало), ибо пишет слишком большое сообщение... Но все равно я почти уверен, что данный фаил не причем...

    Код (PHP):
    1. <?php
    2.  
    3.  
    4.  
    5. urn $modules?$_tpl->countModules ($modules):0;
    6.  
    7.     }
    8.  
    9.  
    10.  
    11.     function definePosition ($positions) {
    12.  
    13.         $this->_positions = $positions;
    14.  
    15.         //parse layout
    16.  
    17.         $this->_colwidth = array();
    18.  
    19.         //Left
    20.  
    21.         $l = 0;
    22.  
    23.         $left1 = $this->getPositionName ('left1');
    24.  
    25.         $left2 = $this->getPositionName ('left2');
    26.  
    27.         $mt = $this->getPositionName ('left-mass-top');
    28.  
    29.         $mb = $this->getPositionName ('left-mass-bottom');
    30.  
    31.        
    32.  
    33.         if ($this->countModules ("$mt") || $this->countModules ("$mb") || $this->countModules ("$left1") || $this->countModules ("$left2") ){
    34.  
    35.             $l = $this->getColumnBasedWidth ('left');
    36.  
    37.         }
    38.  
    39.         //right
    40.  
    41.         $r = 0;
    42.  
    43.         $right1 = $this->getPositionName ('right1');
    44.  
    45.         $right2 = $this->getPositionName ('right2');
    46.  
    47.         $mt = $this->getPositionName ('right-mass-top');
    48.  
    49.         $mb = $this->getPositionName ('right-mass-bottom');
    50.  
    51.  
    52.  
    53.         if ($this->countModules ("$mt") || $this->countModules ("$mb") || $this->countModules ("$right1") || $this->countModules ("$right2") ){
    54.  
    55.             $r = $this->getColumnBasedWidth ('right');
    56.  
    57.         }
    58.  
    59.        
    60.  
    61.         //inset
    62.  
    63.         $inset1 = $this->getPositionName ('inset1');
    64.  
    65.         $inset2 = $this->getPositionName ('inset2');       
    66.  
    67.         $i1=$i2=0;
    68.  
    69.  
    70.  
    71.         if ($this->countModules("$inset1")) $i1 = $this->getColumnBasedWidth ('inset1');
    72.  
    73.         if ($this->countModules("$inset2")) $i2 = $this->getColumnBasedWidth ('inset2');
    74.  
    75.         //width
    76.  
    77.         $this->_colwidth ['r'] = $r;
    78.  
    79.         $this->_colwidth ['mw'] = 100 - $r;
    80.  
    81.         $m = 100 - $l - $r;
    82.  
    83.         $this->_colwidth ['l'] = ($l + $m)?round($l * 100 / ($l + $m)):0;
    84.  
    85.         $this->_colwidth ['m'] = 100 - $this->_colwidth ['l'];
    86.  
    87.         $c = $m - $i1 - $i2;
    88.  
    89.         $this->_colwidth ['i2'] = round($i2 * 100 / $m);
    90.  
    91.         $this->_colwidth ['cw'] = 100 - $this->_colwidth ['i2'];
    92.  
    93.         $this->_colwidth ['i1'] = ($c+$i1)?round($i1 * 100 / ($c+$i1)):0;
    94.  
    95.         $this->_colwidth ['c'] = 100 - $this->_colwidth ['i1'];
    96.  
    97.     }
    98.  
    99.  
    100.  
    101.     function customwidth ($name, $width) {
    102.  
    103.         if (!isset ($this->_customwidth)) $this->_customwidth = array();
    104.  
    105.         $this->_customwidth [$name] = $width;
    106.  
    107.     }
    108.  
    109.  
    110.  
    111.     function getColumnBasedWidth ($name) {
    112.  
    113.         if ($this->isContentEdit()) return 0;
    114.  
    115.         return (isset ($this->_customwidth) && isset ($this->_customwidth[$name]) && $this->_customwidth[$name]) ? $this->_customwidth[$name]:$this->_basewidth;
    116.  
    117.     }
    118.  
    119.  
    120.  
    121.     function getPositionName ($name) {
    122.  
    123.         if (isset ($this->_positions[$name])) return trim($this->_positions[$name]);
    124.  
    125.         return '';
    126.  
    127.     }  
    128.  
    129.  
    130.  
    131.     function hasPosition ($name) {
    132.  
    133.         return $this->countModules ($this->getPositionName ($name));
    134.  
    135.     }  
    136.  
    137.  
    138.  
    139.     function getColumnWidth ($name) {
    140.  
    141.         if (isset($this->_colwidth [$name])) return ($this->_colwidth [$name]/* - ($this->isIE() ? 0.1 : 0)*/);
    142.  
    143.         return null;
    144.  
    145.     }
    146.  
    147.  
    148.  
    149.     /**
    150.  
    151.      *
    152.  
    153.      * Function for CSS/JS compression
    154.  
    155.      *
    156.  
    157.      */
    158.  
    159.  
    160.  
    161.     function useCache($cache_css, $overwrite = false) {
    162.  
    163.         $document =& JFactory::getDocument();
    164.  
    165.        
    166.  
    167.         $scripts = array();
    168.  
    169.         $css_urls = array();
    170.  
    171.        
    172.  
    173.         if($cache_css) {
    174.  
    175.             foreach ($document->_styleSheets as $strSrc => $strAttr ) {    
    176.  
    177.                 if(!preg_match('/\?.{1,}$/', $strSrc)) {
    178.  
    179.                     $srcurl = $this->cleanUrl($strSrc);
    180.  
    181.                     if (!$srcurl) continue;
    182.  
    183.                     //remove this css and add later
    184.  
    185.                     unset ($document->_styleSheets [$strSrc]);
    186.  
    187.                     $path = str_replace ('/', DS, $srcurl);
    188.  
    189.                     $css_urls[] = array (JPATH_SITE.DS.$path, JURI::base(true).'/'.$srcurl);
    190.  
    191.                 }
    192.  
    193.             }
    194.  
    195.         }
    196.  
    197.  
    198.  
    199.         /*if($cache_js) {
    200.  
    201.             foreach ($document->_scripts as $strSrc => $strType) {
    202.  
    203.                 if(!preg_match('/\?.{1,}$/', $strSrc)) {
    204.  
    205.                     $srcurl = $this->cleanUrl ($strSrc);
    206.  
    207.                     if (!$srcurl) continue;
    208.  
    209.                     unset ($document->_scripts [$strSrc]);
    210.  
    211.                     $path = str_replace ('/', DS, $srcurl);
    212.  
    213.                     $scrips[] = array (JPATH_SITE.DS.$path, JURI::base(true).'/'.$srcurl);
    214.  
    215.                 }
    216.  
    217.             }
    218.  
    219.         }*/
    220.  
    221.        
    222.  
    223.         if($cache_css) {
    224.  
    225.             $url = $this->optimizecss($css_urls, $overwrite);
    226.  
    227.             if ($url) $document->addStylesheet($url);
    228.  
    229.             else{
    230.  
    231.               foreach ($css_urls as $urls) $document->addStylesheet($url[1]); //re-add stylesheet to head
    232.  
    233.             }
    234.  
    235.         }
    236.  
    237.        
    238.  
    239.         /*if($cache_js) {  
    240.  
    241.             $url = $this->optimizejs($scrips);
    242.  
    243.             if ($url) $scrips = array(array('', $url));
    244.  
    245.             foreach ($scrips as $url) $document->addScript ($url[1]); //re-add stylesheet to head
    246.  
    247.         }*/
    248.  
    249.     }
    250.  
    251.    
    252.  
    253.     function cleanUrl ($strSrc) {
    254.  
    255.         if (preg_match ('/^https?\:/', $strSrc)) {
    256.  
    257.             if (!preg_match ('#^'.preg_quote(JURI::base()).'#', $strSrc)) return false; //external css
    258.  
    259.             $strSrc = str_replace (JURI::base(), '', $strSrc);
    260.  
    261.         } else if (preg_match ('/^\//', $strSrc)) {
    262.  
    263.             if (!preg_match ('#^'.preg_quote(JURI::base(true)).'#', $strSrc)) return false; //same server, but outsite website
    264.  
    265.             $strSrc = preg_replace ('#^'.preg_quote(JURI::base(true)).'#', '', $strSrc);
    266.  
    267.         }
    268.  
    269.  
    270.  
    271.         $strSrc = str_replace ('//', '/', $strSrc);
    272.  
    273.         $strSrc = preg_replace ('/^\//', '', $strSrc);
    274.  
    275.         return $strSrc;
    276.  
    277.     }
    278.  
    279.      
    280.  
    281.     function optimizecss ($css_urls, $overwrite = false) {
    282.  
    283.         $content = '';
    284.  
    285.         $files = '';
    286.  
    287.         jimport('joomla.filesystem.file');
    288.  
    289.         foreach ($css_urls as $url) {
    290.  
    291.             $files .= $url[1];
    292.  
    293.             //join css files into one file
    294.  
    295.             $content .= "/* FILE: {$url[1]} */\n".$this->compresscss(@JFile::read ($url[0]), $url[1])."\n\n";
    296.  
    297.         }
    298.  
    299.  
    300.  
    301.         $file = md5 ($files).'.css';
    302.  
    303.         $url = $this->store_file ($content, $file, $overwrite);
    304.  
    305.         return $url;
    306.  
    307.     }  
    308.  
    309.    
    310.  
    311.     /*function optimizejs ($js_urls) {
    312.  
    313.         $content = '';
    314.  
    315.         $files = '';
    316.  
    317.         jimport('joomla.filesystem.file');
    318.  
    319.         foreach ($js_urls as $url) {
    320.  
    321.             $files .= $url[1];
    322.  
    323.             //join css files into one file
    324.  
    325.             $content .= "/* FILE: {$url[1]} *//*\n".$this->compressjs(@JFile::read ($url[0]), $url[1])."\n\n";
    326.  
    327.         }
    328.  
    329.        
    330.  
    331.         $file = md5 ($files).'.js';
    332.  
    333.         $url = $this->store_file ($content, $file);
    334.  
    335.        
    336.  
    337.         return $url;
    338.  
    339.     }*/
    340.  
    341.    
    342.  
    343.     function compresscss($data, $url) {
    344.  
    345.         global $current_css_url;
    346.  
    347.         //if ($url[0] == '/') $url = JURI::root(false, '').substr($url, 1);
    348.  
    349.         $current_css_url = $url;
    350.  
    351.         /* remove comments */
    352.  
    353.         $data = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $data);
    354.  
    355.         /* remove tabs, spaces, new lines, etc. */        
    356.  
    357.         $data = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), ' ', $data);
    358.  
    359.         /* remove unnecessary spaces */
    360.  
    361.         $data = preg_replace ('/[ ]+([{};,:])/', '\1', $data);
    362.  
    363.         $data = preg_replace ('/([{};,:])[ ]+/', '\1', $data);
    364.  
    365.         /* remove empty class */
    366.  
    367.         $data = preg_replace ('/(\}([^\}]*\{\})+)/', '}', $data);
    368.  
    369.         /* replace url*/
    370.  
    371.         $data = preg_replace_callback ('/url\(([^\)]*)\)/', array('GKTemplateHelper1', 'replaceurl'), $data);
    372.  
    373.  
    374.  
    375.        
    376.  
    377.         return $data;
    378.  
    379.     }
    380.  
    381.    
    382.  
    383.     /*function compressjs($data, $url) {
    384.  
    385.         return $data;
    386.  
    387.     }*/
    388.  
    389.    
    390.  
    391.     function replaceurl ($matches) {
    392.  
    393.         $url = str_replace (array('"', '\''), '', $matches[1]);
    394.  
    395.         global $current_css_url;
    396.  
    397.         $url = GKTemplateHelper1::converturl ($url, $current_css_url);
    398.  
    399.         return "url('$url')";
    400.  
    401.     }
    402.  
    403.    
    404.  
    405.     function converturl ($url, $cssurl) {
    406.  
    407.         $base = dirname ($cssurl);
    408.  
    409.         if (preg_match ('/^(\/|http)/', $url)) return $url; /*absolute or root*/
    410.  
    411.         while (preg_match ('/^\.\.\//', $url)) {
    412.  
    413.             $base = dirname ($base);
    414.  
    415.             $url = substr ($url, 3);
    416.  
    417.         }
    418.  
    419.        
    420.  
    421.         $url = $base.'/'.$url;
    422.  
    423.         return $url;
    424.  
    425.     }
    426.  
    427.    
    428.  
    429.     function store_file ($data, $filename, $overwrite = false) {
    430.  
    431.         $path = JPATH_SITE.DS.'cache'.DS.'gk';
    432.  
    433.         if (!is_dir ($path)) @JFolder::create ($path);
    434.  
    435.         $path = $path.DS.$filename;
    436.  
    437.         $url = JURI::base(true).'/cache/gk/'.$filename;
    438.  
    439.         if (is_file ($path) && !$overwrite) return $url;
    440.  
    441.         @file_put_contents($path, $data);
    442.  
    443.         return is_file ($path)?$url:false;     
    444.  
    445.     }
    446.  
    447.  
    448.  
    449.     /**
    450.  
    451.      *
    452.  
    453.      * Functions from GK Framework
    454.  
    455.      *
    456.  
    457.      */
    458.  
    459.      
    460.  
    461.     function checkComponent() {
    462.  
    463.         $menu = & JSite::getMenu();
    464.  
    465.         $result = !(($this->_tpl->params->get("frontpage") == 1) ? false : ($menu->getActive() == $menu->getDefault()));   
    466.  
    467.         return (!isset($_POST['option'])) ? $result : true;
    468.  
    469.     }
    470.  
    471.  
    472.  
    473.     function checkMainbody() { return (($this->_tpl->params->get('mainbody_pos') != 0) && $this->countModules("mainbody") > 0); }
    474.  
    475.  
    476.  
    477.     function fontFamily($n, $g = 'none'){
    478.  
    479.         if($g != 'none' && $this->_tpl->params->get('font_method') == 2){
    480.  
    481.             $gfont = $g;
    482.  
    483.             $gfont = str_replace(':bold','',$gfont);
    484.  
    485.             $gfont = str_replace(':italic','',$gfont);
    486.  
    487.             $gfont = str_replace(':bolditalic','',$gfont);
    488.  
    489.            
    490.  
    491.             return '\''.str_replace('+', ' ', $gfont).'\', Arial, sans-serif';
    492.  
    493.         }else{ 
    494.  
    495.             switch($n) {
    496.  
    497.                 case 1: return 'Verdana, Geneva, sans-serif';break;
    498.  
    499.                 case 2: return 'Georgia, "Times New Roman", Times, serif';break;
    500.  
    501.                 case 3: return 'Arial, Helvetica, sans-serif';break;
    502.  
    503.                 case 4: return 'Impact, Arial, Helvetica, sans-serif';break;
    504.  
    505.                 case 5: return 'Tahoma, Geneva, sans-serif';break;
    506.  
    507.                 case 6: return '"Trebuchet MS", Arial, Helvetica, sans-serif';break;
    508.  
    509.                 case 7: return '"Arial Black", Gadget, sans-serif';break;
    510.  
    511.                 case 8: return '"Times New Roman", Times, serif';break;
    512.  
    513.                 case 9: return '"Palatino Linotype", "Book Antiqua", Palatino, serif';break;
    514.  
    515.                 case 10: return '"Lucida Sans Unicode", "Lucida Grande", sans-serif';break;
    516.  
    517.                 case 11: return '"MS Serif", "New York", serif';break;
    518.  
    519.                 case 12: return '"Comic Sans MS", cursive';break;
    520.  
    521.                 case 13: return '"Courier New", Courier, monospace';break;
    522.  
    523.                 case 14: return '"Lucida Console", Monaco, monospace';break;
    524.  
    525.                 default: return '';break;
    526.  
    527.             }
    528.  
    529.         }
    530.  
    531.     }
    532.  
    533.    
    534.  
    535.     function lessCSS($file){
    536.  
    537.         if($this->getParam('less_php',0)){ // check if LESS.js is enabled
    538.  
    539.             jimport('joomla.filesystem.file');
    540.  
    541.            
    542.  
    543.             if(JFile::exists($this->templatepath().DS.'less'.DS.str_replace('/',DS, $file).'.less')){ // check if file duplicate written in LESS exists
    544.  
    545.                
    546.  
    547.                 require_once('lessc.inc.php');
    548.  
    549.                
    550.  
    551.                 try {
    552.  
    553.                     lessc::ccompile($this->templatepath().DS.'less'.DS.str_replace('/',DS, $file).'.less', $this->templatepath().DS.'less'.DS.str_replace('/',DS, $file).'.css');
    554.  
    555.                 } catch (exception $ex) {
    556.  
    557.                     exit('lessc fatal error:<br />'.$ex->getMessage()."\n FILE:".$file);
    558.  
    559.                 }
    560.  
    561.  
    562.  
    563.                
    564.  
    565.                 echo '<link rel="stylesheet" href="'.$this->templateurl().'/less/'.$file.'.css" type="text/css" />'."\n";
    566.  
    567.             }else{
    568.  
    569.                 echo '<link rel="stylesheet" href="'.$this->templateurl().'/css/'.$file.'.css" type="text/css" />'."\n";   
    570.  
    571.             }
    572.  
    573.         }else{
    574.  
    575.             echo '<link rel="stylesheet" href="'.$this->templateurl().'/css/'.$file.'.css" type="text/css" />'."\n";
    576.  
    577.         }
    578.  
    579.     }
    580.  
    581. }
    582.  
    583.  
    584.  
    585. make_object_extendable ('GKTemplateHelper');
     
    Последнее редактирование: 27.12.2011
  10. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Ну а шаблон выводит из массива позиции .Нет времени разбираться в коде,но больше похоже на вызов методов разметки шаблона.
     
  11. Offline

    fanatikus Недавно здесь

    Регистрация:
    01.12.2011
    Сообщения:
    155
    Симпатии:
    12
    Пол:
    Мужской
    nenabul, что у вас за шаблон, можно его где нибудь посмотреть (если не секрет конечно)
    Интересно, потому что какие-то необычные у него файлы.
     
  12. vyatka
    Offline

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

    Регистрация:
    30.11.2010
    Сообщения:
    95
    Симпатии:
    5
    Пол:
    Мужской
    А что необычного - клубный шаблон, от Gavik - MyStore. У клубов обычно для создания шаблонов используются собственные фреймворки и их код отличается от стандартных достаточно значительно. Gavik насколько мне известно для Joomla 1.5 использовал T3 Framework от JoomlArt а начиная с версии J1.7 сделали свой - Gavern Framework. Читайте документацию, разбирайтесь.
     

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

Загрузка...