Autor Tema:  Tabla de enlaces  (Leído 843 veces)

0 Usuarios y 1 Visitante están viendo este tema.

  • *
  • Mensajes: 54
  • Actividad:
    0%
  • Karma: 0
  • Puntos de Comercio
    0 (0%)
    • Awards
Tabla de enlaces
« en: 19 de Enero de 2016, 10:55:25 am »
Buenas tardes comunidad.

Pues despues de mucho tiempo leiendo por aqui, he decidido registrarme pues tengo un tema que me tiene la cabeza loca.

he añadido un script que encontre en otro foro para que los usuarios puedan subir enlaces de películas a mi sitio, el problema es que esta a medias y no controlo mucho de php.

el problema que tengo ahora mismo es que tengo un lista de servidores en la que me aparece el titulo de un array y lo que pretendo es mostrar ademas de el titulo, un icono al lado, dejo unas imagenes para q se me entienda mejor

  • *
  • Mensajes: 54
  • Actividad:
    0%
  • Karma: 0
  • Puntos de Comercio
    0 (0%)
    • Awards
Re:Tabla de enlaces
« Respuesta #1 en: 19 de Enero de 2016, 12:11:02 pm »
Código: [Seleccionar]
 <?php
 
$nombre_servidor = array('1.png','2.png','foto3.gif','fotoblablabla.gif'); 
$tipo_audio = array('audio1','audio2','audior3'); // aqui el idioma del audio
$tipo_calidad = array('calidad1','calidad2','calidad3'); // la calidad del video
$enlace_roto = array('ok', 'caido'); // esto es para informar si el enlace esta ok o caido, pueden poner lo que quieran
//en todas pueden poner todas las opciones que quieran.

function Print_peliculas_fileds($cnt, $p = null) {
    global $nombre_servidor;
    global $tipo_audio;
    global $tipo_calidad;
    global $enlace_roto;
   
if ($p === null){

   $enlace = $servidor = $audio = $calidad = $roto = '';
}else{

    $servidor = $p['servidor'];
    $audio       = $p['audio'];
    $calidad  = $p['calidad'];
    $enlace   = $p['enlace'];
    $roto     = $p['roto'];
}
    $retu = '<p style="margin-bottom: 22px;">';
    $retu .= '<label>Servidor</label> ';
    $retu .= '<select name="peliculas_data['.$cnt.'][servidor] id="servidor"> ';
        foreach ($nombre_servidor as $nombre_servidores)
            {
   
            if( $nombre_servidores == $servidor   ) {
           
    $retu .= '<option value="'. $servidor .'"  selected="slelected"  >'. $servidor .'</option>';
   
            } else {
           
    $retu .= '<option value="'. $nombre_servidores .'">'. $nombre_servidores .'</option>';
            }
            };
    $retu .= '</select>';
   
    $retu .= '<label>Audio :</label> ';
   
    $retu .= '<select name="peliculas_data['.$cnt.'][audio] id="audio"> ';
        foreach ($tipo_audio as $tipo_audios)
            {
   
            if( $tipo_audios == $audio  ) {
           
    $retu .= '<option value="'. $audio .'"  selected="slelected"  >'. $audio .'</option>';
   
            } else {
           
    $retu .= '<option value="'. $tipo_audios .'">'. $tipo_audios .'</option>';
            }
            };
    $retu .= '</select>';
   
    $retu .= '    <label>Calidad :</label>';
   
    $retu .= '<select name="peliculas_data['.$cnt.'][calidad] id="audio"> ';
   
        foreach ($tipo_calidad as $tipo_calidades)
            {
   
            if( $tipo_calidades == $calidad  ) {
           
    $retu .= '<option value="'. $calidad .'"  selected="slelected"  >'. $calidad .'</option>';
   
            } else {
           
    $retu .= '<option value="'. $tipo_calidades .'">'. $tipo_calidades .'</option>';
            }
            };
    $retu .= '</select>';
   
   
    $retu .= '    <label>Enlace Roto :</label>';
   
    $retu .= '<select name="peliculas_data['.$cnt.'][roto] id="audio"> ';
        foreach ($enlace_roto as $enlace_rotos)
            {
   
            if( $enlace_rotos == $roto  ) {
           
    $retu .= '<option value="'. $roto .'"  selected="slelected"  >'. $roto .'</option>';
   
            } else {
           
    $retu .= '<option value="'. $enlace_rotos .'">'. $enlace_rotos .'</option>';
            }
            };
    $retu .= '</select>';
   
   
    $retu .= '</br>';
   
    $retu .= '     <label>enlace :</label>';
    $retu .= '     <input type="text" style="width: 80%;" name="peliculas_data['.$cnt.'][enlace]" value="'. $enlace .'"/>';
    $retu .= '  <span class="remove">Remove</span>';
   
    $retu .= '</p>';
return $retu;

}


