PDA

Zobacz pełną wersję : Błąd w kodzie indeks.php



piicia
18-09-2009, 09:07
Witam. Szukałem na forum na googlach odpowiedzi na temat, ale ponieważ jestem laikiem co do php, a z tego co zrozumialem z różnych wypowiedzi na forach może to być problem indywidualny. Stworzyłem wg pewnego tutoriala templatkę dla joomla w wersji 1.0. Zacząlem ją przerabiać dla wersji 1.5 wg porad na wiki.joomla.pl. No i po moich poprawach niestety szablon się wgrywa ale pojawiały się błędy, starałem się je poprawiać, ale teraz wywalił mi błąd co do linijki której nie ma w kodzie, więc zgłaszam sie z moim kodem do Was, abyscie go w miarę możliwości sprawdzili.

<?php 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="<?php echo $this->baseurl ?>/templates/mynewtemplate/css/css.css" type="text/css" />
</head>
<body>

<div id="top_tlo">
<div id="top_lewy"></div>
<div id="top_prawy"></div>
</div>

<div id="strona">
<div id="srodek">
<div id="top_srodek">
<?php if($this->countModules('user3')) : ?><?php mosLoadModules ( 'user3',-1); ?><?php endif; ?>

</div>

<div id="kolumna_lewa">

<?php if($this->countModules('left')) : ?>mosLoadModules ( 'left',-3);<? php endif; ?>
</div>

<div id="kolumna_srodek">
<div="srodek_gora"> </div>
<div="srodek_srodek">

<?php ; ?>
</div>
<div="srodek_dol"></div>

</div>

<div id="stopka"></div>
</div>
</div>

</body>
</html>
Za wszelką pomoc z góry serdecznie dziękuję.

Bazyl
18-09-2009, 09:36
Jeżeli to ma być szablon dla 1.5 to po co dajesz "mosLoadModule" z 1.0.

Przeczytaj jeszcze raz swojego posta.
Jak ktokolwiek ma Ci pomóc?

nikszal
18-09-2009, 09:47
Teraz masz mieszankę kodu. Większość pochodzi z szablonu do wersji 1.0. Poczytaj tutaj (http://wiki.joomla.pl/Kategoria:Szablony_1.5).

piicia
21-09-2009, 22:01
Witam ponownie. Nie chciałem by wyglądało to jakbym olał ten wątek. Po wypowiedziach bardziej zaawansowanych kolegów postanowiłem przed kolejnym kontaktem troszke się douczyć. Niestety nie bardzo mi to chyba wyszło bo po stworzeniu nowej templatki nie chce sie zainstalować.
Czy możecie mi pomóc?
Czy sam plik php jest dobrze skonstruowany?

<?php 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="<?php echo $this->baseurl ?>/templates/uik/css/css.css" type="text/css" />
</head>
<body>
<div id="header" >
<div id="top1">
<div id="top1_l"></div>
<div id="top1_s"></div>
<div id="top1_p"></div>
</div>
<div id="top2">
<jdoc:include type="modules" name="user1" /></div>
</div>
<div id="srodek">
<div id="leftcol" >


<jdoc:include type="modules" name="left" /></div>
<div id="maincol" >

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

<jdoc:include type="modules" name="right" /></div>
<div id="footer" >
</div>
</div>

</body>
</html>

mam do tego jeszcze .css

html,body,div,table,p,ul,li,form,input,label{margi n:0px; padding:0px;}
body{font-family:Trebuchet MS, Verdana, Arial, Sans-Serif; font-size:12px; color:#000000; background-image:url(../images/bg.png);}

div#srodek {
position: absolute; top: 300px; width: 1000px;
}
div#header {
position: relative; ; width: 1000px
}

div#top1_s{
width: 100%; height: 250px; background: transparent url(top_srodek.png) top center no-repeat; margin: 0px; position: absolute; top: 0%
}

div#top2{
background-color: yellow; width: 100%;margin: 2px; position: absolute; top:250px
}
div#maincol {
background-color: red; width: 50%; position: absolute; left: 25%; top: 0%; margin: 2px;
}
div#rightcol {
background-color: green; width: 20%; position: absolute; right: 0%; top: 0%; margin: 2px;
}
div#leftcol {
background-color: blue; width: 20%;height: position: absolute; left: 0%; top: 0%; margin: 2px;
}
div#footer {
background: transparent url(stopka.gif) bottom center no-repeat; margin: 2px ; width: 100%; height: 50px; margin: 2px;
}

Czy możecie mi powiedzieć co w tych plikach jest nie tak?
Jest to bardzo prosty kod, ale taki miał być narazie. Dopiero zaczynam więc chcę od podstaw wiedziec jakie błedy popełniam. Za całą pomoc i zainteresowanie z góry serdecznie dziękuję!

Jola
21-09-2009, 22:29
Problemy z instalacją wynikają raczej z błędów w pliku xml!

Bazyl
21-09-2009, 22:30
Link do pliku css jest źle zbudowany - podejrzyj na oryginalnym szablonie lub zmień ścieżkę na "zwykłą", znaczy się: bezwzględną.

