Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Cómo agregar etiquetas table, tr, td en variables php?

Estas en el tema de Cómo agregar etiquetas table, tr, td en variables php? en el foro de Joomla en Foros del Web. Hola amigos! Qué tal? Pues escribo nuevamente por este foro sobre un pegón que tengo en este momento. Estoy trabajado una web sobre clasificados y ...

  #1 (permalink)  
Antiguo 19/07/2010, 11:47
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Cómo agregar etiquetas table, tr, td en variables php?

Hola amigos! Qué tal?

Pues escribo nuevamente por este foro sobre un pegón que tengo en este momento. Estoy trabajado una web sobre clasificados y dicho componente ya trae predefinidas el output del código fuente, el cual quiero cambiar en una parte del mismo.

Este es el código fuente:

Código PHP:
<div class="adsmanager_ads_desc">
  <?php if (@$positions[5]->title) {$strtitle adsmanager_html::getLangDefinition($positions[5]->title);} ?>
  <?php echo "".@$strtitle."";
    if (isset(
$fDisplay[6]))
    {
    foreach(
$fDisplay[6] as $field)
    {
  
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins); /* 1 = Ad Mode */
    
}
    }
  
?>
</div>
              
<div class="adsmanager_ads_price">
  <?php if (@$positions[3]->title) {$strtitle adsmanager_html::getLangDefinition($positions[3]->title); } ?>
  <?php echo "<h3>".@$strtitle."</h3>";
    if (isset(
$fDisplay[4]))
    {
    foreach(
$fDisplay[4] as $field)
    {
  
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins) ; /* 1 = Ad Mode */
    
}
    }
  
?>
</div>
El primer código (adsmanager_ads_desc) muestra la descripción del item, y el segundo código (adsmanager_ads_price) muestra la información de los campos del item tales como:

Marca: Toyota
Modelo: Yaris
Año: 2009

LO QUE QUIERO LOGRAR:

Actualmente el código de salida es algo así:

Código HTML:
<h3>Descripción</h3>
Marca: Toyota <br>
Modelo: Yaris <br>
Año: 2009
¿Cómo puedo hacer o cómo puedo editar el código para que sea así?:

Código HTML:
<h3>DESCRIPCION</h3>
<table>
<tr>
  <td>Marca:</td><td>Toyota</td>
</tr>
<tr>
  <td>Modelo:</td><td>Yaris</td>
</tr>
<tr>
  <td>Año:</td><td>2009</td>
</tr>
</table> 
Encontré una web en donde alguien usa el mismo componente y logró hacer ese cambio, el cual puede ser visto si se analiza con el Firebug el código desde donde dice Prix / Caution hacia abajo:

http://www.rent-me.lu/index.php?opti...emid=1&lang=fr

No sé mucho de php y todo lo resuelvo editando y probando, pero aquí estoy pegado, ya que he estado viendo algunos archivos más para aprender algo en ellos y pues aún no logro hacerlo.

Espero alguien me de una luz...

P.D: El componente es de Joomla y todo trabaja en base a Joomla. Por favor no mover este post al foro de Joomla ya que es un problema relacionado directamente a PHP y no a Joomla.
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #2 (permalink)  
Antiguo 19/07/2010, 13:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde Configuración PHP a PHP
  #3 (permalink)  
Antiguo 19/07/2010, 14:03
Avatar de elchicho118  
Fecha de Ingreso: mayo-2010
Mensajes: 74
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

tu lo que quieres es que esos datos sean variables????


<h3></h3>
<table>
<tr>
<td>Marca:</td><td>Toyota</td>
</tr>
<tr>
<td>Modelo:</td><td>Yaris</td>
</tr>
<tr>
<td>Año:</td><td>2009</td>
</tr>
</table>
__________________
QUISIERA HACER LO QUE NADIE HA HECHO EN LA MITAD DE TIEMPO
  #4 (permalink)  
Antiguo 19/07/2010, 14:05
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

fijate que cada uno del codigo que hablas trae un echo, me imagino que colocando la tabla entre ellos funcionara
  #5 (permalink)  
Antiguo 19/07/2010, 14:08
Avatar de elchicho118  
Fecha de Ingreso: mayo-2010
Mensajes: 74
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

tambien puede colocar variables dentro de la tabla

