drupal views – cómo alterar programáticamente la representación de un campo en Vistas

Pregunta:

Tengo un tipo de contenido llamado 'Ping'. Tiene varios campos y uno de ellos es una URL con el nombre 'nombre de archivo'. Quiero que la Vista de todos esos pings, nombres 'user-pings' no muestre la URL en sí, sino un enlace a ella. ¿Cómo puedo hacer eso?

He intentado lo siguiente, pero no funciona:

function feedback_views_pre_render(&$view)
{

    if( $view->name === 'user_pings' )
    {

        foreach( $view->result as $key => $val )
        {
           $lang = $view->result[$key]->_field_data['nid']['entity']->language;
           $field = $view->result[$key]->_field_data['nid']['entity']->field_filename[$lang][0];
           $filename = $field['value'];
           $link = "<a href='$filename'>(download)</a>";
           $view->result[$key]->_field_data['nid']['entity']->field_filename[$lang][0]['value'] = $link;
           $view->result[$key]->_field_data['nid']['entity']->field_filename[$lang][0]['safe_value'] = $link;

        }

    }

}

Además, si este código es un intento en la dirección correcta, me gustaría mucho aprender a hacer lo mismo en menos código.

Saludos y gracias de antemano, Alan.

Respuesta:

Puede hacerlo en la interfaz de vistas, sin necesidad de procesamiento previo o posterior en el nivel de tema (como sugiere su fragmento de script).

Supongo que está utilizando Drupal 7.xy Views 7.x-3.x.

Vaya a la interfaz de usuario de la vista que desea cambiar:

http://example.com/admin/structure/views/view/yourviewname/edit
or Home » Administration » Structure » Views » Yourview

Asegúrese de estar en la pantalla que desea cambiar (hacia la parte superior: la pantalla tiene pestañas "Página", "Agregar" y tal vez otras como "Bloquear" o similar)

En "Formato", muestra "Formato" y "Mostrar". "Mostrar" debe establecerse en "Campos".

Haga clic en el campo con su URL, como:

 Content: URL (URL) 

Se abrirá una ventana emergente con:

 Configure field: Content: URL

Haga clic en "Reescribir resultados" – hay varias opciones abiertas, verifique:

 Rewrite the output of this field 

Ahora se abren un par de campos adicionales.

Haga clic en "Patrones de reemplazo" e identifique su campo de URL, por ejemplo:

[field_url]

Ahora, ingrese el texto que desea mostrar en el campo "TEXTO" (pueden ser etiquetas html como una etiqueta de imagen):

An image tag
Some text

Marque "Enviar este campo como un vínculo" e ingrese el patrón de reemplazo en el campo "Ruta del vínculo" [field_url].

Si desea utilizar otro campo de su tipo de contenido para mostrar en lugar de algo genérico, ese campo debe estar en la lista "Campos" ANTES del campo field_url, pero se puede marcar como "invisible" si no desea mostrar de lo contrario.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım