PDA

Zobacz pełną wersję : Kłopot z component



maximmus1975
18-01-2016, 13:18
Witam
Napisałem szablon i mam problem z component. Przykład kodu:


<section class="row">

<div id="content" class="col-lg-9 col-md-8 col-sm-6>
<div>
<jdoc:include type="component"/>
</div>

</div><!-end.content->
<div class="clear"></div>



<div id="rightcol" class="col-lg-4 col-md-4 col-sm-6">

<div id="posit-7">
<jdoc:include type="modules" name="position-4" style="xhtml" />
</div>
</div><!-end.rightcol->

</section>

Może się muszę douczyć, bo nie rozumiem zachowania joomla. po wpisie <jdoc:include type="component"/> kolumna rightcol, która planowana jest jako osobna kolumna będąca z prawej strony od kolumny zawierającej komponent, zamiast ustawić się z prawej strony zostaje się jakby wchłonięta do diva z komponentem i ustawia się po prawej stronie wewnątz kontenera z componentem, a nie obok tego kontenera.
W czym błąd ?

Co ciekawe ta sama wersja joomla i ten sam szablon na jednej domenie wyświetla się tak jak chcę, a na drugiej domenie występuje błąd, bowiem kolumna rightcol staje się wewnętrzną kolumną w kontenerze z komponentem i ustawia się pod wpisami.

Ktoś pomoże ? Proszę o źródła, gdzie można się douczyć.

Bazyl
18-01-2016, 13:44
To ja witam,


Masz za dużo </div>

p.s.
Kod wstawiaj wybierając w forumowym edytorze <>

maximmus1975
18-01-2016, 14:31
Czy można prosić o przykład poprawnego rozwiązania ?

Bazyl
18-01-2016, 14:45
Nie :-)



<section class="row">


</section>



Ilość <div> oraz </div> musi się zgadzać w sekcji...


p.s. Używasz jakiegoś edytora? Jeśli nie - polecam PSPad (m.in. ftp + kolorowanie składni)

maximmus1975
18-01-2016, 18:04
W podanym przykładzie faktycznie zrobiłem błąd, przepraszam.
Niestety kłopot z komponentem występuje nadal, choć jak poprawiłem to trochę inaczej. Kolumna rightcol wyświetla się pod kolumną z komponentem kiedy strona wyświetla przegląd artykułów, ale kiedy wchodzę do danego artykułu to wyświetla się poprawnie po prawej stronie od kolumny z komponentem.
Podam cały kod szablonu, czy może ktoś ustalić co jest źle ?




<?php defined('_JEXEC') or die;?>


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="edge.chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<jdoc:include type="head" />
<?php $this->setGenerator(null);?>

<link href="templates/<?php echo $this-> template?>/css/style.css" rel="stylesheet" type="text/css" media="all">
<link href="templates/<?php echo $this-> template?>/css/sys.css" rel="stylesheet" type="text/css" media="all">
<link href="templates/<?php echo $this-> template?>/css/bootstrap.css" rel="stylesheet" type="text/css" media="all">
<link href="templates/<?php echo $this-> template?>/css/local.css" rel="stylesheet" type="text/css" media="all">
<link rel="stylesheet" href="templates/system/css/system.css" type="text/css" media="all">
<link rel="stylesheet" href="templates/system/css/general.css" type="text/css" media="all">




<!--[if lt IE 9]>
**********
document.createElement('header');
document.createElement('nav');
document.createElement('section');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
document.createElement('hgroup');
</script>
<![endif]-->


</head>


<body>


<div id="container" class="container-fluid">
<div id="topban" class="row">
<div class="col-lg-12 col-md-12" >
<jdoc:include type="modules" name="menutop" style="xhtml" />
</div>
<!--end.topban-->
</div>
<div class="clear"></div>

<header>
<div class="row">

<nav>
<jdoc:include type="modules" name="mainmenu" style="xhtml" />
</nav>
</div>
<div class="clear"></div>

<div class="row">
<div id="slider" class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<jdoc:include type="modules" name="slider" style="xhtml" />
</div>
</div>
</header>
<div class="clear"></div><br/><br/><br/>
<!--end.header--------------------------------------------------------------------------------->



<div class="row">
<jdoc:include type="message" />
</div>
<div class="clear"></div>
<!--end.info------------------------------------------------------------------------------------>





<section class="row">
<?php if($this->CountModules("breadcrumbs")) : ?>
<div id="breadcrumb" class="breadcrumb">
<jdoc:include type="modules" name="breadcrumbs" style="xhtml" />
</div><br/>
<?php endif ?>
<div class="clear"></div>
<?php if($this->CountModules("jombo")) : ?>
<div id="breadcrumb" class="jombotron">
<jdoc:include type="modules" name="jombo" style="xhtml" />
</div><br/><br/><br/><br/><br/><br/>
<?php endif ?>
<div class="clear"></div>

<?php if($this->CountModules("nemubottom")) : ?>
<div id="menubottom" class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<jdoc:include type="modules" name="menubottom" style="xhtml" />
</div>
<?php endif ?>

</section>
<div class="clear"></div>

<section class="row">

<div id="content_ext" >


<div id="contenta" class="col-lg-9 col-md-8 col-sm-7">


<?php if($this->CountModules("position-0")) : ?>

<jdoc:include type="modules" name="position-0" style="xhtml" />

<?php endif ?>



<div id="main_content">
<jdoc:include type="component" />
</div><!-end.main_content->






<div id="rightcola" class="col-lg-3 col-md-4 col-sm-5">
<?php if($this->CountModules("position-4")) : ?>
<div id="posit-7">
<jdoc:include type="modules" name="position-4" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-5")) : ?>
<div id="posit-8">
<jdoc:include type="modules" name="position-5" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-6")) : ?>
<div id="posit-9">
<jdoc:include type="modules" name="position-6" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-24")) : ?>
<div id="posit-10">
<jdoc:include type="modules" name="position-24" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-25")) : ?>
<div id="posit-11">
<jdoc:include type="modules" name="position-25" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-26")) : ?>
<div id="posit-12">
<jdoc:include type="modules" name="position-26" style="xhtml" />
</div>

<?php endif ?>
</div>

</div><!-end.content->


</div><!-end.content_ext->




</section>

<!-end.mainsection------------------------------------------------------->

<footer id="footer" class="container-fluid">

<div class="row">

<div id="footleftcol" class="footcols col-lg-4 col-md-4 col-sm-4 col-xs-4">


<jdoc:include type="modules" name="position-7" style="xhtml" />
<jdoc:include type="modules" name="position-8" style="xhtml" />
</div>

<div id="footcentcol" class="footcols col-lg-4 col-md-4 col-sm-4 col-xs-4">

<jdoc:include type="modules" name="position-9" style="xhtml" />
<jdoc:include type="modules" name="position-10" style="xhtml" />

</div>

<div id="footrightcol" class="footcols col-lg-4 col-md-4 col-sm-4 col-xs-4">
<jdoc:include type="modules" name="position-11" style="xhtml" />
<jdoc:include type="modules" name="position-12" style="xhtml" />
</div>
</div>
</footer>
<div class="empty"></div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<jdoc:include type="modules" name="position-19" style="xhtml" />
</div><!-end.banner->
</div>
<div>
<jdoc:include type="modules" name="position-13" style="xhtml" />
<jdoc:include type="modules" name="position-14" style="xhtml" />
</div>


<!--end.container-->
</div>




<br/><br/>


</body>
</html>

może przyczyna leży w css ?

- - - Updated - - -

Albo żeby nie nadwyrężać waszego cennego czasu wycinek kodu, w którym jest błąd


<section class="row">

<div id="content_ext" >


<div id="contenta" class="col-lg-9 col-md-8 col-sm-7">


<?php if($this->CountModules("position-0")) : ?>

<jdoc:include type="modules" name="position-0" style="xhtml" />

<?php endif ?>



<div id="main_content">
<jdoc:include type="component" />
</div><!-end.main_content->






<div id="rightcola" class="col-lg-3 col-md-4 col-sm-5">
<?php if($this->CountModules("position-4")) : ?>
<div id="posit-7">
<jdoc:include type="modules" name="position-4" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-5")) : ?>
<div id="posit-8">
<jdoc:include type="modules" name="position-5" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-6")) : ?>
<div id="posit-9">
<jdoc:include type="modules" name="position-6" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-24")) : ?>
<div id="posit-10">
<jdoc:include type="modules" name="position-24" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-25")) : ?>
<div id="posit-11">
<jdoc:include type="modules" name="position-25" style="xhtml" />
</div>

<?php endif ?>
<?php if($this->CountModules("position-26")) : ?>
<div id="posit-12">
<jdoc:include type="modules" name="position-26" style="xhtml" />
</div>

<?php endif ?>
</div>

</div><!-end.content->


</div><!-end.content_ext->




</section>

Bazyl
18-01-2016, 18:14
Kod wstawiaj wybierając w forumowym edytorze <>

Nie zastanowiło Cię, po co to napisałem?
A sposób wstawienia kodu w moim poście Cię nie zaciekawił?



może przyczyna leży w css ?

Być może i najprawdopodobniej...
Jednak przeceniasz moje możliwości jasnowidzenia...
Link do strony?

maximmus1975
18-01-2016, 18:52
Przepraszam najmocniej, jeszcze nie ogarnąłem tego forum do końca, 2 latek ciągle przeszkadza :zly::D
Podaję link do strony testowej:
http://tester.coopera.com.pl/

Jeżeli wiedziałbyś o źródle informacji na temat modyfikacji układów kolumn w szablonie oraz w samym component, zakładka baza wiedzy pokazuje co się dzieje z wpisami w układzie 3 kolumnowym ustawionym w samej joomli. Na stronie widać wstępy do artykułów (artykuły wyróżnione przegląd) oraz w następnej linii "VIDEO SPECJALNIE DLA CIEBIE" która nie chce się dostosować.

Jeżeli mogę prosić o wskazanie błędów i nakierowanie mnie w czym się jeszcze muszę douczyć byłbym bardzo wdzięczny.

Bazyl
18-01-2016, 21:39
#rightcola wstaw za </div><!-end.content->
Ale i tak nie ma css, by to zadziałało :-)

Do nauki to sobie kiepski szablon wybrałeś...

Jola
18-01-2016, 23:11
Myślę, że mieszaja tu również "pseudo-komentarze" typu
<!-end.main_content->

maximmus1975
19-01-2016, 18:01
Forum to dobra sprawa. Nieraz patrzysz, patrzysz i nic nie widzisz. Inna osoba rzuca okiem i w końcu dostrzegasz to na co się tak patrzysz.
Bardzo dziękuję za podpowiedzi. Ten szablon sam sobie napisałem, tak się uczę na swoich błędach. Teraz już będę wiedział, że dane kolumny trzeba umieścić przed komponent, a nie za komponentem, a następnie wypozycjonować cssem. W tym szablonie podpiąłem bootstrap i wszystko działa jak należy.
Zaś co do bałaganu związanego z układem kolumn renderowanym z poziomu joomla już przez sam komponent to zauważyłem, że wiele innych szablonów, nawet napisanych przez firmy ma ten problem. Podejrzewam, że to z powodu skopiowania ustawień css z szablonu beez3. Zadam sobie trudu i każdą klasę joomla zdefiniuję po swojemu z css.
I na koniec pytanie, czy wiesz może coś o materiałach opisujących dane klasy joomla ? Jeżeli tak to byłbym wdzięczny za podpowiedź, jeżeli nie wiadomo to poszperam w samej joomli i pokombinuję.

Dzięki za podpowiedź.

Rozwiązałem to w taki oto sposób, dzięki twojej sugestii.




<section class="row"> <section> <div id="rightcol" class="col-lg-3 col-md-4 col-sm-5 pull-right"> <?php if($this->CountModules("position-4")) : ?> <div id="posit-7"> <jdoc:include type="modules" name="position-4" style="xhtml" /> </div> <?php endif ?> <?php if($this->CountModules("position-5")) : ?> <div id="posit-8"> <jdoc:include type="modules" name="position-5" style="xhtml" /> </div> <?php endif ?> <?php if($this->CountModules("position-6")) : ?> <div id="posit-9"> <jdoc:include type="modules" name="position-6" style="xhtml" /> </div> <?php endif ?> <?php if($this->CountModules("position-24")) : ?> <div id="posit-10"> <jdoc:include type="modules" name="position-24" style="xhtml" /> </div> <?php endif ?> <?php if($this->CountModules("position-25")) : ?> <div id="posit-11"> <jdoc:include type="modules" name="position-25" style="xhtml" /> </div> <?php endif ?> <?php if($this->CountModules("position-26")) : ?> <div id="posit-12"> <jdoc:include type="modules" name="position-26" style="xhtml" /> </div> <?php endif ?> </div> </section> <div id="content_ext" >
<div id="contenta" class="col-lg-9 col-md-8 col-sm-7">
<?php if($this->CountModules("position-0")) : ?> <jdoc:include type="modules" name="position-0" style="xhtml" /> <?php endif ?> <div id="main_content"> <jdoc:include type="component" /> </div>
</div><!-end.content_ext-> </div><!-end.content-> </section> <div class="clear"></div>


Póki co poruszany problem w tym forum rozwiązany. pozdrawiam.