asi yo creo que le seria mas facil
__________________
QUISIERA HACER LO QUE NADIE HA HECHO EN LA MITAD DE TIEMPO
  #6 (permalink)  
Antiguo 19/07/2010, 14:09
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Código PHP:
<table>
<tr>
<td>
<div class="adsmanager_ads_desc">
  <?php if (@$positions[5]->title) {$strtitle adsmanager_html::getLangDefinition($positions[5]->title);} ?>
  
<?php echo "".@$strtitle."";
    if (isset(
$fDisplay[6]))
    {
    foreach(
$fDisplay[6] as $field)
    {
  
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins); /* 1 = Ad Mode */
    
}
    }
  
?>

</div>
 </td>
</tr>

            
<tr>
<td> 
<div class="adsmanager_ads_price">
  <?php if (@$positions[3]->title) {$strtitle adsmanager_html::getLangDefinition($positions[3]->title); } ?>
  <?php echo "<h3>".@$strtitle."</h3>";
    if (isset(
$fDisplay[4]))
    {
    foreach(
$fDisplay[4] as $field)
    {
  
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins) ; /* 1 = Ad Mode */
    
}
    }
  
?>
</div>
</td>
</tr>
</table>
la verdad nose si funcionara asi pero prueba a ver
  #7 (permalink)  
Antiguo 19/07/2010, 14:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Solo debes colocar dentro del bucle aquello que se estará añadiendo. Es decir ejemplo
Código PHP:
Ver original
  1. <table>
  2. <?php for($i=0; $i<10; $i++){ ?>
  3. <tr>
  4.   <td>foo<?php echo $i; ?></td>
  5.   <td>bar<?php echo $i; ?></td>
  6. </tr>
  7. <?php } ?>
  8. </table>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 19/07/2010, 14:14
Avatar de elchicho118  
Fecha de Ingreso: mayo-2010
Mensajes: 74
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Cita:
Iniciado por johhan16 Ver Mensaje
Código PHP:
<table>
<tr>
<td>
<div class="adsmanager_ads_desc">
  <?php if (@$positions[5]->title) {$strtitle adsmanager_html::getLangDefinition($positions[5]->title);} ?>
  
<?php echo "".@$strtitle."";
    if (isset(
$fDisplay[6]))
    {
    foreach(
$fDisplay[6] as $field)
    {
  
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins); /* 1 = Ad Mode */
    
}
    }
  
?>

</div>
 </td>
</tr>

            
<tr>
<td> 
<div class="adsmanager_ads_price">
  <?php if (@$positions[3]->title) {$strtitle adsmanager_html::getLangDefinition($positions[3]->title); } ?>
  <?php echo "<h3>".@$strtitle."</h3>";
    if (isset(
$fDisplay[4]))
    {
    foreach(
$fDisplay[4] as $field)
    {
  
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins) ; /* 1 = Ad Mode */
    
}
    }
  
?>
</div>
</td>
</tr>
</table>
la verdad nose si funcionara asi pero prueba a ver

asi no le va a funcionar


lo mejor es que dentro de la tabla ponga

<h3><?php // la variable que quiere mostrar ?></h3>
<table>
<tr>
<td><?php // la variable que quiere mostrar ?></td><td>Toyota</td>
</tr>
<tr>
<td><?php // la variable que quiere mostrar ?></td><td>Yaris</td>
</tr>
<tr>
<td><?php // la variable que quiere mostrar ?></td><td>2009</td>
</tr>
</table>
__________________
QUISIERA HACER LO QUE NADIE HA HECHO EN LA MITAD DE TIEMPO
  #9 (permalink)  
Antiguo 19/07/2010, 14:18
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

hey muestra tu web para ver como se ve que ya vi la otra que comentas y si es asi entonces no hay que poner tantos <tr>
  #10 (permalink)  
Antiguo 19/07/2010, 14:30
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

de paso cambia el h3 por <caption> del tag <table>
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #11 (permalink)  
Antiguo 19/07/2010, 14:54
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Cita:
Iniciado por johhan16 Ver Mensaje
hey muestra tu web para ver como se ve que ya vi la otra que comentas y si es asi entonces no hay que poner tantos <tr>
Ok gracias a todos por comentar... iré probando algunos... mientras subiré mi web de local a remoto entonces para que les sea más fácil ayudarme...

