Especifique la altura y el ancho de la imagen en la cadena php

Tengo una imagen vinculada a la que necesito especificar los atributos html de alto y ancho para que se genere mediante una cadena php. He investigado el uso de getimagesize pero no se parece a lo que necesito. Actualmente estoy usando el motor social.

Esta es la cadena que tengo que llama al enlace de la imagen.

<?php echo $this->htmlLink($item->getHref(), $this->itemPhoto($item, 'null'), array('class' => '')) ?>

que genera html algo así como <a href="#"><img src="#" class="null"/></a>

Necesito modificar el php para crear una imagen que se especifica en 110px x 110px, es decir <a href="#"><img src="#" class="null" width="110" height="110"/></a>

¿Alguien puede darme un ejemplo de cómo podría escribir mi cadena?

preguntado el 22 de mayo de 12 a las 08:05

Está utilizando funciones de un marco. ¿Qué marco estás usando? -

Estar de acuerdo. ¿Qué marco estás usando Mike? -

Edité mi pregunta y agregué un marco:

4 Respuestas

Tienes que usar esto:

<?php echo $this->htmlLink(
    $item->getHref(), 
    $this->itemPhoto(
        $item, 
        'null', 
        null, 
        array('width' => '110px', 'height' => '110px')), 
    array('class' => '')
) ?>

Es decir, agregue una cuarta matriz de parámetros a itemPhoto función.

Socialengine es una extensión del marco Zend. Deberías comprobar la definición de itemPhoto, htmlLink etc. funciones para personalizarlas. Por ejemplo itemPhoto se puede encontrar aquí- \application\modules\Core\View\Helper\ItemPhoto.php

contestado el 23 de mayo de 12 a las 03:05

pasa!!!! +1000 rep si fuera posible. Su solución ha funcionado maravillosamente. También echaré un vistazo a las funciones ahora que sé dónde buscar. Un millón de gracias Salman - Mike M

El último parámetro se usa para eso, ¿no?

$this->htmlLink(
  $item->getHref(), 
  $this->itemPhoto($item, '', '', array('width' => 110, 'height' => 110)),
  array('class' => '')
);

contestado el 22 de mayo de 12 a las 09:05

No del todo, esto agregó alto y ancho al atributo del enlace, no a la imagen. - Mike M

@MikeM Entonces, ¿qué tal el itemPhoto ¿método? - xdazz

@MikeM El marco que está utilizando parece no ser de código abierto, por lo que es difícil saberlo sin leer la fuente. - xdazz

Creo que está basado en zend framework... el motor social ha sido más que problemático cuando se trata de escalar. - Mike M

@MikeM OK, después de hacer algo de búsqueda, sale el resultado. revisa mi edición. - xdazz

Método 1: Solo agrega estilo para la clase nula

<?php echo $this->htmlLink($item->getHref(), $this->itemPhoto($item, 'null'), array('class' => '')) ?>

como:

.null {
  height: 110px;
  width: 110px;
}

Método 2: O puede pasar un atributo de estilo en línea como:

<?php echo $this->htmlLink($item->getHref(), $this->itemPhoto($item, 'null'), array('class' => '', 'style' => 'height: 110px; width: 110px')) ?>

contestado el 22 de mayo de 12 a las 09:05

Su método 2 parece que solo funciona, por alguna razón está agregando un atributo de estilo al enlace html y no al html de la imagen. - Mike M

Ya tengo dimensiones css para las imágenes. Estoy intentando seguir las estadísticas de la velocidad de la página para optimizar aún más mi sitio. Una recomendación de rendimiento fue servir imágenes escaladas cambiando el html. - Mike M

Bien, ¿qué pasa con la solución modificada de @xdazz? ¿Funciona? No encontré documentos para esto itemPhoto() método. - Vishal

No, lamentablemente todavía no hay suerte. Gracias de nuevo por tu ayuda @Vishal - Mike M

No puedo ver qué hay detrás de la función htmlLink(), pero supongo que debido al nombre de los elementos que pasa, simplemente podría escribir.

echo '<a href="'.$item->getHref().'"><img src="'.$this->itemPhoto($item, 'null').'" class="null" width="110" height="110"/></a>';

¡pero éter publique esa función o simplemente intente y error!

contestado el 22 de mayo de 12 a las 08:05

Creo que ese es mi problema, parece que no puedo llegar a la función detrás de htmlLink() yo mismo. te agradezco tu ayuda - Mike M

Bienvenido, intente profundizar en las clases de ese marco, el código anterior es solo una solución. - sistema

Lo haré. Aunque no puedo lograr mi objetivo, todavía he aprendido algo nuevo. Gracias de nuevo por tu ayuda @systrue - Mike M

No sé su nivel de php, pero esto ayuda a obtener una descripción general, ya que los marcos pueden ser confusos al principio. tizag.com/phpT - sistema

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.