Magnifier

Page not available in English



Magnifier permite agregar la funcionalidad de lupa a las imágenes de tus webpanels. Muy útil para mostrar productos en páginas de ecommerce, o cuando se precisa hacer zoom en una imágen sin tener que agregar capas o pop-up adicionales, que oculten el contenido.

 

Es un wrapper del componente jQuery Magnify Plugin v2.3.2 de T. H. Doan (https://thdoan.github.io/magnify/) el cual es basado en el proyecto http://thecodeplayer.com/walkthrough/magnifying-glass-for-images-using-jquery-and-css3
 

Compatibilidad

Web

Usando el control 

Abrir Extensibility Catalog y dirigirse a la sección Web a través del menú lateral izquierdo.
 
Seleccionar el control Magnifier y luego instalar. (Ver documentación del Extensibility Catalog si tiene dudas en el proceso de instalación de controles). 

Durante el proceso de instalación se recomienda importar el XPZ de ejemplo que viene con el control. 
Al importar el XPZ de ejemplo del User Control en la ruta Ignia/Controls/Magnifier se crean un Web Panel  de ejemplo, y se importa el SDT que utiliza el User Control.

Propiedad Magnifier Data

El control recibe en la propiedad "Magnifier Data", una variable de tipo SDTMagnifier, en dicha variable se carga toda la información que requiere el control para aplicar la funcionalidad de lupa.

Campos del SDTMagnifier:

  • Id: Recibe el valor de InternalName del objeto Image del form del web panel, o el InternalName de la variable o atributo en el form del web panel al que se va a aplicar efecto de lupa
         &MagnifierItem.Id = Image1.InternalName
  • ImageUrl: Es la url de la imágen a la que se va a aplicar el efecto lupa, este campo es opcional, si se carga el valor Id. Se puede usar cuando no se conece el InternalName, por ejemplo si la imágen la carga otro UserControl
         &MagnifierItem.ImageUrl = glasses.Link()
  • ImageMagnifiedUrl: Es la url de la imágen magnificada, la que va a mostrar la lupa, debe mantener las proporciones de alto y ancho de la imágen original.
         &MagnifierItem.ImageMagnifiedUrl = glassesMagnified.Link()

Ejemplo de carga de datos:

Sub 'LoadMagnifier'
    
    &MagnifierItem = new()
    
    &MagnifierItem.Id = Image1.InternalName
    &MagnifierItem.ImageMagnifiedUrl = watchMagnified.Link()
    
    &MagnifierList.Add(&MagnifierItem)
    
    &MagnifierItem = new()
    
    &MagnifierItem.ImageUrl = glasses.Link()
    &MagnifierItem.ImageMagnifiedUrl = glassesMagnified.Link()
    
    &MagnifierList.Add(&MagnifierItem)
    
EndSub

 

Método RefreshImages

Cuando durante la ejecución, cambia la imágen que muestra el objeto image o la variable/atributo, es posible también actualizar, la imágen magnificada. Para ello hay que llamar al método RefreshImage del control, que tiene por parámetro la variable de tipo SDTMagnifier, con los datos actualizados 

Por ejemplo en el webpanel  ProductDetail del template moda, en el evento 'ChangeImage' actualizamos la imágen magnificada según  thumbnail elegido por el usuario, con el código siguiente:

Event 'ChangeImage'
    &image.FromURL(&OtherImageUrl)    
    
    &MagnifierList.Clear()
    
    &MagnifierItem = new()
    
    &MagnifierItem.Id = &Image.InternalName
    &MagnifierItem.ImageUrl = &OtherImageUrl
    
    if &OtherImageUrl = ModdaProduct1.Link()
        &MagnifierItem.ImageMagnifiedUrl = ModdaProduct1Magnified.Link()
    else 
        if &OtherImageUrl = ModdaProduct2.Link()
            &MagnifierItem.ImageMagnifiedUrl = ModdaProduct2Magnified.Link()
        else 
            &MagnifierItem.ImageMagnifiedUrl = ModdaProduct3Magnified.Link()
        endif    
    endif

    &MagnifierList.Add(&MagnifierItem)
    
    Magnifier1.RefreshImages(&MagnifierList)
EndEvent