Gracias nuevamente.
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #12 (permalink)  
Antiguo 19/07/2010, 16:29
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Hola nuevamente estoy probando algunas combinaciones y realmente no logro nada. Dejo el código fuente:

Código PHP:
function showFieldValue($row,$field,$field_values,$email_display,$option,$itemid,$mode,$plugins)
    {
        global 
$mosConfig_live_site,$mosConfig_absolute_path;
        
        if ((
strpos($field->catsid",$row->catid,") !== false)||(strpos($field->catsid",-1,") !== false))
        {
            if ((
$field->type != 'checkbox')&&(($field->display_title $mode) == $mode))
            {
                echo 
adsmanager_html::getLangDefinition($field->title).": ";
            }
            
            if (
$field->title)
                
$name $field->name;
                
            
$value "";
            
$value "\$row->".$field->name;
            eval(
"if (isset($value)) \$value = \"$value\";");
            
$value adsmanager_html::getLangDefinition($value);
            switch(
$field->type)
            {
                case 
'checkbox':
                    if ((
$field->display_title $mode) == $mode)
                    {
                        echo 
adsmanager_html::getLangDefinition($field->title);
                        if (
$value == 1)
                            echo 
":&nbsp;".ADSMANAGER_YES."<br />";
                        else
                            echo 
":&nbsp;".ADSMANAGER_NO."<br />";
                    }
                    else if (
$value == 1)
                    {
                        echo 
adsmanager_html::getLangDefinition($field->title)."<br />";
                    }        
                    break;
                    
                case 
'multicheckbox':
                case 
'multicheckboximage':
                    
                    for(
$i=0,$nb=count($field_values[$field->fieldid]);$i $nb ;$i++)
                    {
                        
$fieldvalue = @$field_values[$field->fieldid][$i]->fieldvalue;
                        
$fieldtitle = @$field_values[$field->fieldid][$i]->fieldtitle;

                        if (
strpos($value$fieldvalue) !== false)
                        {
                            if (
$field->type == 'multicheckbox')
                                
$return adsmanager_html::getLangDefinition($fieldtitle);
                            else
                                
$return "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";
                            echo 
$return."<br />";
                        }
                    }
                    
                    break;
                    
                case 
'url':
                    if ((isset(
$field->link_text))&&($field->link_text != ""))
                        
$linkObj $field->link_text;
                    else if ((isset(
$field->link_image))&&(file_exists($mosConfig_absolute_path."/images/com_adsmanager/fields/".$field->link_image)))
                        
$linkObj "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$field->link_image."' />";
                    else
                    {
                        
$linkObj $value;
                        }
                    if (
$value != "")
                    {
                        
$return "<a href='http://$value' target='_blank'>$linkObj</a>";
                    }
                    echo 
$return;
                    break;
                    
                case 
'date':
                    
$return $value;    
                    echo 
$return;
                    break;
    
                case 
'select':
                    if (isset(
$field_values[$field->fieldid])) {
                    foreach(
$field_values[$field->fieldid] as $v)
                    {
                        if (
$value == $v->fieldvalue)
                        {
                            echo 
adsmanager_html::getLangDefinition($v->fieldtitle)."<hr />";
                        }
                    }
                    }
                    break;
    
                case 
'multiselect':
                    if (isset(
$field_values[$field->fieldid])) {
                    foreach(
$field_values[$field->fieldid] as $v)
                    {
                        if (
strpos($value",".$v->fieldvalue.",") === false)
                        {
                        }
                        else
                        {
                            echo 
adsmanager_html::getLangDefinition($v->fieldtitle)."<br />";
                        }
                    }
                    }
                    break;
                
                case 
'emailaddress':
                    if (
$value != "")
                    {
                        switch(
$email_display) {
                            case 
2:
                                
$emailForm sefRelToAbs("index.php?option=$option&amp;page=show_message_form&amp;mode=0&amp;adid=".$row->id."&amp;Itemid=".$itemid);
                                echo 
'<a href="'.$emailForm.'">'.ADSMANAGER_EMAIL_FORM.'</a><br />';
                                break;
                            case 
1:
                                echo 
adsmanager_html::Txt2Png($value,$option);
                                break;
                            default:
                                echo 
ADSMANAGER_FORM_EMAIL.": <a href='mailto:".$value."'>".adsmanager_html::cutLongWord($value)."</a>";
                                break;
                        }
                    }
                    break;
                
                case 
'textarea':
                    echo 
adsmanager_html::cutLongWord(str_replace(array("\r\n""\n""\r"), "<br />"$value))."<br />";
                    break;
                case 
'editor':
                case 
'number':
                case 
'text':
                    echo 
adsmanager_html::cutLongWord($value)."<br />";
                    break;
                case 
'price':
                    if (
$value != "")
                        echo 
sprintf(ADSMANAGER_DEVICE,$value);
                    echo 
"<br />";
                    break;
                case 
'radio':    
                case 
'radioimage':    
                    for(
$i=0,$nb=count($field_values[$field->fieldid]);$i $nb ;$i++)
                    {
                        
$fieldvalue = @$field_values[$field->fieldid][$i]->fieldvalue;
                        
$fieldtitle = @$field_values[$field->fieldid][$i]->fieldtitle;
                        if (
$value == $fieldvalue)
                        {
                            if (
$field->type == 'radio')
                                
$return $fieldtitle;
                            else
                                
$return "<img src='".$mosConfig_live_site."/images/com_adsmanager/fields/".$fieldtitle."' alt='$fieldtitle' />";                    
                            echo 
$return;
                        }
                    }
                    break;
                case 
'file':
                    if (
$value != "")
                    {
                        echo 
"<a href='$mosConfig_live_site/images/com_adsmanager/files/$value' target='_blank'>".ADSMANAGER_DOWNLOAD_FILE."</a></b>";
                        echo 
"<br />";
                    }
                    break;
                    
                default:
                    if (isset(
$plugins[$field->type]))
                    {
                        if (
$mode == 1)
                            
$return $plugins[$field->type]->getListDisplay($row->id,$field );
                        else
                            
$return $plugins[$field->type]->getDetailsDisplay($row->id,$field );
                        echo 
$return;
                    }
                    break;
            }
        }
    } 
