PDA

Zobacz pełną wersję : Nie ładuje się szablon w artykułach.



dj_jarzyna
27-03-2015, 10:50
Witam.

Dokonałem importu artykułów z joomli 1.5 do 3.2.7 za pomocą J2XML. Nie wiem czy to ma związek z moim problemem.

W miedzy czasie zainstalowałem szablon t3 framework oraz jce editor.

Po imporcie zauważyłem, że gdy otworzę dowolny artykuł z poziomu witryny, to wyświetla się on tak, jakby nie został załadowany styl css. Artykuły mają białe tło i rozrzucony tekst.

Na stronie głównej, gdzie wyświetlana jest lista wyróznionych artykułów szablon ładowany jest poprawnie.

Ogólnie wszystko co podepnę pod główne menu otwiera się z grafiką szablonu (pojedynczy artykuł lub kategorię). Po zmianie na inny szablon problem nadal występuje.

Dokonałem rownież aktualizacji joomli do wersji 3.4.1.

Bardzo proszę o pomoc lub wskazówki gdzie szukać problemu.

dj_jarzyna
27-03-2015, 13:32
8209
Dodatkowo zauważyłem w firebug'u , że rzeczywiście nie są ładowane żadne style css po otwarciu wspomnianych artykułów.

dj_jarzyna
27-03-2015, 15:32
Wszystko już wróciło do normy.

Okazało się, że problem tkwił w ustawieniach optymalizacji dla wyszukiwarek -> proste adresy. Wyłączenie tej funkcji tymczasowo naprawiło problem.

Możliwe, że problem leży po stronie hostingu, ale nie mam tymczasowo dostępu do konta hostingowego, ani do ftp. Może plik .htaccess należałoby przejrzeć.

Pozdrawiam wszystkich.

Sekwens
03-05-2015, 18:55
Znalazłeś już może inne rozwiązanie niż rezygnacja z prostych adresów? Mam podobny problem. W szablonie beez3 personal (Joomla! 3.4.1) w pliku index.php zastąpiłem fragment kodu:

<div class="logoheader">
<h1 id="logo">
<?php if ($logo) : ?>
<img src="<?php echo $this->baseurl; ?>/<?php echo htmlspecialchars($logo); ?>" alt="<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>" />
<?php endif;?>
<?php if (!$logo AND $templateparams->get('sitetitle')) : ?>
<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>
<?php elseif (!$logo AND $config->get('sitename')) : ?>
<?php echo htmlspecialchars($config->get('sitename')); ?>
<?php endif; ?>
<span class="header1">
<?php echo htmlspecialchars($templateparams->get('sitedescription')); ?>
</span></h1>
</div><!-- end logoheader -->

własnym kodem:

<div class="logoheader">
<img src="images/slajd01.png" id="adBanner" alt="baner"/>
</div><!-- end logoheader -->
<script type="text/javascript">

window.onload = rotate;

var thisAd = 0;

function rotate() {
var adImages = new Array("images/slajd01.png", "images/slajd02.png", "images/slajd03.png", "images/slajd04.png", "images/slajd05.png", "images/slajd06.png", "images/slajd07.png", "images/slajd08.png");

thisAd++;
if (thisAd == adImages.length) {
thisAd = 0;
}
document.getElementById("adBanner").src = adImages[thisAd];

setTimeout(rotate, 3 * 1000);
}

chcąc zastąpić oryginalne tło wyświetlanymi kolejno slajdami. Wszystko działa z jednym ale... Otóż działa jedynie na stronach będących głównymi pozycjami menu. Natomiast dla stron zawierających poszczególne artykuły, na które przechodzi się po wybraniu artykułu z przeglądu, a także na stronach będących pozycjami menu drugiego poziomu (submenu) slajdy nie wyświetlają się, pojawia się jednak wartośc argumentu "alt" czyli "banner". Najwyraźniej szablon widzi znacznik "img" ale nie może odnaleźć slajdów.

Po wyłączeniu prostych adresów szablon działa na wszystkich stronach.

Zauważyłem jeszcze jedną dziwną rzecz. Gdy oglądam kod strony z artykułem (przez Ctrl+U) widzę cały zamienny kod. Gdy korzystam ze "Zbadaj element" Firefoxa brak jednej linii:
<img src="images/slajd01.png" id="adBanner" alt="baner"/>

Wyłączenie prostych adresów jest tymczasowym i mało eleganckim rozwiązaniem. Może Ty lub ktoś inny znalazł już właściwe?
Pozdrawiam.

Sekwens
04-05-2015, 12:22
Rozwiązałem swój problem. Okazało się, że tkwił w adresowaniu. Gdy jako wartość parametru "src" znacznika "img" podałem pełną ścieżkę od katalogu głównego i również pełnej ścieżki użyłem w JavaScript, uzyskałem zamierzony efekt na wszystkich stronach.
Pozdrawiam.