Pedalman Posted July 11, 2019 Posted July 11, 2019 (edited) Hello I do not know whether there is a difference between PS1.6 and TB's image controller but my BELVG Sticker PRO module fails to create my "sticker badges" on product thumb. Here is code of two admin controller overrides it needs: AdminImportController.php <?php class AdminImportController extends AdminImportControllerCore { public function __construct() { parent::__construct(); if (Tools::getValue('entity') == $this->entities[$this->l('Products')]) { $this->available_fields['belvg_stickerspro'] = array('label' => $this->l('Belvg StickersPro')); } } public function productImport() { parent::productImport(); $this->receiveTab(); $handle = $this->openCsvFile(); for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, $this->separator); $current_line++) { if (Tools::getValue('convert')) { $line = $this->utf8EncodeArray($line); } $info = AdminImportController::getMaskedRow($line); if (Tools::getValue('forceIDs') && isset($info['id']) && (int)$info['id']) { $product = new Product((int)$info['id']); } elseif (Tools::getValue('match_ref') && array_key_exists('reference', $info)) { $datas = Db::getInstance()->getRow(' SELECT p.`id_product` FROM `'._DB_PREFIX_.'product` p '.Shop::addSqlAssociation('product', 'p').' WHERE p.`reference` = "'.pSQL($info['reference']).'" '); if (isset($datas['id_product']) && $datas['id_product']) { $product = new Product((int)$datas['id_product']); } else { $product = new Product(); } } elseif (array_key_exists('id', $info) && (int)$info['id'] && Product::existsInDatabase((int)$info['id'], 'product')) { $product = new Product((int)$info['id']); } else { //$product = new Product(); continue; } //Belvg StickersPro logic $belvg_stickerspro_module = Module::getInstanceByName('belvg_stickerspro'); if (is_object($belvg_stickerspro_module) && $belvg_stickerspro_module->id) { $stickers = explode($this->multiple_value_separator, $info['belvg_stickerspro']); if (count($stickers)) { $ids_stickers = array(); foreach ($stickers as $sticker) { if ($sticker) { $ids_stickers[$sticker] = 1; } } if (count($ids_stickers)) { $sticker_flag = TRUE; $sticker_flag &= BelvgStickersProProduct::deleteDataForProduct((int)$product->id, $ids_stickers, Context::getContext()->shop->id); $sticker_flag &= BelvgStickersProProduct::setDataForProduct((int)$product->id, $ids_stickers, Context::getContext()->shop->id); if ($sticker_flag) { $sticker_flag &= $belvg_stickerspro_module->applyStickersToImage($product->id, $ids_stickers); if ($sticker_flag) { $sticker_flag &= BelvgStickersProIndexer::deleteItemsByProductId((int)$product->id); } } } } } } $this->closeCsvFile($handle); } } AdminImagesController.php class AdminImagesController extends AdminImagesControllerCore { /** * AdminImagesController::__construct() * * @return void */ public function __construct() { require_once (_PS_MODULE_DIR_ . 'belvg_stickerspro/classes/Belvg_StickersPro.php'); parent::__construct(); $this->fields_list['stickers'] = array( 'title' => $this->l('Stickers'), 'width' => 50, 'align' => 'center', 'type' => 'bool', 'callback' => 'printEntityActiveIcon', 'orderby' => FALSE); //Belvg StickersPro $this->_select .= 'belvg_sit.stickers'; $this->_join .= ('LEFT JOIN `' . _DB_PREFIX_ . 'belvg_stickerspro_image_type` belvg_sit ON (a.`id_image_type` = belvg_sit.`id_image_type`)'); $this->fields_form['input'][] = array( 'type' => 'switch', 'label' => $this->l('Stickers'), 'name' => 'stickers', 'required' => FALSE, 'class' => 't', 'is_bool' => TRUE, 'hint' => $this->l('This type will be used for stickers feature.'), 'values' => array( array( 'id' => 'stickers_on', 'value' => 1, 'label' => $this->l('Enabled')), array( 'id' => 'stickers_off', 'value' => 0, 'label' => $this->l('Disabled')), )); //Belvg StickersPro } /** * AdminImagesController::renderForm() * * @return */ public function renderForm() { if (is_object($this->object)) { $stickerspro_values = BelvgStickersProModel::getImageTypesData($this->object-> id); if (!empty($stickerspro_values)) { $this->fields_value['stickers'] = $stickerspro_values['stickers']; //$this->fields_value['sticker_height'] = $stickerspro_values['sticker_height']; //$this->fields_value['sticker_width'] = $stickerspro_values['sticker_width']; } } return parent::renderForm(); } /** * AdminImagesController::postProcess() * * @return */ public function postProcess() { $return = parent::postProcess(); //$id_image_type = Tools::getValue('id_image_type'); $stickers = Tools::getValue('stickers'); $products = Tools::getValue('products'); if (empty($this->errors)) { $is_add = Tools::getValue('submitAddimage_type'); if ($is_add) { //$is_exists = BelvgStickersProModel::checkExistsByImageTypeId($id_image_type); //if (!$is_exists) { $object = $this->loadObject(); if (!$products) { $stickers = 0; } BelvgStickersProModel::addTypeByImageTypeId($object->id, $stickers['stickers']); //} } } return $return; } /** * AdminImagesController::processDelete() * * @return bool */ public function processDelete() { $return = parent::processDelete(); $id_image_type = Tools::getValue('id_image_type'); BelvgStickersProModel::deleteTypeByImageTypeId($id_image_type); return $return; } public function renderList() { $html = parent::renderList(); $this->context->smarty->assign(array( 'belvg_stickerspro_submit' => $this->context->link->getAdminLink('AdminStickersPro'), 'belvg_stickerspro_list' => BelvgStickersProIndexer::getItems(0, 0), 'belvg_stickerspro_last_records' => BelvgStickersProIndexer::getItems(0, 5), )); $html .= $this->context->smarty->fetch(_PS_MODULE_DIR_ . '/belvg_stickerspro/views/templates/admin/indexer.tpl'); return $html; } } Can someone see on the run if there is a conflict or might provide a solution? Edited July 12, 2019 by Pedalman corrected content of 2nd override
1 wakabayashi Posted July 11, 2019 Posted July 11, 2019 What does not work? Any error when debug mode is on? You posted two times the same override...
0 Pedalman Posted July 12, 2019 Author Posted July 12, 2019 Hello I could get it working again after totally deleting module's folder and also! /img/belvg_stickerspro. Eventually I could install it as new module and stickers appeared again. I want to add that resetting and normal deinstall did not work. So, all is fine at the moment. Thank you
0 veganline Posted May 14, 2020 Posted May 14, 2020 These modules seem to conk out and do damage as they get more out of date, but they are free to the brave now. There is a thread about them including this post on the sticker module
0 AndyC Posted May 14, 2020 Posted May 14, 2020 You'll also find they don't fully un-install either ..Check your database they will still be there. I have completely removed mine and the images are still on the products ...There also seems to be a whole admin page missing
Question
Pedalman
Hello
I do not know whether there is a difference between PS1.6 and TB's image controller but my BELVG Sticker PRO module fails to create my "sticker badges" on product thumb.
Here is code of two admin controller overrides it needs:
AdminImportController.php
AdminImagesController.php
class AdminImagesController extends AdminImagesControllerCore { /** * AdminImagesController::__construct() * * @return void */ public function __construct() { require_once (_PS_MODULE_DIR_ . 'belvg_stickerspro/classes/Belvg_StickersPro.php'); parent::__construct(); $this->fields_list['stickers'] = array( 'title' => $this->l('Stickers'), 'width' => 50, 'align' => 'center', 'type' => 'bool', 'callback' => 'printEntityActiveIcon', 'orderby' => FALSE); //Belvg StickersPro $this->_select .= 'belvg_sit.stickers'; $this->_join .= ('LEFT JOIN `' . _DB_PREFIX_ . 'belvg_stickerspro_image_type` belvg_sit ON (a.`id_image_type` = belvg_sit.`id_image_type`)'); $this->fields_form['input'][] = array( 'type' => 'switch', 'label' => $this->l('Stickers'), 'name' => 'stickers', 'required' => FALSE, 'class' => 't', 'is_bool' => TRUE, 'hint' => $this->l('This type will be used for stickers feature.'), 'values' => array( array( 'id' => 'stickers_on', 'value' => 1, 'label' => $this->l('Enabled')), array( 'id' => 'stickers_off', 'value' => 0, 'label' => $this->l('Disabled')), )); //Belvg StickersPro } /** * AdminImagesController::renderForm() * * @return */ public function renderForm() { if (is_object($this->object)) { $stickerspro_values = BelvgStickersProModel::getImageTypesData($this->object-> id); if (!empty($stickerspro_values)) { $this->fields_value['stickers'] = $stickerspro_values['stickers']; //$this->fields_value['sticker_height'] = $stickerspro_values['sticker_height']; //$this->fields_value['sticker_width'] = $stickerspro_values['sticker_width']; } } return parent::renderForm(); } /** * AdminImagesController::postProcess() * * @return */ public function postProcess() { $return = parent::postProcess(); //$id_image_type = Tools::getValue('id_image_type'); $stickers = Tools::getValue('stickers'); $products = Tools::getValue('products'); if (empty($this->errors)) { $is_add = Tools::getValue('submitAddimage_type'); if ($is_add) { //$is_exists = BelvgStickersProModel::checkExistsByImageTypeId($id_image_type); //if (!$is_exists) { $object = $this->loadObject(); if (!$products) { $stickers = 0; } BelvgStickersProModel::addTypeByImageTypeId($object->id, $stickers['stickers']); //} } } return $return; } /** * AdminImagesController::processDelete() * * @return bool */ public function processDelete() { $return = parent::processDelete(); $id_image_type = Tools::getValue('id_image_type'); BelvgStickersProModel::deleteTypeByImageTypeId($id_image_type); return $return; } public function renderList() { $html = parent::renderList(); $this->context->smarty->assign(array( 'belvg_stickerspro_submit' => $this->context->link->getAdminLink('AdminStickersPro'), 'belvg_stickerspro_list' => BelvgStickersProIndexer::getItems(0, 0), 'belvg_stickerspro_last_records' => BelvgStickersProIndexer::getItems(0, 5), )); $html .= $this->context->smarty->fetch(_PS_MODULE_DIR_ . '/belvg_stickerspro/views/templates/admin/indexer.tpl'); return $html; } }
Can someone see on the run if there is a conflict or might provide a solution?
Edited by Pedalmancorrected content of 2nd override
4 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now