//add custom field - peliculas
add_action("add_meta_boxes", "object_init");

function object_init(){
  add_meta_box("peliculas_meta_id", "Peliculas:","peliculas_meta", "pelicula", "normal", "low", "peliculas");

}

function peliculas_meta(){

 global $nombre_servidor;
 global $tipo_audio;
 global $tipo_calidad;
 global $enlace_roto;
 global $post;

  $data = get_post_meta($post->ID,"peliculas_data",true);

  echo '<div id="peliculas_items">';
  $c = 0;
    if (count($data) > 0){
        foreach((array)$data as $p ){
            if (isset($p['calidad']) || isset($p['audio'])|| isset($p['servidor'])|| isset($p['enlace'])|| isset($p['roto'])){
                echo Print_peliculas_fileds($c,$p);
                $c = $c +1;
            }
        }

    }
    echo '</div>';

    ?>
        <span id="here"></span>
        <span class="add"><?php echo __('Nueva Pelicula'); ?></span>
        <script>
            var $ =jQuery.noConflict();
                $(document).ready(function() {
                var count = <?php echo $c - 1; ?>; // substract 1 from $c
                $(".add").click(function() {
                    count = count + 1;
                    $('#peliculas_items').append('<p style="margin-bottom: 22px;"><label>Servidor</label><select name="peliculas_data[' + count + '][servidor] id="servidor"><?php
                    foreach ($nombre_servidor as $nombre_servidores) {echo '<option value="'. $nombre_servidores .'">'. $nombre_servidores .'</option>'; };
                    ?></select><label>Audio</label><select name="peliculas_data[' + count + '][audio] id="audio"><?php
                    foreach ($tipo_audio as $tipo_audios) {echo '<option value="'. $tipo_audios .'">'. $tipo_audios .'</option>'; };
                    ?></select><label>Calidad</label><select name="peliculas_data[' + count + '][calidad] id="calidad"><?php 
                    foreach ($tipo_calidad as $tipo_calidades) {echo '<option value="'. $tipo_calidades .'">'. $tipo_calidades .'</option>'; };
                    ?></select><label>Enlace roto:</label><select name="peliculas_data[' + count + '][roto] id="roto"><?php 
                    foreach ($enlace_roto as $enlace_rotos) {echo '<option value="'. $enlace_rotos .'">'. $enlace_rotos .'</option>'; };
                    ?></select></br><label>enlace :</label><br><input type="text" style="width: 80%;" name="peliculas_data[' + count + '][enlace]" value=""/><br><span class="remove">Remove</span></p>');
                   return false;
                });
                $(".remove").live('click', function() {
                    $(this).parent().remove();
                });
            });
        </script>
        <style>#peliculas_items {list-style: none;}</style>
    <?php
}


//Save product peliculas
add_action('save_post', 'guardar_peliculas');

function guardar_peliculas($post_id){
global $post;


    // to prevent metadata or custom fields from disappearing...
    if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
    return $post_id;
    // OK, we're authenticated: we need to find and save the data
    if (isset($_POST['peliculas_data'])){
        $data = $_POST['peliculas_data'];
        update_post_meta($post_id,'peliculas_data',$data);
    }else{
        delete_post_meta($post_id,'peliculas_data');
    }
}
?>


dejo el codigo por si me podeis ayudar

  • **
  • Mensajes: 5494
  • Actividad:
    0%
  • Karma: 1276
  • Puntos de Comercio
    16 (100%)
  • Awards Premio el mejor usuario del 2013! Gracias por tus aportes en scripts PHP Placa exclusiva para clientes de MarcoRED.com Por ser el más destacado en el año 2012
    • Awards
Re:Tabla de enlaces
« Respuesta #2 en: 19 de Enero de 2016, 12:53:25 pm »
Pero cual es tu duda?

  • *
  • Mensajes: 1895
  • Actividad:
    5.4%
  • Karma: 114
  • Puntos de Comercio
    0 (0%)
  • Awards Gracias por tus aportes en scripts PHP ¡Gracias por todos tus aportes!
    • Awards
« última modificación: 19 de Enero de 2016, 01:42:14 pm por ItsukiMinami »

If debugging is the process of removing bugs, then programming must be the process of putting them in

  • *
  • Mensajes: 54
  • Actividad:
    0%
  • Karma: 0
  • Puntos de Comercio
    0 (0%)
    • Awards
Re:Tabla de enlaces
« Respuesta #4 en: 19 de Enero de 2016, 02:54:57 pm »

  • *
  • Mensajes: 1895
  • Actividad:
    5.4%
  • Karma: 114
  • Puntos de Comercio
    0 (0%)
  • Awards Gracias por tus aportes en scripts PHP ¡Gracias por todos tus aportes!
    • Awards
Re:Tabla de enlaces
« Respuesta #5 en: 19 de Enero de 2016, 05:43:20 pm »
Php es un lenguaje de servidor, eso que queires hacer se hace como esta en los enlaces con javascript, html y css.

If debugging is the process of removing bugs, then programming must be the process of putting them in

  • *
  • Mensajes: 54
  • Actividad:
    0%
  • Karma: 0
  • Puntos de Comercio
    0 (0%)
    • Awards
Re:Tabla de enlaces
« Respuesta #6 en: 19 de Enero de 2016, 09:21:30 pm »
pues no lo consigo, el codigo en el que tengo que modificar seria entonces este?

Código: [Seleccionar]
 foreach ($nombre_servidor as $nombre_servidors) 
                              {         

            echo '             <option value="'. $nombre_servidor .'" icon="wp-content/themes/sitio/images/foto-' . $nombre_servidors . '">'. $nombre_servidors .'</option>';
                              };

esa es na modificacion que e echo añadiendo la ruta de las imagenes pero no se muestran
« última modificación: 20 de Enero de 2016, 12:22:54 pm por juanjo87 »

  • *
  • Mensajes: 1895
  • Actividad:
    5.4%
  • Karma: 114
  • Puntos de Comercio
    0 (0%)
  • Awards Gracias por tus aportes en scripts PHP ¡Gracias por todos tus aportes!
    • Awards
Re:Tabla de enlaces
« Respuesta #7 en: 20 de Enero de 2016, 10:08:13 am »
No se cual de todos los tutoriales estas siguiendo, pero trabaja en Jquery, aparte de modificar la linea del combobox tienes que cargar las librerias js y llamarlas mediante los atributos del option, en la mayoria de casos se llama usando el id.

If debugging is the process of removing bugs, then programming must be the process of putting them in

  • *
  • Mensajes: 54
  • Actividad:
    0%
  • Karma: 0
  • Puntos de Comercio
    0 (0%)
    • Awards
Re:Tabla de enlaces
« Respuesta #8 en: 20 de Enero de 2016, 12:21:51 pm »
No se cual de todos los tutoriales estas siguiendo, pero trabaja en Jquery, aparte de modificar la linea del combobox tienes que cargar las librerias js y llamarlas mediante los atributos del option, en la mayoria de casos se llama usando el id.

vale perfecto, conseguí agregar las imágenes.

el código quedaría así por si a alguien le interesa:

Código: [Seleccionar]
 echo '            <select name="servidor" class="aporte"> '; 
                               foreach ($nombre_servidor as $v)
                              {         
            echo '             <option value="'. $v .'"data-image="wp-content/themes/sitio/images/foto-' . $v . '"></option>';
                              };
            echo '            </select>';
« última modificación: 20 de Enero de 2016, 12:23:14 pm por juanjo87 »

 

Temas Similares

  Asunto / Iniciado por Respuestas Último mensaje
6 Respuestas
895 Vistas
Último mensaje 29 de Noviembre de 2012, 05:20:12 pm
por laren
76 Respuestas
7240 Vistas
Último mensaje 31 de Enero de 2016, 01:34:22 pm
por diabolico
2 Respuestas
1167 Vistas
Último mensaje 30 de Septiembre de 2013, 07:04:17 pm
por NewShare
9 Respuestas
800 Vistas
Último mensaje 21 de Enero de 2016, 11:18:52 am
por juanjo87
1 Respuestas
685 Vistas
Último mensaje 22 de Julio de 2016, 11:28:21 am
por thoxer