PDA

Zobacz pełną wersję : w jaki sposób elementy z pliku css (klasy, div itd) są przkazywane do joomla



marcislaw
16-05-2014, 12:53
Witam jak w temacie chciałbym stworzyć własny szablon w joomla. Analizując inne szablony zauważyłem definiowane klasy, divy w pliku css, które jednak nie znajdują się ( nie są wywoływane w pliku php) przykład poniżej fragment pliku css:


.module_menu .menu,
.module .menu
{ margin:0;}
.module_menu .menu li,
.module .menu li
{ padding:0 0 0 10px;line-height:20px;}
.module_menu .menu li a,
.module .menu li a
{ display:block;}
.module_menu .menu li a span,
.module .menu li a span
{
color: #888888;
font-size: 11px;
font-weight: 400;
line-height: 16px;
text-decoration: none;
}

.module_menu .menu li a:hover span, .module .menu li a:hover span {
text-decoration: underline;
color: #65AFEE;
}



W pliku index.php przedstawione powyżej klasy nie są wywoływane w jaki więc sposób są one uwzględniane w zainstalowanym szablonie
poniżej plik index.php tego szablonu:


<?php
defined('_JEXEC') or die;
JHTML::_('behavior.framework', true);
/* The following line gets the application object for things like displaying the site name */
$app = JFactory::getApplication();
$tplparams = $app->getTemplate(true)->params;
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
<jdoc:include type="head" />
<!-- The following line loads the template CSS file located in the template folder. -->
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css" />

<!-- The following line loads the template JavaScript file located in the template folder. It's blank by default. -->
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/CreateHTML5Elements.js"></script>
</head>
<body class="page_bg">
<header>
<div class="sitename">
<h1><a href="<?php echo $this->baseurl ?>"><?php echo $app->getCfg('sitename'); ?></a></h1>
</div>

<div id="search">
<jdoc:include type="modules" name="position-0" />
</div>

</header>

<div class="top-menu">
<div id="sgmenu">
<table cellspacing="0" cellpadding="0" border="0" style="margin:0 auto;">
<tr>
<td>
<jdoc:include type="modules" name="menuload" />
</td>
</tr>
</table>
</div>
</div>
<div class="wrapcont">
<section id="content">
<?php if( $this->countModules('position-7') ) : ?>
<div class="maincol">
<?php elseif( !$this->countModules('position-7') and ($this->countModules('position-4') ) ) : ?>
<div class="maincol_w_left">
<?php elseif( $this->countModules('position-7') and (!$this->countModules('position-4') ) ) : ?>
<div class="maincol_w_right">
<?php else: ?>
<div class="maincol_full">
<?php endif; ?>

<?php if( $this->countModules('position-7') ) : ?>
<div class="leftcol">
<jdoc:include type="modules" name="position-7" style="rounded"/>
</div>
<?php endif; ?>

<div class="cont">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>

<?php if( $this->countModules('position-4') ) : ?>
<div class="rightcol">
<jdoc:include type="modules" name="position-4" style="rounded"/>
</div>
<?php endif; ?>
<div class="clr"></div>
</div>
</div></div></div>
</section>
</div>
<footer>
<p style="text-align:center;"><?php $sg = ''; include "templates.php"; ?></p>
</footer>
</body>


Proszę o wyjaśnienie tej kwestii gdyż bez tego nie potrafię samodzielnie budować własnych szablonów dla joomla. Z góry dziękuję za każdą okazana pomoc i przepraszam jeśli temat gdzieś już się pojawił jednak ja nie potrafiłem podobnego problemu tu wyszukać:obojetny:

marian_mk
16-05-2014, 12:55
przedszkole : html, css

marcislaw
16-05-2014, 13:16
OK a konkretniej, dlaczego pewne zdefiniowane klasy , albo div-y są wywoływane w pliku index.php a pozostałe nie ?

tomaszek83
16-05-2014, 13:21
Bo np. pozostałe dotyczą komponentów/modułów etc... Znasz budowę Joomla? I budowę szablonów pod Joomla? Od tego chyba powinieneś zacząć.

zwiastun
16-05-2014, 13:27
Plik index.php definiuje jedynie szablon układu generowanych przez Joomla treści. Elementy treści (treść główna, moduły) mają swoje szablony w kodzie Joomla.

marcislaw
16-05-2014, 13:29
Właśnie składowe szablonu stanowią te pliki index.php, template.css, tamplateDetails.xml. ,w którym miejscu w kodzie css jest informacja że te parametry (np. pokazane w kodzie)dotyczą modułów/komponentów i w jaki sposób są przekazywane do cms-a? :hmm:. Czy te klasy (ich nazwy) są predefiniowane w joomla?

mjmartino
16-05-2014, 13:56
Po porostu skorzystaj z google i przeleć prosty kurs materiałów trochę jest większość twoich pytań się rozwikła https://www.google.pl/search?client=opera&q=kurs+tworzenia+szablonów+joomla (https://www.google.pl/search?client=opera&q=kurs+tworzenia+szablonów+joomla&sourceid=opera&ie=UTF-8&oe=UTF-8)

zwiastun
16-05-2014, 14:02
Miły Kolego. Ja rozumiem Twoją niewiedzę, zainteresowanie i chęć uzyskania odpowiedzi, ale...
To są pytania - jak już zauważył @tomaszek83 na poziomie elementarnym, jeśli chodzi o budowę szablonów.
Odpowiedzi na te pytania należy szukać najpierw w materiałach o szablonach. Tu możesz poprosic o wyjasnienie jakichs wątpliwości czy pomoc w rozwiązywaniu problemów, ale nie o wykłady na temat konstrukcji szablonów.
Zapraszam:
Tu masz elementarz dotyczący szablonów dla Joomla 1.0 - to stary materiał, w szczegółach zdezaktualizowany, ale przejrzenie go pomoże Ci zrozumieć, jak działają szablony
http://www.pomoc.joomla.pl/content/category/13/62/46/

A tu masz portal poświęcony szablonom
http://wiki.joomla.pl/Zarządzanie_szablonami

marcislaw
16-05-2014, 14:13
OK dzięki za wskazówkę mam nadzieje że ten kurs mnie oświeci w tej kwestii pozdr

zwiastun
16-05-2014, 14:32
Elementy z pliku css nie są przekazywane do Joomla (bo po co?).
Pliki arkuszy stylów są wykorzystywane przez przeglądarkę do renderowania strony.
Wcześniej Ci już napisałem, że główny plik szablonu definiuje zawartość i układ dokumentu wynikowego (czyli strony), a elementy treści mają swoje szablony (układy, widoki) w kodzie Joomla.
Że tam właśnie układy treści są formowane znacznikami html z atrybutami to też - jak mi sie zdaje - nie wymaga objaśniania komuś, kto się zabiera za budowanie szablonu (nie tylko do Joomla, ale jakiegokolwiek systemu, nawet dla stron opartych na HTML).