Joomla- zmienne tło - prośba o rozwiazanie problemu.
Strona 1 z 2 12 OstatniOstatni
Wyniki 1 do 10 z 18

Temat: Joomla- zmienne tło - prośba o rozwiazanie problemu.

  1. #1
    Nowicjusz
    Dołączył
    03-07-2008
    Wpisy
    12
    Punkty
    10

    Domyślny Joomla- zmienne tło - prośba o rozwiazanie problemu.

    Witam.

    Postaram się dokładnie przedstawić problem z jakim się napotkałem.

    Robię stronkę pod joomla 1.5.x z rozwijanym menu. Menu jest zrobione w xhtml+css+java (nie wykonane w joomla). Opcje w menu mają za zadanie przejść do danego artykułu oraz jednocześnie zmienić dwa tła - główne oraz w container-ze.

    Zmiana tła zachodzi przy pomocy javy:

    -zmiana głównego tła:
    <script type="text/javascript">
    function changeStyle()
    {
    document.body.style.backgroundColor="#00436d";
    document.body.style.backgroundImage="...";
    }
    ***********

    -zmiana tła w container:
    <script type="text/javascript">
    function zmienTlo(elem) {
    oDiv = document.getElementById(elem);
    oDiv.style.backgroundImage ="...";
    }
    ***********

    - odsyłacz:
    <a href="#" onclick="changeStyle();zmienTlo('container')">...</a>


    Wszystko chodzi pieknie az do momentu gdy umieszczę link do artykułu:

    <a href="index.php?option=com_content&view=article&id =45" />...</a>

    wtedy to artykuł sie wczytuje, tak jak powinien, ale niestety traca sie tła -
    widać ze wczytuja sie tła ktore powinny sie zmienic, lecz za chwile pojawiaja sie tła domyślne (ustawione w css w body).

    Czy ktoś wie może jak sprawić aby nie wczytywały się domyślne tła po przejściu do artykułu?


    Pozdrawiam i czekam na rozwiazanie.

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Bywalec
    Dołączył
    11-07-2008
    Wpisy
    327
    Punkty
    29

    Domyślny

    Jak na mój gust to problem jest z tym, że następuje przeładowanie strony a po przeładowaniu jest wczytywany CSS. Ale pewny nie jestem. A i java z javascriptem ma tyle wspólnego co jajko z jajnikiem
    Ostanio edytowane przez vego007 : 22-08-2008 17:27

  4. #3
    Nowicjusz
    Dołączył
    03-07-2008
    Wpisy
    12
    Punkty
    10

    Domyślny

    Tak też myślałem, ale jak sprawic by po ewentualnym przeładowaniu dopiero wczytywaly się dane tła? albo sprawic by nie przeladowywal strony?

    Dzięki za zainteresowanie.

  5. #4
    Bywalec
    Dołączył
    11-07-2008
    Wpisy
    327
    Punkty
    29

    Domyślny

    Bez przeładowania to ajax ale to już troszkę bardziej zaawansowane. Podajesz troche za mało informacji. Np. gdzie masz umieszczony skrypt, czy tło jest wciąż takie same, czemu ma to służyć itd. Musisz to przestawić tak aby każdy czytający mógł to zrozumieć i wyobrazić sobie jak to działa a jakiego działania Ty oczekujesz. Możesz też podać link do stronki, tak dla lepszego zobrazowania. Im więcej informacji dasz od siebie tym szybciej możesz otrzymać odpowiedź. O ile ktoś będzie się na tym znał. Ja ze swojej strony mogę CI jedynie pomóc na zasadzie "spróbuj tego a może się uda"

  6. #5
    Nowicjusz
    Dołączył
    03-07-2008
    Wpisy
    12
    Punkty
    10

    Domyślny

    ;]

    Udzielam wiec dodatkowych informacji.
    Skrypty są w "head" - działają one w 100%, wszystko dziala az do momentu dodania odnosnika do artykułu.

    Tła oba nawiązują do artykułów- dlatego mają się zmieniac.

    Niestety nie mogę podać linka do strony. Postaram się wytłumaczyć jak zmieniaja się tła:

    drzewko nemu:

    -home (tło_1, front_page)
    -link1
    ---pod_link1.1 (tło_2, art_1)
    ---pod_link1.2 (tło_2, art_2)
    -link2
    ---pod_link2.1 (tło_3, art_3)
    ---pod_link2.2 (tło_3, art_4)

    Start. Stronka się załadowała z artykulem front_page (tło_1).
    Po wybraniu np pod_link1.1 stronka ładuje sie (widać że wczytuje tło_2), wczytuje się art_1 ale niestety wtedy nastepuje szybkie przeladowanie i wczytuje się tło_1 (zamiast tło_2).

    Tak jest za kazdym razem, artykuly sie wczytuja poprawnie ale zawsze z tło_1.

    Gdy usune tlo z css artykuly laduja sie bez tla.

    Mam nadzieje ze to troche pomoże w zrozumieniu.

  7. #6
    Bywalec
    Dołączył
    11-07-2008
    Wpisy
    327
    Punkty
    29

    Domyślny

    Najprościej było by zrobić to bez użycia javascript np poprzez dodanie zmiennej do adresu np. set=tlo1
    i wtedy w templatce dodać
    Kod:
    switch($_GET['set']){
    case 'tlo1':
    $tlo = link/kolor tła;
    break;
    case 'tlo2':
    $tlo = link kolor drugiego tla
    break;
    }
    a następnie do diva kontenera dodać np: (przyjmując że masz id="contener")
    Kod:
    <div id="contener" style="atrybut(czyli color lub obrazek):\"<?php echo $tlo; ?>\";></div>
    Nie gwarantuję, że to zadziała ale można spróbować.
    Ostanio edytowane przez vego007 : 22-08-2008 19:59

  8. #7
    Nowicjusz
    Dołączył
    03-07-2008
    Wpisy
    12
    Punkty
    10

    Domyślny

    Mógłbyś mi dokładniej napisać gdzie ten kod wpisać do templaki?

  9. #8
    Bywalec
    Dołączył
    11-07-2008
    Wpisy
    327
    Punkty
    29

    Domyślny

    Gdzieś w treści strony przed divem z kontenerem. Troche poprawiłem bo był mały błędzik "=" zamiast ":" oraz nie było znacznika otwarcia instrukcji swich. I w atrybucie chodzi oczywiście o background-color lub background-image. Oczywiście musisz dać taką wartość zmiennej $tło jaką oczekujesz po prawej stronie ":"
    Ostanio edytowane przez vego007 : 22-08-2008 20:00

  10. #9
    Nowicjusz
    Dołączył
    03-07-2008
    Wpisy
    12
    Punkty
    10

    Domyślny

    Niestety nie dziala. Moze zle wpisuje. Niestety nieznam sie na php.
    W pierwszym kodzie jest jeden wiece nawiasow zamykajacych niz otwierajacych.

    Wpisalem to nastepujaco:
    <switch($_GET['set'])
    case 'tlo1':
    $tlo = "#000000"
    break;
    case 'tlo2':
    $tlo = "#ffffff"
    break;>

    a w divie:
    <div id="mainContent" style="tlo1=\'<?php echo $tlo; ?>'\" >

    czy tak mialo byc?

  11. #10
    Bywalec
    Dołączył
    11-07-2008
    Wpisy
    327
    Punkty
    29

    Domyślny

    niet

    Kod:
    <?php
    
    switch($_GET['set'])
    {
    case 'tlo1':
    $tlo = "#000000"'
    break;
    case 'tlo2':
    $tlo = "#ffffff";
    break;
    }
    ?>
    a w divie:
    <div id="mainContent" style="background-color:\'<?php echo $tlo; ?>'\;" >

    Coś w tym stylu
    Ostanio edytowane przez vego007 : 22-08-2008 20:36

Strona 1 z 2 12 OstatniOstatni

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •