Aktualizacja szablonu agriculture_15 pod Joomla 1.7
Wyniki 1 do 7 z 7

Temat: Aktualizacja szablonu agriculture_15 pod Joomla 1.7

  1. #1
    Nowicjusz
    Dołączył
    08-03-2008
    Wpisy
    20
    Punkty
    11

    Domyślny Aktualizacja szablonu agriculture_15 pod Joomla 1.7

    Próbuję zaktualizować dla Joomla 1.7 szablon Agriculture stworzony pierwotnie pod Joomla 1.5 i mam problem z plikiem "menu.php". Pojawia się komunikat:
    Kod:
     Fatal error: Call to a member function getCfg() on a non-object in /home/[*skracam ścieżkę]/templates/agriculture_15/menu.php on line 9
    Dzięki tym sugestiom poradziłem sobie z podobnym problemem w pliku "index.php", ale w przypadku "menu.php" to nie działa. Poniżej wklejam zawartość linii od 9 do 17 (bo w dalszych pewnie też pojawi się problem związany z ciągiem "$mainframe->getCfg"
    Kod:
     $database = $mainframe->getCfg('db');
     $user =& JFactory::getUser();
     $my = $user -> get('usertype');
     $cur_template = $mainframe->getTemplate();
     $Itemid = JRequest::getInt('Itemid');
     //$mosConfig_absolute_path;
     $mosConfig_live_site = $mainframe->getCfg('live_site');
     $contentConfig = &JComponentHelper::getParams( 'com_content' );
     $mosConfig_shownoauth = !$contentConfig->get('shownoauth');
    Według podlinkowanych wcześniej wskazówek wydawało mi się logiczne zamienić
    Kod:
    $database = $mainframe->getCfg('db');
    na
    Kod:
     $database = $app->getCfg('db');
    Jednak to nie działa. Nic nie zmienia również zgodna z sugestiami (jak je rozumiem) zmiana linii poniżej z
    Kod:
    $user =& JFactory::getUser();
    na
    Kod:
     $user = $app = JFactory::getApplication();
    Proszę o pomoc.

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Wyjadacz
    Dołączył
    11-08-2006
    Wpisy
    780
    Punkty
    78

    Domyślny

    Witam
    Spróbuj tak, pisane na szybko
    Kod PHP:
    $app JFactory::getApplication();
    $database =  $app->getCfg('db');
    $user =& JFactory::getUser();
    $my $user -> get('usertype');
    $cur_template $app->getTemplate();
    $Itemid JRequest::getInt('Itemid');
    //$mosConfig_absolute_path;
    $mosConfig_live_site $app->getCfg('live_site');
    $contentConfig = &JComponentHelper::getParams'com_content' );
    $mosConfig_shownoauth = !$contentConfig->get('shownoauth'); 
    Pozdrawiam

  4. #3
    Nowicjusz
    Dołączył
    08-03-2008
    Wpisy
    20
    Punkty
    11

    Domyślny

    Dziękuję za pomoc! Zadziałało. Jednak pojawiły się kolejne schodki, mam nadzieję, że ostatnie.

    Pierwszy problem to komunikat:
    Kod:
     
    Unknown column 'p.parent' in 'field list' SQL=SELECT m.*, count(p.parent) as cnt FROM q2szg_menu AS m LEFT JOIN q2szg_menu AS p ON p.parent = m.id WHERE m.menutype='topmenu' AND m.published='1' GROUP BY m.id ORDER BY m.parent, m.ordering
    Nie bardzo rozumiem o co chodzi z "nieznanymi kolumnami"? "q2szg_" to przedrostek tabel ustalony przed instalacją Joomli 1.7, tylko pytanie co wymaga modyfikacji? W innym temacie dopatrzyłem się podpowiedzi związaną z naprawą tabel w SQL - zrobiłem to w PHP My Admin i nic to nie dało. Poniżej kod z menu.php chyba z tym związany (linie od 59 do 88):
    Kod:
     
      if ($mosConfig_shownoauth) {
      $database = &JFactory::getDBO();
      $database->setQuery( "SELECT m.*, count(p.parent) as cnt" .
     "\nFROM #__menu AS m" .
     "\nLEFT JOIN #__menu AS p ON p.parent = m.id" .
        "\nWHERE m.menutype='$menutype' AND m.published='1'" .
     "\nGROUP BY m.id ORDER BY m.parent, m.ordering ");
     
          } else {
       $database = &JFactory::getDBO();
      $database->setQuery( "SELECT m.*, sum(case when p.published=1 then 1 else 0 end) as cnt" .
     "\nFROM #__menu AS m" .
     "\nLEFT JOIN #__menu AS p ON p.parent = m.id" .
        "\nWHERE m.menutype='$menutype' AND m.published='1' AND m.access <= '$my->gid'" .
     "\nGROUP BY m.id ORDER BY m.parent, m.ordering ");
     
       }
     $rows = $database->loadObjectList( 'id' );
     echo $database->getErrorMsg();
     
      //work out if this should be highlighted
      $sql = &JFactory::getDBO();
      $sql->setQuery( 'SELECT m.* FROM #__menu AS m WHERE menutype='.$menutype.' AND m.published=1'); // nie wiadomo po co to
      $query = 'SELECT m.* FROM #__menu AS m WHERE menutype=\'.$menutype.\' AND m.published=1';
      $database->setQuery( $query );
      $subrows = $database->loadObjectList( 'id' );
      $maxrecurse = 5;
      $parentid = $Itemid;
    Drugi kłopot to błąd w linii 113 (Invalid argument supplied for foreach() in ). Poniżej kod od linii 102 do 120 (113 pogrubiona na czerwono):
    Kod:
     
       // I think nav-wrapper is obsolete and can be removed. See comment in suckerfiss.css
     echo "<div id=\"cssMenu1\" class=\"horizontal\">";
     $indents = array(
     // block prefix / item prefix / item suffix / block suffix
     array( "<ul class=\"menu\">", "<li>" , "</li>", "</ul>" ),
     );
        // establish the hierarchy of the menu
     $children = array();
        // first pass - collect children
      foreach ($rows as $v ) {
      $pt = $v->parent;
      $list = @$children[$pt] ? $children[$pt] : array();
      array_push( $list, $v );
            $children[$pt] = $list;
        }
        // second pass - collect 'open' menus
     $open = array( $Itemid );
     $count = 20; // maximum levels - to prevent runaway loop
     $id = $Itemid;
     while (--$count) {
      if (isset($rows[$id]) && $rows[$id]->parent > 0) {
       $id = $rows[$id]->parent;
       $open[] = $id;
      } else {
       break;
      }
     }
     $class_sfx = null;
        mosRecurseListMenu( 0, 0, $children, $open, $indents, $class_sfx, $hilightid );
    Ostanio edytowane przez Zabolxp : 29-07-2011 14:24

  5. #4
    Senior PeFik awatar
    Dołączył
    18-02-2007
    Skąd
    Miasto Stu Mostów
    Wpisy
    5 465
    Punkty
    241

    Domyślny

    a nie łatwiej było wziąć pusty framework i dorzucić tylko te twoje zielone kolory + fotki , zajęło by to około 1h a tak ?
    Współautor bloga o systemie Joomla! -> blog.elimu.pl < oraz kilku książek i artykułów o tym CMS.

  6. #5
    Nowicjusz
    Dołączył
    08-03-2008
    Wpisy
    20
    Punkty
    11

    Domyślny

    Niestety pierwszy raz słyszę o frameworkach do Joomla. Znalazłem kilka, ale gdybym mógł prosić o kilka wskazówek będę wdzięczny, ale podejrzewam, że dla laika w temacie może to być trudne na początek.

    Generalnie chciałbym poprawić to co jest, bo pod Joomla 1.5 zmodyfikowałem sobie już ten szablon idealnie tak jak bym chciał. Kwestia tylko prawidłowego wyświetlania się bazowego template'u.

    ---------- Post dodany o 22:26 ---------- Poprzedni post był o 15:35 ----------

    Zrobiłem duży postęp, ponieważ pobrałem jakąś inaczej sformatowaną wersję tego szablonu STĄD. Nie ma w nim już pliku menu.php i wszystko w zasadzie wygląda pięknie poza tym, że nie wyświetla się żadne menu (top, left, right). Czy to przywoływany wcześniej problem z kolumnami? Kłopot w tym, że nie wyświetla się na stronie żaden komunikat o błędzie. W pliku index.php zamieniłem jedynie wyrażenia $mainframe na $app i dodałem $app = JFactory::getApplication();

    Oto zawartość pliku index.php:
    Kod:
     
    <?php
    /***
           # December 2008 (for Joomla 1.5)
           # Copyright (C) design-joomla.eu All Rights Reserved.
           # License: Copyrighted Commercial Software
           # Website: http://www.design-joomla.eu
           # Support: joomla-monster@design-joomla.eu
    ***/
    defined( '_JEXEC' ) or die( 'Restricted access' );
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
    <head>
    <jdoc:include type="head" />
    <?php 
    if ( $my->id ) initEditor(); 
    $mosConfig_live_site = JURI :: base();
    $app = JFactory::getApplication();
    $dj_name = $app->getTemplate();
    $dj_path = $mosConfig_live_site . 'templates/' . $dj_name . '/';
     
    if ( $this->countModules('left') == 0) $a = '-noleft'; 
    if ( $this->countModules('right') == 0) $b = '-noright'; 
    ?>
    <link rel="stylesheet" href="<?php echo $dj_path;?>css/template_css.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $dj_path;?>css/horizontal.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $dj_path;?>css/editor.css"  type="text/css" />
    <!--[if IE 6]>
    <link href="<?php echo $dj_path;?>css/template_ie.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
              img, #header_r, #header, #logo a { behavior: url(<?php echo $dj_path;?>images/iepngfix.htc) }
    </style>
    <![endif]-->
    <script type="text/javascript" language="javascript" src="<?php echo $dj_path;?>js/animation.js"></script>
    <link rel="shortcut icon" href="<?php echo $dj_path;?>images/favicon.ico"/>
    
    </head>
    <body>
    <div id="header_in"><div align="center"><div id="header_mod">
     <?php  if ($this->countModules('header')) {?>
     <jdoc:include type="modules" name="header" style="raw"/>
     <?php  } else { ?>
      <img src="<?php echo $dj_path;?>images/header.jpg" alt="header" />
     <?php  } ?></div>
    </div></div>
    <div id="header_l"><div align="center"><div id="header_r"><div id="header_box">
          <div id="logo_box">
           <div id="logo">
            <h1><a onfocus="blur()" href="<?php echo $app->getCfg('live_site');?>"><span><?php echo $app->getCfg('sitename');?></span></a></h1>
           </div>
          </div>
          <div id="topmod_box">
           <div id="topmod"><jdoc:include type="modules" name="top" style="xhtml"/></div>
          </div>
    </div></div></div></div>
     
    <div id="bg">
     <div align="center">
      <div id="header">
       
       
       <div id="empty"></div>
       <div id="top_l"><div id="top_r"><div id="top">
        <div id="menu_box"><div id="topmenu"><jdoc:include type="modules" name="user3" style="raw"/></div></div>
        <div id="search_box"><div id="search"><jdoc:include type="modules" name="user4" style="xhtml"/></div></div>
       </div></div></div>
       <div id="pathway_box">
        <div id="path_text">You are here:</div>
        <div id="path"><jdoc:include type="modules" name="breadcrumb" style="html"/></div> 
       </div>
      </div><!--header-->  
      <div id="container" class="clearfix">
       <div id="left_col<?php echo $a; ?>">
        <div id="left_mod">
         <jdoc:include type="modules" name="left" style="rounded"/> 
        </div>
       </div><!--left_col-->
       <div id="right_col<?php echo $a; ?>">
        <div id="content<?php echo $a; ?><?php echo $b; ?>"><div id="content_in<?php echo $a; ?><?php echo $b; ?>">
         <div id="mainbody">
          <jdoc:include type="message" />
          <jdoc:include type="component" style="html"/>
         </div>
        </div></div>
        <div id="right_box<?php echo $b; ?>">
         <div id="right_mod">
          <jdoc:include type="modules" name="right" style="rounded"/>
         </div>
        </div>
       </div><!--right_col-->
      </div><!--container-->
      <div id="foot_l"><div id="foot_r"><div id="foot">
       <div id="license_box"><div id="license" align="left"><jdoc:include type="modules" name="copyrights" style="raw"/></div></div>
       <div id="copyright_box"><div id="copyright">created by <a href="http://www.joomla-monster.com" onfocus="blur()" target="_blank" title="Professional Joomla Templates">joomla-monster.com</a></div></div>
      </div></div></div>
     </div>
    </div>
    </body>
    </html>

  7. #6
    Senior PeFik awatar
    Dołączył
    18-02-2007
    Skąd
    Miasto Stu Mostów
    Wpisy
    5 465
    Punkty
    241

    Domyślny

    a na moim blogu szukać się nie chciało ? przecież mam pole [szukaj] poza tym jest google. Aaa dużo by opowiadać, a forum nie jest od tego.
    Współautor bloga o systemie Joomla! -> blog.elimu.pl < oraz kilku książek i artykułów o tym CMS.

  8. #7
    Nowicjusz
    Dołączył
    08-03-2008
    Wpisy
    20
    Punkty
    11

    Domyślny

    Blogu nie znałem, powertowałem trochę i znalazłem ciekawy artykuł (http://www.joomlapraise.com/blog/ite...tutorial-part1) o aktualizacji szablonów, choć aż wstyd się przyznać jak prozaiczny był problem. W Google szukałem i znajdowałem tylko innego typu proste problemy innych użytkowników do starszych Joomli i nie spodziewłem się, że w zasadzie mnie dotyczy coś równie banalnego.

    Modyfikacje z powyższego artykułu nic w zasadzie nie zmieniły, bo kluczową sprawą było przypisanie prawidłowych pozycji do modułów (były position-1, position-7, a powinny być left, right itp.). Głupi błąd to chyba efekt, że nigdy nie próbowałem się z Joomla 1.6 i przeszkoczyłem na siódemkę od razu z piątki i to po dużej przerwie, dlatego nie spodziewałem się czegoś takiego.

    Dziękuję wszystkim aktywnym za próby pomocy. Pozdrawiam.
    Ostanio edytowane przez Zabolxp : 30-07-2011 14:16

Podobne tematy

  1. Aktualizacja szablonu Joomla! 1.5 do Joomla! 1.6
    przez pawelSafiStudio na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 10
    Ostatni post/autor: 02-02-2011, 13:51
  2. Modyfikacja szablonu Joomla pod VirtueMart
    przez wtyk na forum VirtueMart
    Odpowiedzi: 3
    Ostatni post/autor: 10-12-2010, 17:02
  3. Dostosowanie szablonu pod Joomla
    przez Rafador na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 3
    Ostatni post/autor: 15-10-2009, 19:40
  4. Naprawa szablonu pod joomla 1.0.15
    przez tkotwa na forum Szablony graficzne
    Odpowiedzi: 3
    Ostatni post/autor: 26-09-2008, 11:23

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •