PDA

Zobacz pełną wersję : Footer na stronie głównej ląduje na środku strony - pomocy?



causen
22-10-2011, 22:44
Witam, mam jedno szybkie pytanko, może ktoś będzie życzliwy by pomóc. JOOMLA 1.7.2, na 1.5 ten problem nie pojawił się.

Staram się nauczyć przekładać xhtml +css na szablon joomli.

http://www.causen.webd.pl/zxc2/joomla/?tp=1 jak widać tutaj, (wszystkie sekcie zaznaczyłem kolorami zeby wiedzieć co i jak) pozycje userfoot1 itd, pokazują się w sekcji treści, zamiast pod spodem strony.

Co dziwne, nie mam zdefiniowanego pliku page.php więc dla stron artykułu joomla ładuje szablon z index.php i tam już footer wyświetla się na miejscu, co widać tutaj,

http://www.causen.webd.pl//zxc2/joomla/index.php/8-informacje/6-witamy/?tp=1

Footer posiada taką strukturę.
<div id="footer-big"><!-- this is container, holds footer background - 100% browser width-->
<div id="footer-small"><!-- this is 940px container, holds 4 module positions -->
<div id="foot1" class="foots"><jdoc:include type="modules" name="userfoot1" style="xhtml" />
</div> <!--END foot1 -->
<div id="foot2" class="foots"><jdoc:include type="modules" name="userfoot2" style="xhtml" />
</div><!--END foot2 -->
<div id="foot3" class="foots"><jdoc:include type="modules" name="userfoot3" style="xhtml" />
</div><!--END foot3 -->
<div id="foot4" class="foots"><jdoc:include type="modules" name="userfoot4" style="xhtml" />
</div><!--END foot4 -->
<div id="copyfooter"><!-- Copyright info - if not placed in foots modules positions -->
<jdoc:include type="modules" name="copyright" style="xhtml" />
</div><!-- END copyfooter-->
</div><!-- END footer-small-->
</div><!-- END footer big-->

Znajduje się pod wrapperem, żeby mógł tło rozciągać na całą stronę, w nim mniejszy footer który ma 940px; a w nim własciwe pozycje modułów. Skoro nie jest on we wrapperze, to dlaczego nagle pozycjonuje się względem kolumny zawierającej "component" ?

Co jeszcze dziwniejsze, na serwerze lokalnym na komputerze, z tą samą wersją joomli i załadowanym identycznym szablonem, strona główna ładuje się poprawnie, a dopiero po wgraniu na serwer zewnętrzny zaczyna footer uciekać, co dziwne, bo wgrałem identyczny zip z szablonem, wersja joomla rowniez identyczna.

HELP!

causen
22-10-2011, 23:10
Jasne, plik wygląda tak.


<?php
// dostęp bezpośredni jest niedozwolony
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" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/style.css" type="text/css" />

</head>
<body>
<div id="topcolor"></div>

<div id="wrapper">

<div id="header">
<a href="./"><img src="templates/<?php echo $this->template ?>/img/logo.png" alt="Swieze teksty.pl dajemy ci słowo, które wyróżnia"/></a>
<div id="navi">
<jdoc:include type="modules" name="topnavigation" style="xhtml" />
</div>
</div>

<div id="showcase">
<jdoc:include type="modules" name="imagerotator" style="xhtml" />
</div>
<div id="offers">
<div id="offer1" class="offer"><jdoc:include type="modules" name="offerleft" style="xhtml" />
</div>
<div id="offer2" class="offer"><jdoc:include type="modules" name="offermiddle" style="xhtml" />
</div>
<div id="offer3" class="offer"><jdoc:include type="modules" name="offerright" style="xhtml" />
</div><
</div>

<div id="content">

<div id="leftbar"> <jdoc:include type="modules" name="leftcolumn" style="xhtml" />

</div>

<div id="right">
<jdoc:include type="component" />
</div>

</div>
</div>
<div id="footer-big">
<div id="footer-small">
<div id="foot1" class="foots"><jdoc:include type="modules" name="userfoot1" style="xhtml" />
</div>
<div id="foot2" class="foots"><jdoc:include type="modules" name="userfoot2" style="xhtml" />
</div>
<div id="foot3" class="foots"><jdoc:include type="modules" name="userfoot3" style="xhtml" />
</div>
<div id="foot4" class="foots"><jdoc:include type="modules" name="userfoot4" style="xhtml" />
</div>
<div id="copyfooter">
<jdoc:include type="modules" name="copyright" style="xhtml" />
</div>
</div>
</div><

</body>
</html>

Css wygląda tak:


* {
margin: 0;
padding: 0;
text-decoration: none;}

body {
font-family:Verdana, Geneva, sans-serif;
font-size: 14px;
background: url(img/body.png)}

@font-face {
font-family: 'QuicksandLight';
src: url('Quicksand_Light-webfont.eot');
src: url('Quicksand_Light-webfont.eot?#iefix') format('embedded-opentype'),
url('Quicksand_Light-webfont.woff') format('woff'),
url('Quicksand_Light-webfont.ttf') format('truetype'),
url('Quicksand_Light-webfont.svg#QuicksandLight') format('svg');
font-weight: bold;
font-style: normal;}

#topcolor {
height: 10px;
background: #40ad23;
border-bottom: 1px white solid;}

#wrapper {
margin: 0 auto;
width: 940px;
min-height: 300px;
overflow: hiiden;
background: red;
}

#header {
height: 100px;}

#header img {
display: block;
float: left;
margin-top:20px;}

#navi {
height:60px;
width: 600px;
float: right;
background: gray;}

#showcase {
height: 260px;
background: yellow;}

#offers {
margin-top: 20px;
background:gray;
overflow: hidden;
}

.offer {
background: gray;
width: 33.33333333333%;
height: 200px;
float: left;
}
#offer1 {
background:#C00}
#offer2 {
background:#C32}
#offer3 {
background:#C67}

#content {
margin-top: 20px;
width: 920px;
min-height: 400px;
background: green;
overflow: hidden;
clear: both;
}

#leftbar {
min-height: 500px;
background:blue;
width: 30%;
margin-right:3%;
float: left;}

#right {
min-height: 500px;
background: blue;
width:67%;
float: right;}

#footer-big {
margin-top:30px;
background: #666;
border-top: 1px #CCC solid;
overflow: hidden;}

#footer-small {
margin: 0 auto;
width: 940px;
background: #666;
overflow: auto;}

.foots {
min-height:100px;
width: 24%;
float: left;
background: blue;}

#foot1 {
background:#cda}
#foot2 {
background:#cdc}
#foot3 {
background:#444}
#foot4 {
background: #F63}
#copyfooter {
width: 940px;
height: 40px;
background:yellow;
clear: both;}




Chyba, że chodzi CI o to czy mogę go wrzucić na serwer w takiej formie? bo jeżeli tak to też wróciłem.
I co mnie najbardziej dziwi, że na innych podstronach footer jest w dobrym miejscu, a na stronie głównej w złym. Stało mi się tak raz wczoraj i nie umiałem sobie z tym poradzić, więc dzisiaj napisałem szkielt szablonu zupełnie od nowa, i działa poprawnie na locahoscie, oraz na joomli 1,5. Zaczynam myśleć, że to wina mojej instalacji na serwerze zewnętrznym, ale mam identyczną wersję na komputerze i w sieci.

causen
22-10-2011, 23:30
Zobaczyłem, u mnie wyświetla się dokładnie tak samo jako wcześniej. Usunąłem dwa znaczniki "<" pozostałe po kasowaniu komentarzy ale to nic nie zmienia.
Na stronie głównej brak stopki, a na pozostałych stopka wyświetla się tam gdzie powinna.
Mógłbyś napisać dokładniej co mam wywalić? chociaż jeden drobny przykład bo nie rozumiem. Będę wdzięczny

causen
23-10-2011, 00:16
Nikt więcej nie ma jakiegoś pomysłu?

nikszal
23-10-2011, 00:18
Spakuj ten szablon i podeślij mi: nikszal@interia.pl

causen
23-10-2011, 00:40
Zdaje się, że problem został rozwiązany, chociaż w dalszym ciągu chciałbym się dowiedzieć co było przyczyną. Jedyna różnica, pomiędzy moją joomla na komputerze, a tą na serwerze zewnętrznym była taka, ze ta na komputerze była wypełniona przykładowymi danymi, a ta na www, nie była. Zainstalowałem "joomle2" http://causen.webd.pl/zxc2/joomla2/ i wypełniłem ją przykładową treścią i footer działa. Teraz pozostaje zainstalować joomle3 na serwerze, bez przykładowych danych, żeby zobaczyć czy to faktycznie wina tego. Dodam jeszcze, że identyczny problem z footerem miałem na tej samej instalcji joomli wczoraj, mimo tego, że szkielet szablonu i nazwy są zapisane inaczej, problem wystąpił dokładnie identyczny.
A jest możliwość, że po prostu ta instalacja joomli na której nie działa, nie zainstalowała sie poprawnie?

Nikszal - wyslałem.

nikszal
23-10-2011, 00:45
Masz ustawioną minimalną i dość dużą wysokość bloków oraz brak przepełnienia. Po co?

Popracuję nad nim.

causen
23-10-2011, 00:58
Minimalną wysokość bloków, utworzyłem tylko na czas pracy na szablonem, po to żeby w razie gdy coś się zepsuje ( i tak się tez stało) widzieć co jest gdzie. W domyśle nie będą miały one ustawione żadnej wysokości, tylko będą się rozciągać do wielkości komponentów w nich zawartych. Ale gdybym ustawił im zero, musiałbym najpierw w każdy z nich coś wstawić zeby zobaczyć gdzie jest :).

Co do przepełnienia, starałem się to z organizować w taki sposób, żeby każda pozycja w którą coś dodam, rozciągała wrapper bo z racji tego, że footer znajduje się na zewnątrz pozycjonuje się on względem wrappera. metodą prób i błędów, udało mi się stworzyć szkielet, który pracuje tak jak zamierzałem, czyli np po załadowaniu modułów w pozycje offer, left, lub wysokiego "component", każda z nich rozciąga wrapper, przesuwając footer niżej, div content natomiast utworzyłem tylko po to, że gdy go nie było nie umiałem zmusić wrappera do rozciągania się w przypadku zwiększenia wysokości left i right. Przypuszczam, że dało się to radę zrobić prościej. osobiście uważam, że doświadczenie dobrze zdobywać w praktyce, a ja dopiero się uczę. Zarówno html+css jak i joomli. Wszystkie darmowe porady przyjmę z uśmiechem na twarzy. Dzięki za zainteresowanie.