• User Attivo

    trasformare switch in if

    salve a tutti, sono in difficoltà e spero che qualcuno possa darmi una mano, siccome devo eseguire i controlli di un file più di una volta avrei bisogno , come da titolo, di trasformare una serie di switch in if, solo che evidentemente sbaglio qualcosa.. potete darmi una mano? vi posto i due codici

    l'originale

    <?php$type = of_get_option('type_background');
    $image = of_get_option('background_upload');
    $radio_ip = of_get_option('radio_ip');
    $radioplay = of_get_option('radio_autoplay');
    $radioopened = of_get_option('radio_opened');
    $playerar = of_get_option('player_audio_radio');
    $speedslideshow = of_get_option('slider_speed_slideshow');
    $speedanimation = of_get_option('slider_speed_animation');
     
    echo'
    
    
    <script type="text/javascript">
    jQuery(document).ready(function ($){ $("#menu-item-3354,#menu-item-3419").on("click",function(){$("#jquery_jplayer_1").jPlayer("pause");});  $("#menu-item-3367,#menu-item-123,#menu-item-304,#menu-item-1048,#menu-item-2788,#menu-item-1046,#menu-item-3753,#menu-item-1045,#menu-item-1044,#menu-item-3719,#menu-item-3754,#menu-item-3755,#menu-item-3751,#menu-item-41,#menu-item-3418,#menu-item-68,#menu-item-123,#menu-item-2788").on("click",function(){$("#jquery_jplayer_1").jPlayer("play");});';
    
    
    switch ($type) {
             case "image": 
             echo '
    $.backstretch("'.$image.'");';
    break;
    }
    
    
    switch ($playerar) {
    case "player_radio":
    echo'
    $("#jquery_jplayer_1").jPlayer({
        ready: function () {
            $(this).jPlayer("setMedia", {
                mp3: "link"
            })';
            
            switch ($radioplay) {
            case "radio_autoplay_on":
            echo '.jPlayer("play")';
            break;
            }
    echo';    
            
        },
        swfPath: "'.get_template_directory_uri().'/swf/",
        supplied: "mp3",
        volume: 1
    });';
    
    
    switch ($radioopened) {
    case "radio_opened_visible":  
      echo '
      $(".radio-wz-open-hidden").click(function () {
        $("#radio-wz #radio-wz-col").slideToggle({
          direction: "up"
        }, 100);
        $(this).toggleClass("clientsClose");
      });
       $("#radio-wz-col").show();
       
       function mouseHandler(e){
      if ($(this).hasClass("radio-wz-hidden-open")) {
        $(this).removeClass("radio-wz-hidden-open");
      } else {
        $(".radio-wz-hidden-open").removeClass("radio-wz-hidden-open");
        $(this).addClass("radio-wz-hidden-open");
      } 
    }
    function start(){
      $(".radio-wz-open-hidden").bind("click", mouseHandler);
    }
    $(document).ready(start);
       ';
    break;
    case "radio_opened_hidden": 
    echo '
      $(".radio-wz-open").click(function () {
        $("#radio-wz").slideToggle({
          direction: "up"
        }, 100);
        $(this).toggleClass("clientsClose");
      });
      function mouseHandler(e){
     if ($(this).hasClass("radio-wz-open-hidden")) {
       $(this).removeClass("radio-wz-open-hidden");
      } else {
       $(".radio-wz-open-hidden").removeClass("radio-wz-open-hidden");
       $(this).addClass("radio-wz-open-hidden");
      } 
    }
    function start(){
       $(".radio-wz-open").bind("click", mouseHandler);
    }
    $(document).ready(start);
      ';
    break;
    }  
    break;
    } 
    
    
    if (of_get_option('slider_active', '1') == '1') {
        if (is_front_page()){ 
    echo'
            if ( jQuery(".flexslider").length && jQuery() ) {
            jQuery(".flexslider").flexslider({
                controlNav: true,
                animationLoop: true,  
                controlsContainer:"",
                pauseOnAction: false,
                pauseOnHover: true,
                smoothHeight: true,
                nextText:"&rsaquo;",
                prevText:"&lsaquo;",
                keyboardNav: false,         
                slideshowSpeed: '.$speedslideshow.',
                animationSpeed: '.$speedanimation.',
                start: function(slider) {
                slider.removeClass("loading");
                }
            });            
            }';
        } 
    }
    echo'
    });
     </script>';
     
    
    ?>
    

    quello modificato da me ( che non funziona)

    <?php$type = of_get_option('image');
    $image = of_get_option('background_upload');
    $radio_ip = of_get_option('radio_ip');
    $radioplay = of_get_option('radio_autoplay_on');
    $radioopened = of_get_option('radio_opened');
    $playerar = of_get_option('player_radio');
    $speedslideshow = of_get_option('slider_speed_slideshow');
    $speedanimation = of_get_option('slider_speed_animation');
     
    echo'
    
    
    <script type="text/javascript">
    jQuery(document).ready(function ($){ $("#menu-item-3354,#menu-item-3419").on("click",function(){$("#jquery_jplayer_1").jPlayer("pause");});  $("#menu-item-3367,#menu-item-123,#menu-item-304,#menu-item-1048,#menu-item-2788,#menu-item-1046,#menu-item-3753,#menu-item-1045,#menu-item-1044,#menu-item-3719,#menu-item-3754,#menu-item-3755,#menu-item-3751,#menu-item-41,#menu-item-3418,#menu-item-68,#menu-item-123,#menu-item-2788").on("click",function(){$("#jquery_jplayer_1").jPlayer("play");});';
    
    
    $type="image";
    if ($type=="image") {
            
             echo '
    $.backstretch("'.$image.'");';
    
    
    }
    $playerar="player_radio";
    if ($playerar=="player_radio") {
    echo'
    $("#jquery_jplayer_1").jPlayer({
        ready: function () {
            $(this).jPlayer("setMedia", {
                mp3: "link"
            })';
            $radioplay = "radio_autoplay_on";
    
    
    if($radioplay == "radio_autoplay_on")
    {
        echo '.jPlayer("play")';
    }
    elseif($radioplay == "radio_autoplay_pause")
    {
        echo '.jPlayer("pause")';
    }
    
    
    else
    {
       echo '.jPlayer("play")';
    }
            
        
    echo';    
            debug($(this));
        },
        swfPath: "'.get_template_directory_uri().'/swf/",
        supplied: "mp3",
        volume: 1
    });';
    $radioopened="radio_opened_visible";
    if ($radioopened=="radio_opened_visible") {
     
      echo '
      $(".radio-wz-open-hidden").click(function () {
        $("#radio-wz").slideToggle({
          direction: "up"
        }, 100);
        $(this).toggleClass("clientsClose");
      });
       $("#radio-wz-col").show();
       
       function mouseHandler(e){
      if ($(this).hasClass("radio-wz-hidden-open")) {
        $(this).removeClass("radio-wz-hidden-open");
      } else {
        $(".radio-wz-hidden-open").removeClass("radio-wz-hidden-open");
        $(this).addClass("radio-wz-hidden-open");
      } 
    }
    function start(){
      $(".radio-wz-open-hidden").bind("click", mouseHandler);
    }
    $(document).ready(start);
       ';
    
    
    elseif( $radioopened=="radio_opened_hidden") {
    echo '
      $(".radio-wz-open").click(function () {
        $("#radio-wz").slideToggle({
          direction: "up"
        }, 100);
        $(this).toggleClass("clientsClose");
      });
      function mouseHandler(e){
     if ($(this).hasClass("radio-wz-open-hidden")) {
       $(this).removeClass("radio-wz-open-hidden");
      } else {
       $(".radio-wz-open-hidden").removeClass("radio-wz-open-hidden");
       $(this).addClass("radio-wz-open-hidden");
      } 
    }
    function start(){
       $(".radio-wz-open").bind("click", mouseHandler);
    }
    $(document).ready(start);
      ';
    
    
    
    
    if (of_get_option('slider_active', '1') == '1') {
        if (is_front_page()){ 
    echo'
            if ( jQuery(".flexslider").length && jQuery() ) {
            jQuery(".flexslider").flexslider({
                controlNav: true,
                animationLoop: true,  
                controlsContainer:"",
                pauseOnAction: false,
                pauseOnHover: true,
                smoothHeight: true,
                nextText:"&rsaquo;",
                prevText:"&lsaquo;",
                keyboardNav: false,         
                slideshowSpeed: '.$speedslideshow.',
                animationSpeed: '.$speedanimation.',
                start: function(slider) {
                slider.removeClass("loading");
                }
            });            
            }';
        } 
    }
    echo'
    });
     </script>';
     
    
    ?>
    

    vi sono grata in anticipo per l'aiuto ( ps, sono mio malgrado dentro un sito non fatto da me per cui ho poca manovrabiltà)


  • User Attivo

    Sbagli che la struttura del codice modificato non corrisponde a quella dell'originale.
    [PHP]
    <?php
    $type = of_get_option('image');
    $image = of_get_option('background_upload');
    $radio_ip = of_get_option('radio_ip');
    $radioplay = of_get_option('radio_autoplay_on');
    $radioopened = of_get_option('radio_opened');
    $playerar = of_get_option('player_radio');
    $speedslideshow = of_get_option('slider_speed_slideshow');
    $speedanimation = of_get_option('slider_speed_animation');

    echo'<script type="text/javascript">
    jQuery(document).ready(function ($){
    $("#menu-item-3354,#menu-item-3419").on("click",function(){
    $("#jquery_jplayer_1").jPlayer("pause");
    });
    $("#menu-item-3367,#menu-item-123,#menu-item-304,#menu-item-1048,#menu-item-2788,#menu-item-1046,#menu-item-3753,#menu-item-1045,#menu-item-1044,#menu-item-3719,#menu-item-3754,#menu-item-3755,#menu-item-3751,#menu-item-41,#menu-item-3418,#menu-item-68,#menu-item-123,#menu-item-2788").on("click",function(){
    $("#jquery_jplayer_1").jPlayer("play");
    });';

    // switch($type)
    if ($type=="image") {

         echo '$.backstretch("'.$image.'");';
    

    }

    //switch ($playerar)
    if ($playerar=="player_radio") {
    echo'$("#jquery_jplayer_1").jPlayer({
    ready: function () {
    $(this).jPlayer("setMedia", {
    mp3: "link"
    })';

        //switch(radioplay)
        if($radioplay == "radio_autoplay_on"){
          echo '.jPlayer("play")';
        }
    
     echo ';    
        
      },
      swfPath: "'.get_template_directory_uri().'/swf/",
      supplied: "mp3",
      volume: 1
      });';
    
       
      //switch($radioopened)
      if ($radioopened=="radio_opened_visible") {
    
          echo '
            $(".radio-wz-open-hidden").click(function () {
              $("#radio-wz #radio-wz-col").slideToggle({
                direction: "up"
              }, 100);
              $(this).toggleClass("clientsClose");
            });
             $("#radio-wz-col").show();
             
             function mouseHandler(e){
            if ($(this).hasClass("radio-wz-hidden-open")) {
              $(this).removeClass("radio-wz-hidden-open");
            } else {
              $(".radio-wz-hidden-open").removeClass("radio-wz-hidden-open");
              $(this).addClass("radio-wz-hidden-open");
            } 
          }
          function start(){
            $(".radio-wz-open-hidden").bind("click", mouseHandler);
          }
          $(document).ready(start);
             ';
    
    
          }elseif( $radioopened=="radio_opened_hidden") {
            echo '
              $(".radio-wz-open").click(function () {
                $("#radio-wz").slideToggle({
                  direction: "up"
                }, 100);
                $(this).toggleClass("clientsClose");
              });
              function mouseHandler(e){
             if ($(this).hasClass("radio-wz-open-hidden")) {
               $(this).removeClass("radio-wz-open-hidden");
              } else {
               $(".radio-wz-open-hidden").removeClass("radio-wz-open-hidden");
               $(this).addClass("radio-wz-open-hidden");
              } 
            }
            function start(){
               $(".radio-wz-open").bind("click", mouseHandler);
            }
            $(document).ready(start);
              ';
            }
    }      
    

    if (of_get_option('slider_active', '1') == '1') {
    if (is_front_page()){
    echo'
    if ( jQuery(".flexslider").length && jQuery() ) {
    jQuery(".flexslider").flexslider({
    controlNav: true,
    animationLoop: true,
    controlsContainer:"",
    pauseOnAction: false,
    pauseOnHover: true,
    smoothHeight: true,
    nextText:"›",
    prevText:"‹",
    keyboardNav: false,
    slideshowSpeed: '.$speedslideshow.',
    animationSpeed: '.$speedanimation.',
    start: function(slider) {
    slider.removeClass("loading");
    }
    });
    }';
    }
    }
    echo'
    });
    </script>';
    ?>
    [/PHP]

    Ciao.


  • User Attivo

    grazie infinite, mi ero completamente persa 🙂 purtroppo non funziona lo stesso, ma almeno adesso so che non è colpa del codice. sto cercando si fare una modifica all'interno di un tema per wordpress...


  • User Attivo

    la parte che non riesco a far funzionare è quel controllo sui click del menu

     $("#menu-item-3354,#menu-item-3419").on("click",function(){
            $("#jquery_jplayer_1").jPlayer("pause");
          });
              $("#menu-item-3367,#menu-item-123,#menu-item-304,#menu-item-1048,#menu-item-2788,#menu-item-1046,#menu-item-3753,#menu-item-1045,#menu-item-1044,#menu-item-3719,#menu-item-3754,#menu-item-3755,#menu-item-3751,#menu-item-41,#menu-item-3418,#menu-item-68,#menu-item-123,#menu-item-2788").on("click",function(){
                  $("#jquery_jplayer_1").jPlayer("play");
                });'
    

    lasciando gli switch fa il controllo solo la prima volta e quindi poi non funziona, se cambio il php non carica proprio più nè la grafica nè il player, secondo voi c'è un modo di aggiungere magari delle istruzioni fuori dallo switch per effettuare un controllo sul menu?
    scusate ma oramai ci sto da settimane e probabilmente non vedrei la soluzione nemmeno se si mettesse a lampeggiare da sola sul monitor 😞


  • User Attivo

    La logica del flusso degli switch è stata mantenuta anche per gli if. Quindi se non ti funziona con gli if non ti funzionava neanche prima con gli switch (salvo miei errori).
    Non sono ferrato su jQuery/javascript ma potresti provare a postare il problema nella sezione "Scripting lato client" o nella sezione "Wordpress.


  • User Attivo

    anche io pensavo che si risolvesse con gli if ma dio sa cosa non gli piace 😞 non credo sia il js perchè con gli if non carica proprio la grafica.....


  • User Attivo

    @Oslino said:

    La logica del flusso degli switch è stata mantenuta anche per gli if. ...
    ho provato anche a usare il php con gli if rimettendo la parte di js originale ( senza i controlli sul menu) ma non carica nè la grafica nè il player.... seguendo il tuo consiglio ho sottoposto la cosa nella sezione wordpress, vediamo s a qualcuno viene in mente una soluzione 🙂 nel frattempo ti ringrazio tantissimo, sei stato davvero molto gentile 🙂


  • User Attivo

    contrordine 🙂 correggendo un po' il js si carica tutto, tuttavia il controllo lo fa solo una volta, la prima volta che si clicca va regolarmente in pausa, ma poi non torna in play se si clicca altrove 😞