http://wiki.joomla.pl/Struktura_katalogu_szablonu

Wrzuć pliki przez ftp - jak zadziała kombinuj z instalatorem...

Powodzenia:)

piicia
21-09-2009, 23:08
Wrzucam jeszcze kod pliku xml

<?xml version="1.0" encoding="utf-8"?>
<mosinstall type="template" version="1.5.x">
<name>tyg</name>
<creationDate>05/05/09</creationDate>
<author>tyg</author>
<copyright>tyg</copyright>
<authorEmail>tyg@tyg.pl</authorEmail>
<authorUrl>tyg</authorUrl>
<version>1.0</version>
<description>tyg</description>
<files>
<filename>index.php</filename>
<filename>template_thumbnail.png</filename>
</files>
<images>
<filename>images/top_srodek.png</filename>
<filename>images/stopka.gif</filename>
</images>
<css>
<filename>css/template_css.css</filename>
</css>
<positions>
<position>breadcrumb</position>
<position>left</position>
<position>right</position>
<position>top</position>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>user4</position>
<position>footer</position>
<position>debug</position>
<position>syndicate</position>
</positions>
</mosinstall>

Jeszcze co do błedu w zapisie do pliku cms. to w katalogu cms powinien znaleźć się plik o nazwie? cms.cms czy style.cms czy template.cms czy może template_cms.cms bo ze wszystkimi tymi nazwami się spoktałem w róznych tutorialach.

Jola
21-09-2009, 23:17
To jest xml do wersji 1.0.*
"powinien znaleźć się plik o nazwie" - taki jak go nazwałeś, rozszerzenie css. Mam nadzieję, że to testowy szablon.

Bazyl
21-09-2009, 23:18
W standardowej instalacji masz szablony, a w nich pliki, które możesz porównać.

Zrób wszystko na ich podobieństwo.

<mosinstall type="template" version="1.5.x"> jak znajdziesz w nich to cóś stawiam tonik.

//
Czy ja zawsze muszę być drugi...;)

wojsmol
24-09-2009, 08:44
Witam
piicia Informacje odnośnie aktualizacji pliku xml szablonu do wersji 1.5 masz tutaj (http://wiki.joomla.pl/Aktualizacja_szablon%C3%B3w_Joomla_1.0/Zaktualizuj_plik_templateDetails.xml)
Pozdrawiam

piicia
24-09-2009, 10:05
Dziękuję za pomoc. udało mi się tak stworzyć pliki że szablon zainstalowal się.
Zadam jeszcze jedno pytanie. Jak tworzyłem ten testowy szablon to tworzyłem plik php ze znacznikami "<style>" które nadawały odpowiednie formatowanie poszczególnych kontenerów. Teraz szablon po zainstalowaniu oraz przeniesieniu kody ze znaczników style do oddzienego pliku *.css starcił całe formatowanie. czy ktoś może wie co sie mogło stać. teraz szablon wygląda tak, że wszystkie kontenery są pod sobą. w pliku css jest ustawione tak że działało w jednym pliku php. Nie wiem w takim razie co pomieszałem. Może jakaś rada? Za radą wiki.joomla.pl chciałbym uniknąć tworzenia tabel.

zwiastun
24-09-2009, 15:03
Problem tkwi pewno w ścieżce do szablonu

piicia
24-09-2009, 16:31
Scieżki sprawdziłem dokładnie. Są poprawnie napisane.

wojsmol
24-09-2009, 17:35
Witam
piicia Jeżeli możesz to do następnego swojego postu dołącz aktualną paczkę instalacyjną szablonu. Zobacze co jest nie tak.
Pozdrawiam

piicia
25-09-2009, 00:36
ok dołączam paczkę 1812. mam nadzieję że nie zawracam głowy jakąś pierdołą. Dziękuję za pomoc

wojsmol
25-09-2009, 02:53
Witam
piicia Masz błędne ścieżki do obrazków w w pliku css. Zaraz dołączę poprawioną wersję paczki.
Pozdrawiam
//EDIT
Poniżej załączam poprawioną paczke
Lista zmian:
index.php

Wykorzystanie zmiennej $this->template do odczytania nazwy szablony w ścieżce do pliku css, co ułatwi zmianę nazwy szablonutemplateDetails.xml

Dostosowanie listy plików graficznych zadeklarowany do tych fizycznie dostępnych w folderze images szablonu
Dostosowanie listy pozycji modułów zadeklarowanych w pliku do tych zadeklarowanych w index.php, poprzez zmianę <position>topmenu</position> na <position>user1</position>css/template_css.css

Poprawienie ścieżek do plików graficznych (ścieżki zawsze zapisujemy względnie w stosunku do pliku css szablonu)Pozdrawiam

piicia
25-09-2009, 08:45
dziękuję serdecznie!

zwiastun
25-09-2009, 09:08
Scieżki sprawdziłem dokładnie. Są poprawnie napisane.
Tak na marginesie!