Zmienny modul zalezny od jezyka Joom!Fish
Wyniki 1 do 9 z 9

Temat: Zmienny modul zalezny od jezyka Joom!Fish

  1. #1
    Debiutant
    Dołączył
    22-05-2006
    Wpisy
    7
    Punkty
    10

    Domyślny Zmienny modul zalezny od jezyka Joom!Fish

    Probuje zmontowac modul pod Joomla, ale nie mam wielkiego doswiadczenia w PHP. Chodzi mi o modul z wiazany z Joom!Fish, ktory wyswietla rozne grafiki w zaleznosci od wersji jezykowej, probowalem skorzystac ze zmiennej w url do artykulu np: /index.php?option=com_joomap&Itemid=20&lang=gr.
    Stworzylem cos jak ponizej ale nie chula.


    Kod PHP:
    defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
    ?>
    <?php
       
    if($lang==en)
       {
    echo 
    '<table cellpadding="0" cellspacing="0" class="moduletable">
    <tr>
                <td>
                    <a href="en.php"><img width="255" height="332" alt="Sklep - wyposażenie" src="/wireland/images/stories/wireland/glowna_sklep.jpg" /></a><img width="266" height="332" src="/wireland/images/stories/wireland/glowna_reklama.jpg" alt="" /><img width="259" height="332" src="/wireland/images/stories/wireland/glowna_dom.jpg" alt="" />            </td>
     
    </tr>
    </table>'
    ;
       }
      elseif(
    $lang==gr)
       {
    echo 
    '<table cellpadding="0" cellspacing="0" class="moduletable">
    <tr>
                <td>
                    <a href="gr.php"><img width="255" height="332" alt="Sklep - wyposażenie" src="/wireland/images/stories/wireland/glowna_sklep.jpg" /></a><img width="266" height="332" src="/wireland/images/stories/wireland/glowna_reklama.jpg" alt="" /><img width="259" height="332" src="/wireland/images/stories/wireland/glowna_dom.jpg" alt="" />            </td>
     
    </tr>
    </table>'
    ;
       }
       else
       {
    echo 
    '<table cellpadding="0" cellspacing="0" class="moduletable">
    <tr>
                <td>
                    <a href="index.php"><img width="255" height="332" alt="Sklep - wyposażenie" src="/wireland/images/stories/wireland/glowna_sklep.jpg" /></a><img width="266" height="332" src="/wireland/images/stories/wireland/glowna_reklama.jpg" alt="" /><img width="259" height="332" src="/wireland/images/stories/wireland/glowna_dom.jpg" alt="" />            </td>
     
    </tr>
    </table>'
    ;
       }
    ?>
    z gory dzieki za pomoc

    pozdrawiam

    Kuba

  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
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    Poprzerzucaj forum na mambopl.net - z tego ca pamiętam, chyba tam była podnoszona kwestia przy mambelfishu, a może art jest?
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  4. #3
    Ten Niedobry Rybik awatar
    Dołączył
    26-09-2005
    Skąd
    Gliwice
    Wpisy
    2 179
    Punkty
    70

    Domyślny

    Kod PHP:
     
    <!-- SEKCJA WSTEPNA -->
    <?php
    // slabe zabezpieczenie
    if ($_SERVER['HTTP_REFERER'] =='') die( 'Direct Access to this location is not allowed.' );
    // kolejne slabe zabezpieczenie 
    defined'_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
    //pobranie jezyka z cookie
    //wewnatrz rozszerzen Joomla mozna ta linie pominac, stosowac przy iframe
    $lang $_REQUEST['mbfcookie']['lang'];
    //montowanie nazwy pliku w zaleznosci od jezyka, np pl.php
    $my_file sprintf("%s%s%s","",$lang,".php");
    // montowanie sciezki powtarzalnej zeby odchudzic pozniej kod
    $my_path '/wireland/images/stories/wireland/';
    ?>
     
     
    <!-- PRZYKLADOWA INSTRUKCJA WARUNKOWA PROSTA-->
    <?php if $lang 'en' {
      echo 
    'English is fun';
      echo 
    'Be brave !';
    }
    ?>
     
    <!-- PRZYKLADOWA INSTRUKCJA WARUNKOWA ZMIESZANA Z HTML-->
    <table>
      <tr>
    <?php if $kolumny ?>
        <td>Komorka jeden</td>
        <td>Komorka dwa</td>
    <?php } else {?>
        <td>Komorka podwojna</td>
    <?php ?>
      </tr>
    </table>
     
     
    <!-- TWOJEGO MODULU CIAG DALSZY -->
    <table cellpadding="0" cellspacing="0" class="moduletable">
    <tr>
      <td>
        <a href="<?php echo $my_file;?>">
          <img width="255" height="332" src="<?php echo $my_path;>glowna_sklep.jpg" alt="Sklep wyposażenie" />
          </a>
          <img width="
    266" height="332" src="<?php echo $my_path;?>glowna_reklama.jpg" alt="" />
          <img width="259" height="332" src="<?php echo $my_path;?>glowna_dom.jpg" alt="" />            
      </td>
    </tr>
    </table>
    1. Html w plikach php jest interpretowany z marszu wiec nie trzeba kazdego taga htmlowego ubierac w echo, a wrecz na odwrot w pliku php dac kodzik htmlowy ze wstawkami php
    2. W uzasadnionych wypadkach, jak np pliki php pokazywane w iframe nie mozna korzystac z $lang tylko pobrac ja ze zmiennej srodowiskowej ale na potrzeby modulow Joomla $lang powinno wystarczyc - to zmienna ktora wypluwa fish i powinna w obrebie wszystkich rozszerzen Joomla byc widoczna
    3. nazwa jezyka zwracana przez $lang albo $_REQUEST['mbfcookie']['lang'] jest lancuchem znakow, zatem porownuje sie ja -> if $lang = 'en'
    4. Zamiast pisac ifa na kazdy jezyk tylko w celu wstawienia linka do odpowiedniego pliku, uzylem zmiennej zawierajacej nazwe pliku aktualizowana przy kazdym przelaczeniu

    Pisalem to tak z palca wiec nie daje reki ze bedzie hulac ;)

  5. #4
    Opiekun forum
    Dołączył
    19-09-2005
    Wpisy
    3 743
    Punkty
    131

    Domyślny

    ewentualnie zmień w kodzie który podałeś w pierwszym poście

    Kod PHP:
    $lang==en 
    na

    Kod PHP:
    $_GET['lang'] == 'en' 

  6. #5
    Debiutant
    Dołączył
    22-05-2006
    Wpisy
    7
    Punkty
    10

    Domyślny

    Ok smiga z $_GET
    Wielkie dzieki.

  7. #6

    Domyślny Podepnę się pod wątek

    Co jest źle? Joomla 1.0.15 oraz Joomfish 1.8.2

    Kod PHP:

    <?php if($_GET['lang'] == 'en')   echo {'


                <tr>
                <td width="847" height="71" align="top" valign="middle" colspan="2" bgcolor="#000000">

                    <center>
                        <div id="ZamiastFlash" style="text-align:center; color:#ffffff;">
                        </div>      
                        <script type="text/javascript">
                        // <![CDATA[

                        var so = new SWFObject("templates/proxy_trade_main/flash/menuPL.swf", "Menu ENG", "847", "71", "8", "#0d0d0d");
                        so.addVariable("flashVarText", "this is passed in via FlashVars for example only");
                        so.addParam("wmode", "opaque");
                        so.addParam("scale", "noscale");
                        so.write("ZamiastFlash");
                        // ]]>
                        </script>
                    </center>

            </td>
            </tr>;

    '
    }

    else{echo


                <tr>
                <td width="847" height="71" align="top" valign="middle" colspan="2" bgcolor="#000000">

                    <center>
                        <div id="ZamiastFlash" style="text-align:center; color:#ffffff;">
                        </div>      
                        <script type="text/javascript">
                        // <![CDATA[

                        var so = new SWFObject("templates/proxy_trade_main/flash/menuENG.swf", "Menu PL", "847", "71", "8", "#0d0d0d");
                        so.addVariable("flashVarText", "this is passed in via FlashVars for example only");
                        so.addParam("wmode", "opaque");
                        so.addParam("scale", "noscale");
                        so.write("ZamiastFlash");
                        // ]]>
                        </script>
                    </center>

            </td>
            </tr>;



    ?>

  8. #7

    Domyślny

    Okej, obeszłam problem, zdefiniowałam to jako moduł, potem w Joomfish sobie przetłumaczyłam i wszystko hula

  9. #8
    Bywalec Qbik awatar
    Dołączył
    28-01-2008
    Wpisy
    384
    Punkty
    22

    Domyślny

    Ok odkopie temat

    na joomli 1.5 mam moduł który wyświetla losowo flasha 1 z 3 chciałbym żeby wrzucał przetłumaczoną wersję

    chciałem to zrobić w taki sposób, ale coś namieszałem

    Kod PHP:
    <?php

    // no direct access
    defined('_JEXEC') or die('Restricted access');
    if 
    $_GET['lang'] == 'pl' 
    {
    $lista = array('elzanowski01.swf''cherka01.swf''04ver8finalPL.swf');
    }
    elseif 
    $_GET['lang'] == 'en' 
    {
    $lista = array('elzanowski01en.swf''cherka01en.swf''04ver8finalEN.swf');
    }

     
    $wybrany $lista[array_rand($lista)];
    ?>

    <div>
        <object width="985" height="283" type="application/x-shockwave-flash" data="/images/flash/<?php echo $wybrany;?>">
            <param name="movie" value="/images/flash/<?php echo $wybrany;?>" />
        </object>
    </div>

  10. #9
    Bywalec Qbik awatar
    Dołączył
    28-01-2008
    Wpisy
    384
    Punkty
    22

    Domyślny

    ok zrobiłem
    Kod PHP:
    <?php

    if ($_GET['lang'] == 'fr')
    {
     
    $lista = array('elzanowski01fra.swf''cherka01fra.swf''04ver8finalFRA.swf');
    }
    elseif (
    $_GET['lang'] == 'en')
    {
     
    $lista = array('elzanowski01en.swf''cherka01en.swf''04ver8finalEN.swf');
    }
    else
    {
     
    $lista = array('elzanowski01.swf''cherka01.swf''04ver8finalPL.swf');
    }

    $wybrany $lista[array_rand($lista)];
    ?>
    <div>
        <object width="985" height="283" type="application/x-shockwave-flash" data="/images/flash/<?php echo $wybrany;?>">
            <param name="movie" value="/images/flash/<?php echo $wybrany;?>" />
        </object>
    </div>
    jest tylko jedne problem jak jestem np na jez angielskim i kliknę home to pokazuje mi polską wersję flasha


    można to jakoś poprawić?
    po kliknięciu Home wczytuje adres bez rozszerzenia lang=

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
  •