Добавьте флажок в галерею образа товара (как “Отключают/Исключают”),

Я пытаюсь кодировать новый флажок, который будет добавлен к столбцам в галерее изображений, около "Отключают". Его поведение совпало бы с, "Отключают/Исключают" = Да/Нет с записью в базе данных.

Идея состоит в том, чтобы добавить флажок "Use as page" для каждого изображения в галерее изображений. Причем цель состоит в том, чтобы сделать кольцевую галерею JS со всеми изображениями проверенной как "Использование в качестве страницы".

У меня есть несколько сделанных вещей, но я не могу:

  • данные обновления в базе данных => устанавливают 0 или 1 к полю "страницы" (см. ниже),
  • получите данные из базы данных и затем проверьте/снимите флажок флажок в зависимости от поля "страницы".

->, Таким образом, мой вопрос: как обновить данные в базе данных и получить его во флажке (0 или 1 в зависимости от значения поля)?

Спасибо все для Вашей очень драгоценной справки.


Вот то, что я сделал (1.4.1.0):

1-обновляют таблицу catalog_product_entity_media_gallery_value

Добавленный новое поле (какое имя является "страницей"):

  • страница tinyint (4) НЕПОДПИСАННЫЙ № 0

2-Делал следующие изменения в класс Mage_Catalog_Model_Product_Attribute_Backend_Media

Строка 49:

от

$localAttributes = array('label', 'position', 'disabled');

кому:

$localAttributes = array('label', 'position', 'disabled', 'page');

Строка 223:

от

$data['disabled'] = (int) $image['disabled'];

кому:

$data['disabled'] = (int) $image['disabled'];
$data['page'] = (int) $image['page'];

Строка 301

от

$mediaGalleryData['images'][] = array(
    'file'     => $fileName,
    'position' => $position,
    'label'    => '',
    'disabled' => (int) $exclude
);

кому:

$mediaGalleryData['images'][] = array(
    'file'     => $fileName,
    'position' => $position,
    'label'    => '',
    'disabled' => (int) $exclude,
    'page' => (int) $exclude,
);

Строка 328

от

$fieldsMap = array(
    'label'    => 'label',
    'position' => 'position',
    'disabled' => 'disabled',
    'exclude'  => 'disabled',
);

кому:

$fieldsMap = array(
    'label'    => 'label',
    'position' => 'position',
    'disabled' => 'disabled',
    'exclude'  => 'disabled',
    'page'  => 'disabled',
);

3-Внес следующие изменения для шаблонной обработки adminhtml/default/default/template/catalog/product/helper/gallery.phtml

Строка 64

от

    <th><?php echo Mage::helper('catalog')->__('Exclude') ?></th>

кому:

    <th><?php echo Mage::helper('catalog')->__('Exclude') ?></th>
    <th><?php echo Mage::helper('catalog')->__('Is Page') ?></th>

Строка 77

от

<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-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>

Строка 105

от  

кому:

            <td class="cell-disable"><input type="hidden" />&nbsp;</td>
            <td class="cell-page last"><input type="hidden" />&nbsp;</td>
7
задан Hervé Guétin 21 July 2010 в 08:31
поделиться

1 ответ

Я недавно работал над чем-то подобным и обнаружил, что этот кусок кода был частью решения:

$fieldset->addField('entire_range', 'checkbox', array(
      'checked'    => $this->getEntireRange()==1 ? 'true' : 'false',
      'onclick'    => 'this.value = this.checked ? 1 : 0;'

)));

Я тоже не смог заставить его сохранить значение в базе данных. Это что-то с классом Varien_Data_Form_Element_Checkbox.

Надеюсь, это поможет, пожалуйста, опубликуйте ваше решение, если вы его нашли!

Будьте здоровы, JD

0
ответ дан 7 December 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: