Problema con imagenes adicionales - Solucionado

Reglas del Foro
reglas-del-foro-t61.html

Realizad siempre una copia de seguridad antes de realizar modificaciones. Realizad las modificaciones bajo vuestra responsabilidad, comercianos no sera responsable en ningun caso de los errores o perdidas que pudieran producirse.
figue
Mensajes: 875
Registrado: hace 8 years
URL de la tienda: www.mueblesdeforja.es
Version oscommerce: 2.3.3
Servidor: Linux
Ubicación: Córdoba
Contactar:

Problema con imagenes adicionales - Solucionado

Mensaje por figue » hace 5 years

He visto un problema que hay con las imagenes extra, pongo aqui el problema y la solucion.

INTRODUCCION:
Esta modificacion corrige un problema que hay en la ficha de producto (product_info.php) con las imagenes adicionales.
En la version 2.3.3 veo que si tienes imagenes adicionales no se muestra la imagen principal del producto, por lo que tienes que poner la imagen principal tambien como imagen adicional.
Los cambios que indico a continuacion solucionan este problema tanto en tiendas nuevas como en otras que ya tengan imagenes adicionales iguales a la imagen principal.

¿QUE HACE?
Lo que hace es añadir la imagen principal delante de las imagenes adicionales, haciendo que se muestre esta como una imagen adicional más.

INSTALACION:
Edita catalog/product_info.php

Busca (linea 70):

Código: Seleccionar todo

    if (tep_not_null($product_info['products_image'])) {
      $pi_query = tep_db_query("select image, htmlcontent from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . (int)$product_info['products_id'] . "' order by sort_order");

      if (tep_db_num_rows($pi_query) > 0) {
?>

    <div id="piGal" style="float: right;">
      <ul>

<?php
        $pi_counter = 1;
        while ($pi = tep_db_fetch_array($pi_query)) {
          $pi_counter++;

          $pi_entry = '        <li><a href="';

          if (tep_not_null($pi['htmlcontent'])) {
            $pi_entry .= '#piGalimg_' . $pi_counter;
          } else {
            $pi_entry .= tep_href_link(DIR_WS_IMAGES . $pi['image'], '', 'NONSSL', false);
          }

          $pi_entry .= '" target="_blank" rel="fancybox">' . tep_image(DIR_WS_IMAGES . $pi['image']) . '</a>';

          if (tep_not_null($pi['htmlcontent'])) {
            $pi_entry .= '<div style="display: none;"><div id="piGalimg_' . $pi_counter . '">' . $pi['htmlcontent'] . '</div></div>';
          }

          $pi_entry .= '</li>';

          echo $pi_image . $pi_entry;
        }
Sustituyelo por:

Código: Seleccionar todo


    if (tep_not_null($product_info['products_image'])) {
      $pi_query = tep_db_query("select image, htmlcontent from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . (int)$product_info['products_id'] . "' and image != '" . $product_info['products_image'] . "' order by sort_order");

      if (tep_db_num_rows($pi_query) > 0) {
?>

    <div id="piGal" style="float: right;">
      <ul>

<?php
        $pi_counter = 1;
        $pi_image = '<li><a href="'.tep_href_link(DIR_WS_IMAGES . $product_info['products_image'], '', 'NONSSL', false) . '" target="_blank" rel="fancybox">' . tep_image(DIR_WS_IMAGES . $product_info['products_image']) . '</a>' . '</li>'; // añado la imagen principal antes del while.
        while ($pi = tep_db_fetch_array($pi_query)) {
          $pi_counter++;

          $pi_entry = '        <li><a href="';

          if (tep_not_null($pi['htmlcontent'])) {
            $pi_entry .= '#piGalimg_' . $pi_counter;
          } else {
            $pi_entry .= tep_href_link(DIR_WS_IMAGES . $pi['image'], '', 'NONSSL', false);
          }

          $pi_entry .= '" target="_blank" rel="fancybox">' . tep_image(DIR_WS_IMAGES . $pi['image']) . '</a>';

          if (tep_not_null($pi['htmlcontent'])) {
            $pi_entry .= '<div style="display: none;"><div id="piGalimg_' . $pi_counter . '">' . $pi['htmlcontent'] . '</div></div>';
          }

          $pi_entry .= '</li>';

          echo $pi_image . $pi_entry;
          $pi_image = ''; // eilimino la imagen principla del resto del while.
        }
Eso es todo, espero que os sirva.

Responder

Volver a “Dudas y Soluciones (programacion)”