En este código miro que existen unos tags <br /> que son los que se añaden en el código de salida para dar el salto de línea a cada campo. El código de abajo es el que llama a la presentación de los campos descriptivos:

Código PHP:
<!-- ESTE ES EL CÓDIGO QUE LLAMA A LOS CAMPOS PERSONALIZADOS -->

<div class="adsmanager_ads_price">
                <?php if (@$positions[3]->title) {$strtitle adsmanager_html::getLangDefinition($positions[3]->title); } ?>
                <?php echo "<table><caption>".@$strtitle."</caption>";
                echo 
"<tr><td>";
                if (isset(
$fDisplay[4]))
                {
                   echo 
"<small>"; foreach($fDisplay[4] as $field)
                {
                echo 
"</small>";
                
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins) ; /* 1 = Ad Mode */
                
}
                }
                echo 
"</td></tr></table>"
                
?>
              </div>
Tal vez les da una mejor idea para ayudarme... sigo subiendo los archivos ya que la conexión está lenta.

Gracias nuevamente por su tiempo y ayuda.
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #13 (permalink)  
Antiguo 19/07/2010, 17:26
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Este es el link al sitio:

Sitio Web

Por si alguien le interesaría el código fuente para una mejor comprensión:

Opción 1
Opción 2

El código que quiero editar está en la línea 1216 - 1227, y parte del código que agrega un salto de línea <br /> se encuentran en las líneas 163, 165, 169, 187, 220, etc... al parecer cada salto de línea es asignado para cada campo: textarea, file, text, select, multiselect, radio, etc.

Agradezco de antemano al que me ayude con este y me explique dónde tendría que cambiar.

Por otro lado medio logré entender un poco la idea sobre lo que dice abimaelrc pero no sabría cómo aplicarlo:

Código PHP:
Ver original
  1. <table>
  2. <?php for($i=0; $i<10; $i++){ ?>
  3. <tr>
  4.   <td>foo<?php echo $i; ?></td>
  5.   <td>bar<?php echo $i; ?></td>
  6. </tr>
  7. <?php } ?>
  8. </table>

... ya que por más que agrego echo y la respectiva clase, siempre pone el código por otro lado y no logro acertar exactamente qué variable llama a cada campo.

