Estoy tratando de codificar una nueva casilla para adjuntar a las columnas en la galería de imágenes, junto a "Deshabilitar". Su comportamiento sería el mismo que "Desactivar/Excluir" = Sí/No con la entrada en la base de datos.Agregue una casilla de verificación a la galería de imágenes del producto (como "Desactivar/Excluir")
La idea es agregar una casilla de verificación "Usar como página" para cada imagen en la galería de imágenes. El objetivo es crear un carrusel JS con todas las imágenes marcadas como "Usar como página".
tengo unas pocas cosas por hacer pero no puedo:
- actualizar datos en la base de datos => set 0 o 1 para el campo "página" (véase más adelante)
- recuperar datos de la base de datos y luego marque/desmarque la casilla de verificación dependiendo del campo "página".
-> Entonces mi pregunta es: ¿cómo actualizar los datos en la base de datos y recuperarlos en la casilla de verificación (0 o 1 según el valor del campo)?
Gracias a todos por su valiosa ayuda.
Esto es lo que he hecho (1.4.1.0):
1- actualización de la tabla catalog_product_entity_media_gallery_value
añadido un nuevo campo (que se llama "página"):
- página tinyint (4) No se UNSIGNED 0
2- Realizó los siguientes cambios en la clase Mage_Catalog_Model_Product_Attribute_Backend_Media
Línea 49:
de
$localAttributes = array('label', 'position', 'disabled');
a
$localAttributes = array('label', 'position', 'disabled', 'page');
Línea 223:
de
$data['disabled'] = (int) $image['disabled'];
a
$data['disabled'] = (int) $image['disabled'];
$data['page'] = (int) $image['page'];
Línea 301
de
$mediaGalleryData['images'][] = array(
'file' => $fileName,
'position' => $position,
'label' => '',
'disabled' => (int) $exclude
);
a
$mediaGalleryData['images'][] = array(
'file' => $fileName,
'position' => $position,
'label' => '',
'disabled' => (int) $exclude,
'page' => (int) $exclude,
);
Línea 328
de
$fieldsMap = array(
'label' => 'label',
'position' => 'position',
'disabled' => 'disabled',
'exclude' => 'disabled',
);
a
$fieldsMap = array(
'label' => 'label',
'position' => 'position',
'disabled' => 'disabled',
'exclude' => 'disabled',
'page' => 'disabled',
);
3- realizado los siguientes cambios a la plantilla adminhtml/default/default/template/catalog/producto/ayudante/galería.phtml
Línea 64
de
<th><?php echo Mage::helper('catalog')->__('Exclude') ?></th>
a
<th><?php echo Mage::helper('catalog')->__('Exclude') ?></th>
<th><?php echo Mage::helper('catalog')->__('Is Page') ?></th>
Línea 77
de
<td class="cell-disable a-center"><input type="checkbox" <?php if($_block->getElement()->getReadonly()):?> disabled="disabled"<?php endif;?> onclick="<?php echo $_block->getJsObjectName(); ?>.updateImage('__file__')" /></td>
a
<td class="cell-disable a-center"><input type="checkbox" <?php if($_block->getElement()->getReadonly()):?> disabled="disabled"<?php endif;?> onclick="<?php echo $_block->getJsObjectName(); ?>.updateImage('__file__')" /></td>
<td class="cell-page a-center"><input type="checkbox" <?php if($_block->getElement()->getReadonly()):?> disabled="disabled"<?php endif;?> onclick="<?php echo $_block->getJsObjectName(); ?>.updateImage('__file__')" /></td>
Línea 105
de
a
<td class="cell-disable"><input type="hidden" /> </td>
<td class="cell-page last"><input type="hidden" /> </td>
No, en realidad no lo he visto desde que publiqué esta pregunta ... –