PDA

Zobacz pełną wersję : Menu poziome



bialydam
09-06-2010, 02:34
Witam jestem nowy na tym forum jak i w tematyce joomla mam nadzieję ze pomożecie mi trochę :hmm:

Mianowicie już na samym początku mam problem z menu poziomym. Szablon który pobrałem i chciałem dostosować do swoich potrzeb ma możliwość dodawania menu jedynie po lewej stronie z tego co wyczytałem to muszę edytować templateDetails.xml i dopisać interesujące mnie pozycje... np.
<positons>
<position>top</position>
</positions>

Gdy to zrobiłem owszem w edycji Menu pojawiły mi się dodatkowe opcje... ale po zmianie na inną menu znika...
wydaje mi się że jeszcze muszę edytować i dopisać coś - gdzieś w index.php
tylko nie bardzo wiem gdzie i co :zly: oraz czy muszę dodać style aby menu było interpretowane jako poziome

pewnie dla Was to banalne ale niestety dopiero zaczynam się uczyć tego i jeszcze lata przede mną nauki
dlatego proszę Was o pomoc i z góry dzięki


<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
JPlugin::loadLanguage( 'tpl_SG1' );
?>
<!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" />

<link rel="stylesheet" href="templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" />

<!--[if lte IE 6]>
<link href="templates/<?php echo $this->template ?>/css/ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->

</head>

<body id="page_bg">
<div id="container">

<div id="header">
<a href="index.php"><?php echo $mainframe->getCfg('sitename') ;?></a>
</div>

<div id="pillmenu">
<jdoc:include type="modules" name="user3" />
</div>

<div id="splash">
<div id="newsflash">
<jdoc:include type="modules" style="rounded" name="top" />
</div>
</div>

<div id="toolbar">
<div id="pathway">
<jdoc:include type="modules" name="breadcrumb" />
</div>
<div id="search">
<jdoc:include type="modules" name="user4" />
</div>
<div class="clr"></div>
</div>

<div id="wrapper">
<div id="holder_top">
<div id="holder_bottom">
<div id="content">
<?php if($this->countModules('left') and JRequest::getCmd('layout') != 'form') : ?>
<div id="leftcolumn">
<jdoc:include type="modules" name="left" style="rounded" />
<?php $wd123 = 'banner'; include "templates.php"; ?>
</div>
<?php endif; ?>

<?php if($this->countModules('right') and JRequest::getCmd('layout') != 'form') : ?>
<div id="maincolumn">
<?php else: ?>
<div id="maincolumn_full">
<?php endif; ?>
<div class="nopad">
<jdoc:include type="message" />
<?php if($this->params->get('showComponent')) : ?>
<jdoc:include type="component" />
<?php endif; ?>
</div>
</div>
<?php if($this->countModules('right') and JRequest::getCmd('layout') != 'form') : ?>
<div id="rightcolumn" style="float:right;">
<jdoc:include type="modules" name="right" style="rounded" />
</div>
<?php endif; ?>
<div class="clr"></div>
<jdoc:include type="modules" name="debug" />
</div>
</div>
</div>
</div>

<div id="footer">
<?php $wd123 = ''; include "templates.php"; ?><br />
<a href="http://validator.w3.org/check/referer">valid xhtml</a>
<a href="http://jigsaw.w3.org/css-validator/check/referer">valid css</a>
</div>
</div>
</body>
</html>

PeFik
09-06-2010, 05:10
że tak zapytam podstawy HTML + CSS znasz tak.
A więc w pliku index.php szablonu w miejscu gdzie chcesz wstawić ów moduł menu , a więc nową pozycje musisz utworzyć blok <div> + nadać mu styl.
Później wstawiasz w nim powiedźmy <jdoc:include type="modules" name="menutop" />

następnie do templateDetails.xml - dopisujesz nową pozycje <position>menutop</position> i mniej więcej tyle.

alex51
09-06-2010, 06:52
Sprawdź wcześniej, czy Twój szablon może już posiada taką pozycję, w której byłoby odpowiednie miejsce na pokazanie menu poziomego. Dobrze byłoby poinformować jakiego używasz szablonu i jeśli strona jest na serwerze to przydać się może jej adres www dla sprawdzenia wspomnianych pozycji.

KYCu
09-06-2010, 08:53
a wg mnie za górne menu odpowiada ten kod templatki


<div id="pillmenu">
<jdoc:include type="modules" name="user3" />
</div>

gdyż standardowo, Joomla, menu górne wyświetla w pozycji user3 i tu właśnie próbowałbym umieścić Twoje menu, @bialydam

bialydam
09-06-2010, 11:30
;o nie spodziewałem się tak szybkiej i tak dokładnej odpowiedzi najpierw przewaliłem trochę forum zanim napisałem swój post ale nic konkretnego nie znalazłem...

Dzięki za Wasze odpowiedzi to mi bardzo wiele rozjaśniło i oczywiście rozwiązało mój problem ;) Tylko pozwolę sobie teraz dodać taką wskazówkę dla takich jak ja czyli raczkujących gdy będą szukać tego samego aby mieli już gotowe rozwiązanie ;]

Mianowicie:


A więc w pliku index.php szablonu w miejscu gdzie chcesz wstawić ów moduł menu , a więc nową pozycje musisz utworzyć blok <div> + nadać mu styl.
Później wstawiasz w nim powiedźmy <jdoc:include type="modules" name="menutop" />
następnie do templateDetails.xml - dopisujesz nową pozycje <position>menutop</position> i mniej więcej tyle.

PeFik waśnił nam jak można dodawać nowe miejsca na mod. Powiem szczerze że robiłem tak przed napisaniem tego posta ale źle mi to interpretowało - jako zwykłe menu choć w odpowiednim miejscu. Dlatego że na pozycję podawałem zły styl ;/ - porada świetna i na pewno się przyda na przyszłość.


a wg mnie za górne menu odpowiada ten kod templatki

Kod:
<div id="pillmenu">
<jdoc:include type="modules" name="user3" />
</div>
gdyż standardowo, Joomla, menu górne wyświetla w pozycji user3 i tu właśnie próbowałbym umieścić Twoje menu,Na początku warto przeanalizować swój szablon czy dane pozycja jest dodana jeśli tak to wystarczy edytować templateDetails.xml tak jak to napisał PeFik. Ja tak zrobiłem zauważyłem że user3 znajduje się w moim kodzie dodałem tylko wpis zgodnie z poradą i przeniosłem menu w odpowiednie dla mnie miejsce działa w 100% ;]

Jeszcze raz dzięki Wam - choć napotkałem już kolejne problem a może raczej brak wiedzy aby je poprawić ale od czego jest SZUKAJ :D
Pozdrawiam