Saludos y gracias nuevamente!
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #14 (permalink)  
Antiguo 19/07/2010, 18:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Bueno la idea es que los tr y td vayan dentro del bucle, para que vayan agregando conforme a lo que tu deseas. Ejemplo usando PHP completamente
Código PHP:
<?php
echo '<table>';
for(
$i=0$i<10$i++){
    echo 
'<tr>
        <td>foo' 
$i '</td>
        <td>bar' 
$i '</td>
    </tr>'
;
}
echo 
'</table>';
PD: Hace tiempo que no usaba el [ PHP ][ /PHP ]
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 19/07/2010, 18:38
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Ok! Recapitulando un poco....

El código que muestras lo que haría es crear automáticamente tantos tr como se necesario. Es decir ir creando dos celas por fila como sea necesario. Eso logro entenderlo bastante. Pero comentaba al respecto que no sabría cómo aplicarlo al código en sí:

Este es el código original:

Código PHP:
<?php if (@$positions[3]->title) {$strtitle adsmanager_html::getLangDefinition($positions[3]->title); } ?>
  <?php echo "<h3>".@$strtitle."</h3>";
    if (isset(
$fDisplay[4]))
    {
    foreach(
$fDisplay[4] as $field)
    {
    
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins) ; /* 1 = Ad Mode */
    
}
    }
  
?>
Yo logro editarlo de varias formas pero no consigo un resultado preciso. Por ejemplo si hago esto:

Código PHP:
<?php if (@$positions[3]->title) {$strtitle adsmanager_html::getLangDefinition($positions[3]->title); } ?>
  <?php echo "<h3>".@$strtitle."</h3>";
    if (isset(
$fDisplay[4]))
    {
    echo 
'<table><tr><td>';
    foreach(
$fDisplay[4] as $field)
    {
    
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins) ; /* 1 = Ad Mode */
    
}
    }
    echo 
'</td></tr></table>';
  
?>
El resultado final es éste:

Código HTML:
Ver original
  1. <h3>Información Adicional</h3>
  2.   <td>Marca: Toyota <br> Modelo: Corolla<br> Año: 2009<br></td>
  3. </tr></tbody></table>

Es decir no sé cual de esas variables (del código php original) toma el nombre del campo y el resultado o dato que el usuario pone en ese campo.

Por otro lado, si te fijas bien en el código original no hay ningún tag <br>, pero en el código de salida lo muestra. Me he fijado que lo toma desde los atributos que le dan a ciertos tipos de campos en la línea 216 en adelante del archivo adsmanager.html.php (que casualmente colgué). Lo cual me ha llevado a añadir allí mismo valores tr y td para ver qué resultados obtengo pero aún así no logro nada concreto... lo que logro es un código desordenado.

Lo que me mata es que mis conocimientos en PHP no son tan avanzados (aunque me las he ingeniado para hacer otros cambios fijándome en otros documentos), pero en esta parte me está dando lata y no logro hacerlo.

Hasta este momento aún sigo probando a ver si algo resulta... Gracias nuevamente y cualquier ayuda pues bienvenida porque estoy necesitando.
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #16 (permalink)  
Antiguo 19/07/2010, 18:47
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Hola,

Posiblemente,

Los cambios y modificaciones están en color verde
** Cambiado por color rojo

Cita:
Iniciado por Larenz Ver Mensaje
... El código que quiero editar está en la línea 1216 - 1227, ...
Agregar el TABLE y TR,

Código:
  <div class="adsmanager_ads_price">
	<?php if (@$positions[3]->title) {$strtitle = adsmanager_html::getLangDefinition($positions[3]->title); } ?>
	<?php echo "<h3>".@$strtitle."</h3>";
	if (isset($fDisplay[4]))
	{
	?>
	<table>
	<?php foreach($fDisplay[4] as $field) { ?>
	<tr>
	<?php
	adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins) ; /* 1 = Ad Mode */
	?>
	</tr>
	<?php } ?>
	</table>
	<?php
	}
	?>
  </div>
Cita:
Iniciado por Larenz Ver Mensaje
... y parte del código que agrega un salto de línea <br /> se encuentran en las líneas 163, 165, 169, 187, 220, etc..
Agregar los TD ... pero no continué, para mí sería muy difícil saber donde van los TD sin tener la aplicación a mano, sería mas fácil que vayas probando por cada tipo de campo para saber exactamente dónde debes colocarlos,

Código:
  	function showFieldValue($row,$field,$field_values,$email_display,$option,$itemid,$mode,$plugins)
	{
		global $mosConfig_live_site,$mosConfig_absolute_path;
		
		if ((strpos($field->catsid, ",$row->catid,") !== false)||(strpos($field->catsid, ",-1,") !== false))
		{
			if (($field->type != 'checkbox')&&(($field->display_title & $mode) == $mode))
			{
				echo '<td>' . adsmanager_html::getLangDefinition($field->title).": " . '</td>';
			}
			
			if ($field->title)
				$name = $field->name;
				
			$value = "";
			$value = "\$row->".$field->name;
			eval("if (isset($value)) \$value = \"$value\";");
			$value = adsmanager_html::getLangDefinition($value);
			switch($field->type)
			{
				case 'checkbox':
					if (($field->display_title & $mode) == $mode)
					{
						echo '<td>' . adsmanager_html::getLangDefinition($field->title) . ':</td>';
						if ($value == 1)
							echo "<td>".ADSMANAGER_YES."</td>";
						else
							echo "<td>".ADSMANAGER_NO."</td>";
					}
					else if ($value == 1)
					{
						echo '<td>' . adsmanager_html::getLangDefinition($field->title)."</td><td>&nbsp;</td>";
					}		
					break;
etc, ....
Saludos,

Última edición por HackmanC; 19/07/2010 a las 19:10 Razón: cambiar color de los cambios
  #17 (permalink)  
Antiguo 19/07/2010, 19:01
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Es correcto HackmanC... algo así he estado haciendo. Todavía no lo logro pero posiblemente al final así sea la solución. Ya que parece imposible agregar tags tr y td en esta línea de código:

Código PHP:
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins
Al menos a mí no me acepta ninguno.... y probando con algunos strings diferentes....

P.D: ¿Dije strings? Bahhh ni siquiera sé qué es en teoría eso... pero bueno... le estoy haciendo huevo por acá. Seguro a ustedes esto no sería nada de broncas, pero para mí es todo un obstáculo por vencer...
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #18 (permalink)  
Antiguo 19/07/2010, 19:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Exacto. Mira el ejemplo de HackmanC. Dentro del foreach colocó lo que tu necesitas hacer. Si aún no entiendes déjanos saber. Pero solo te faltaría agregar la parte de TD. que entiendo que debe ir justamente después del TR. Tendrías también que verificar si lo que haces dentro de la función se puede modificar a que sea una tabla.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #19 (permalink)  
Antiguo 19/07/2010, 19:19
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Hola,

Cita:
Iniciado por Larenz Ver Mensaje
Es correcto HackmanC... algo así he estado haciendo. Todavía no lo logro pero posiblemente al final así sea la solución. ...
Los cambios que escribí es lo que tienes que cambiar para que haga exactamente lo que estas requiriendo. Cambié el color de las modificaciones del post anterior, color verde por rojo, para hacerlos notar mas claramente. No son una aproximación a una posible solución, estoy seguro que funcionan correctamente. Pero aún así tienes que revisarlo y asegurarte que funciona.

El div 'adsmanager_ads_price' lo tienes que reemplazar completamente por el que yo mostré; e hice una parte del método showFieldValue(); lo único es que no continué después del checkbox; son demasiados y me tomaría mucho tiempo ... tienes que continuar cambiado todos los 'echo' en los demás tipos de campo ($field->type) y agregarles el TD donde sea necesario.

Saludos.

Última edición por HackmanC; 19/07/2010 a las 19:33 Razón: edit
  #20 (permalink)  
Antiguo 19/07/2010, 19:30
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Hola nuevamente... HackmanC me ha dado luz a este asunto. Al parecer así es la única manera de solucionarlo. Ya va tomando forma.

Por otro lado creo que meter la tabla dentro de la función no sería muy factible ya que quiero dejar ciertos campos que no vayan dentro de una tabla. Es decir estos campos son llamados por otro código el cual no estaría encerrado en tablas (a como escribió HackmanC) por lo tanto estaría bien que sólo estuvieran dentro de divs. ¿Entienden lo que quiero decir?

Bueno... subo el archivo editado y este es el link demo para que vean:

LINK
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #21 (permalink)  
Antiguo 19/07/2010, 19:39
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Gracias HackmanC y abimaelrc por el tiempo que han tomado en ayudarme... estoy revisando que todo esté funcionando bien, pero al parecer la solución va muy bien.

Lo que necesito es a como dije anteriormente configurar los otros códigos php que llaman a otros campos, los cuáles aún no les aplico table y tr. Este es un ejemplo:

Código PHP:
<?php if (@$positions[4]->title) {$strtitle adsmanager_html::getLangDefinition($positions[4]->title);} ?>
                <?php echo "<h3>".@$strtitle."</h3>";
                if (
$show_contact == 1) {
                if (isset(
$fDisplay[5]))
                  {
                foreach(
$fDisplay[5] as $field)
                  {
                
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins); /* 1 = Ad Mode */
                  
}
                  }
                if ((
$row->userid != 0)&&($conf->allow_contact_by_pms == 1))
                {
                
$pmsTextsprintf(ADSMANAGER_PMS_FORM,$row->user);
                if (
adscheckJoomlaVersion() == 1)  // Joomla 1.5 only working with UddeIm
                
$pmsForm sefRelToAbs("index.php?option=com_uddeim&task=new&recip=".$row->id);
                else
                
$pmsForm sefRelToAbs("index.php?option=$option&amp;page=show_message_form&amp;mode=1&amp;adid=".$row->id."&amp;Itemid=".$itemid);
                echo 
'<a href="'.$pmsForm.'">'.$pmsText.'</a><br />';
                  }
                  }
                else
                  {
                echo 
ADSMANAGER_CONTACT_NOT_LOGGED;
                  }
                
?>
Voy a ver si lo logro siguiente tu primer ejemplo. Cualquier cosa les pido nuevamente ayuda... gracias!!!!
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #22 (permalink)  
Antiguo 19/07/2010, 20:05
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Hola amigos, me puse a editar el último código que puse y quiero saber si está correctamente codificado. Así es a como lo dejé:

Código PHP:
<?php if (@$positions[4]->title) {$strtitle adsmanager_html::getLangDefinition($positions[4]->title);} ?>
                <?php echo "<h3>".@$strtitle."</h3>";
                if (
$show_contact == 1) {
                if (isset(
$fDisplay[5]))
                  {
                
?>
                <table>
                <?php foreach($fDisplay[5] as $field) { ?>
                <tr>
                <?php adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins); /* 1 = Ad Mode */ ?>
                </tr>
                <?php ?>
                <?php if (($row->userid != 0)&&($conf->allow_contact_by_pms == 1))
                {
                
$pmsTextsprintf(ADSMANAGER_PMS_FORM,$row->user);
                if (
adscheckJoomlaVersion() == 1)  // Joomla 1.5 only working with UddeIm
                
$pmsForm sefRelToAbs("index.php?option=com_uddeim&task=new&recip=".$row->id);
                else
                
$pmsForm sefRelToAbs("index.php?option=$option&amp;page=show_message_form&amp;mode=1&amp;adid=".$row->id."&amp;Itemid=".$itemid);
                echo 
'<a href="'.$pmsForm.'">'.$pmsText.'</a><br />'?>
                <?php if (ADSMANAGER_CONTACT_NOT_LOGGED);
                 }
                
?>
                <?php }  ?>
                </table>
                <?php ?>
¿Está correcto? O ¿está mal escrito?
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #23 (permalink)  
Antiguo 19/07/2010, 20:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

¿Y donde estan los TD?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #24 (permalink)  
Antiguo 19/07/2010, 20:19
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Y donde estan los TD?
Los TD están ubicados al principio. Es que al parecer el código es reutilizable. Es decir al principio del archivo están establecidos los TD. Luego mas abajo del mismo archivo están las llamadas a los códigos que contienen los TD.

¿Me doy a entender?
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #25 (permalink)  
Antiguo 19/07/2010, 20:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Oh. ok
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #26 (permalink)  
Antiguo 19/07/2010, 20:32
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Hola,

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Y donde estan los TD?
La filosofía de la aplicación es:
(pseudocódigo)
Código:
function ::showFieldValue($data) {
<td>nombre</td><td>$data</td>
}

<table>
for each $line
<tr>
call ::showFieldValue($line)
</tr>
next
</table>
Cita:
Iniciado por Larenz Ver Mensaje
¿Está correcto? O ¿está mal escrito?
La parte hasta donde está la etiqueta de cierre de <table> es la que modificaste y creo que está correcta, después de eso debe ser igual al original, puesto que no forma parte de la tabla.

Código:
	<?php if (@$positions[4]->title) {$strtitle = adsmanager_html::getLangDefinition($positions[4]->title);} ?>
                <?php echo "<h3>".@$strtitle."</h3>";
                if ($show_contact == 1) {
                if (isset($fDisplay[5]))
                  {
                ?>
                <table>
                <?php foreach($fDisplay[5] as $field) { ?>
                <tr>
                <?php adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,1,$plugins); /* 1 = Ad Mode */ ?>
                </tr>
                <?php } ?>
                </table>
                /* De aquí arriba es lo que modificaste y abajo debe ser el original */

                <?php
				if (($row->userid != 0)&&($conf->allow_contact_by_pms == 1))
                {
                $pmsText= sprintf(ADSMANAGER_PMS_FORM,$row->user);
                if (adscheckJoomlaVersion() == 1)  // Joomla 1.5 only working with UddeIm
                $pmsForm = sefRelToAbs("index.php?option=com_uddeim&task=new&recip=".$row->id);
                else
                $pmsForm = sefRelToAbs("index.php?option=$option&amp;page=show_message_form&amp;mode=1&amp;adid=".$row->id."&amp;Itemid=".$itemid);
                echo '<a href="'.$pmsForm.'">'.$pmsText.'</a><br />';
                  }
                  }
                else
                  {
                echo ADSMANAGER_CONTACT_NOT_LOGGED;
                  }
                ?>
Saludos,
  #27 (permalink)  
Antiguo 19/07/2010, 20:33
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Cita:
Iniciado por abimaelrc Ver Mensaje
Oh. ok
¿Me podrías confirmar si el código del post #22 está correcto? Es decir lo edité más o menos siguiendo el ejemplo que dio HackmanC pero obviamente si te fijas en el post #21 verás que es algo diferente al primero que hizo HackmanC... por lo tanto no sé si mi codificación en el post #22 está correcta.

Les agradecería a uno de los dos o a cualquiera verificara eso.

Muchas gracias nuevamente!
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #28 (permalink)  
Antiguo 19/07/2010, 20:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Bueno desconozco la parte de Joomla Pero lo de colocarlo como lo hiciste, en el foreach es correcto si es que quieres que se vea algo similar a
Código HTML:
<table>
<tr><td>foo</td><td>bar</td></tr>
<tr><td>foo</td><td>bar</td></tr>
<tr><td>foo</td><td>bar</td></tr>
</table> 
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #29 (permalink)  
Antiguo 19/07/2010, 20:43
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

Ahh ok! Al parecer HackmanC ya habías contestado pero al refrescar el navegador no vi tu respuesta sino hasta luego de haber publicado nuevamente. Me pondré a corregirlo.

Por otro lado: ¿filosofía del pseudo-código? Mmm.. no entiendo eso. Algún link o sitio para aclararme al respecto, ya que últimamente estoy improvisando un poco con el PHP y sé que quiero aprenderlo de lleno para complementar mis otras habilidades.

Gracias sinceramente a todos por el tiempo y apoyo.

/* //// EDITO //// */

Ya entendí un poco usando la lógica sobre el pseudo-código. Es decir es un ejemplo mejor ilustrado para mostrar lo que pasa en mi código o lo que acabamos de hacer. Pero igual si hay un link para profundizar en PHP sin muchos tecnicismos, de fácil entendimiento, te agradecería compartieras un link. La otra vez estuve en la página de PHP pero me sentí un poco perdido con los términos que usan, así que preferiría comenzar con pequeños ejemplos y cosas por el estilo... creo que me entienden a lo que me refiero.

Nos vemos y saludos a todos....
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #30 (permalink)  
Antiguo 19/07/2010, 20:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo agregar etiquetas table, tr, td en variables php?

No, lo que quiso decirme es que sobre la filosofía de la aplicación, es decir sobre la idea de lo que hace el código. Algo así como lo que tu me indicaste de que anteriormente lo creaba ya con sus TD. Pseudocódigo lo que quiere decir es un código de ejemplo.

PD: Que bueno que ya estás entrando de lleno a PHP. Espero que aportes metas la pata como yo, así no me sentiré solo cuando me tengan en la mira
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: etiquetas, php, table, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:44.