Search the Community
Showing results for tags 'Development'.
-
We are a small company that sells websites online through Flippa. Recently, we built a website for one of our clients. Here’s a brief overview of the website: - It is focused on gold rates in Qatar. - The website was built using the Kadence theme on WordPress. Now, our client wants to expand the website's functionality to include a selling feature. It's important to note that there has been an investment in the current theme, design, pluggins and development. I’m looking for advice on how to migrate this website without significantly changing the design while keeping costs in check. Some key considerations are: - Finding an alternative to the Kadence theme - Exploring alternatives to WordPress - Cost-effective solutions - Whether hiring a dedicated developer is necessary - Availability of any plugins that could simplify this process Any suggestions or guidance would be greatly appreciated!
-
Hello, I am new to Prestashop. Is there anyone here who uses development and production instance? How to do the development on dev instance and merge changes to the production and not breaking things up? I was hopping to use git to deploy and merge the development source code with the production. But then how to update the production database with the changes in dev? Can you separate the business transaction data from application settings and do selective imports/exports? Thank you, Richard
- 1 reply
-
- sqldump
- development
-
(and 3 more)
Tagged with:
-
Hello, I am looking for a way where the data entry of products, features, attributes, categories, manufacturers, attachments & images can happen in a local clone of production a prestashop site and then synced / pushed to live site.
- 4 replies
-
- development
- production
-
(and 2 more)
Tagged with:
-
Hi guys im adding custom field into presta product page. Hi guys I'm adding a custom field to the admin product page I need your help because I'm missing something. What did till now: 1. I've add new field to table ps_product hide_discount_table - tinyint(1) - NOT NULL 2. override/classes/Product.php public $hide_discount_table; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { self::$definition['fields']['hide_discount_table'] = array('type' => self::TYPE_BOOL, 'shop' => true, 'validate' => 'isBool'); } 3. src/PrestaShopBundle/Form/Admin/Product/ProductInformation.php // LINE 238 ->add('hidden_discount_table', FormType\CheckboxType::class, [ 'label' => $this->translator->trans('Hide discount table', [], 'Admin.Global'), 'required' => false, ]) 4. src/PrestaShopBundle/Model/Product/AdminModelAdapter.php: private $translatableKeys = array( //...LINE 140 'hidden_discount_table', ); private $unmapKeys = array( //... LINE 161 'hidden_discount_table', ); private function mapStep1FromData(Product $product) { return array( //... LINE 518 'hide_discount_table' => $product->hide_discount_table== 0 ? false : true, ); } 5. src/PrestaShopBundle/Resources/views/Admin/Product/ProductPage/product.html.twig: {# PANEL ESSENTIALS #} {% block product_panel_essentials %} {% set formQuantityShortcut = form.step1.qty_0_shortcut is defined ? form.step1.qty_0_shortcut : null %} {{ include('@Product/ProductPage/Panels/essentials.html.twig', { 'formPackItems': form.step1.inputPackItems, 'productId': id_product, 'images': form.step1.vars.value.images, 'formShortDescription': form.step1.description_short, 'formDescription': form.step1.description, 'formManufacturer': form.step1.id_manufacturer, 'formHiddenDiscount': form.step1.hide_discount_table, // NEW ENTERY 'formFeatures': form.step1.features, 'formManufacturer': form.step1.id_manufacturer, 'formRelatedProducts': form.step1.related_products, 'is_combination_active': is_combination_active, 'has_combinations': has_combinations, 'formReference': form.step6.reference, 'formQuantityShortcut': formQuantityShortcut, 'formPriceShortcut': form.step1.price_shortcut, 'formPriceShortcutTTC': form.step1.price_ttc_shortcut, 'formCategories': form.step1, }) }} {% endblock %} 6. src/PrestaShopBundle/Resources/views/Admin/Product/ProductPage/Panels/essentials.html.twig (in right column) <div class="form-group mb-4"> <h2>Additional features</h2> {{ form_widget(formHiddenDiscount) }} </div> On front-end i can print the value from DB in product.tpl {$product->hide_discount_table} That works fine. What doesnt work: Saving changes - it save other changes but doesnt see checkbox
-
Hello, I'm writing a module that it will add an extra tab on the edit product page (back office). I did a small research and I saw many people that they are suggesting the following methos Tools::getAdminTokenLite('AdminModules') $token = Tools::getAdminToken($tab.(int)(Tab::getIdFromClassName($tab)).(int)($cookie->id_employee)); 'token' => Tools::getToken(false) I did several combinations, like changing tabs, module names etc, but non of them returned the same token that exist on the URL. Does anyone know what method to use in order to get the same token on my tbl with the one on the URL? Also how I can build a friendly url on the smarty? Now it is index.php?controller=AdminProducts&token={$token|escape:'html':'UTF-8'}" And i need something like this index.php/product/catalog?_token= Thanks
-
Добрый день. Где можно найти api престы? Я хочу написать свой модуль. На оф сайте документация очень сжатая и там пример создания очень простого модуля. Как в таком случае разбираються? Смотреть функции в самом движке и стандартных модулях?
-
Hi, We are looking for a Prestashop developer in order to develop a module to manage decimal quantities. The module must be compatible with Prestashop 1.7.x. We sell fabrics by the meter and we wish to be able to indicate the price by the meter and the quantity choosen with a comma, example: - Fabric at 20 € per meter, possibility to add 1,1 / 1,2 / 1,3 meter as quantity to cart. We would like to be able to activate or not the decimal quantity on each product sheet and to choose the increment: 0,1 or 0,5 for example (0,5 / 1 / 1,5 meter). A module already exists that does this but it is not compatible 1.7 : https://addons.prestashop.com/en/dimension-size/5628-product-properties-extension-sell-by- weight-lengthetc.html FYI many fabrics seller would be interested in such module. Looking forward to receiving your proposals. Kind Regards,
-
Hi. I'm developing a module to add a custom background in the product detail page. To do that, i created a module that hooks in: hookDisplayAdminProductsExtra, but when i try to do $helper->generateForm($this->fields_form) i get: SmartyException Twig_Error_Runtime HTTP 500 Internal Server Error An exception has been thrown during the rendering of a template ("Unable to load template 'file:helpers/uploader\simple.tpl'"). Twig_Error_Runtime in src\PrestaShopBundle\Resources\views\Admin\Product\ProductPage\product.html.twig (line 161) {% set hooks = renderhooksarray('displayAdminProductsExtra', { 'id_product': id_product }) %} my methods: protected function initForm() { $default_lang = (int)Configuration::get('PS_LANG_DEFAULT'); $this->fields_form[0]['form'] = array( 'legend' => array( 'title' => $this->trans('New Background block', array(), 'Modules.mkcproducts.Admin'), ), 'input' => array( array( 'type' => 'file', 'label' => $this->trans('Image', array(), 'Admin.Global'), 'name' => 'image', 'value' => true, 'display_image' => true, ), array( 'type' => 'textarea', 'label' => $this->trans('Text', array(), 'Admin.Global'), 'lang' => true, 'name' => 'text', 'cols' => 40, 'rows' => 10 ) ), 'submit' => array( 'title' => $this->trans('Save', array(), 'Admin.Actions'), ) ); $helper = new HelperForm(); $helper->module = $this; $helper->name_controller = 'mkcproducts'; $helper->identifier = $this->identifier; $helper->token = Tools::getAdminTokenLite('AdminModules'); foreach (Language::getLanguages(false) as $lang) { $helper->languages[] = array( 'id_lang' => $lang['id_lang'], 'iso_code' => $lang['iso_code'], 'name' => $lang['name'], 'is_default' => ($default_lang == $lang['id_lang'] ? 1 : 0) ); } $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name; $helper->default_form_language = $default_lang; $helper->allow_employee_form_lang = $default_lang; $helper->toolbar_scroll = true; $helper->title = $this->displayName; $helper->submit_action = 'savemkcproduct'; $helper->toolbar_btn = array( 'save' => array( 'desc' => $this->trans('Save', array(), 'Admin.Actions'), 'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules'), ), 'back' => array( 'href' => AdminController::$currentIndex.'&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules'), 'desc' => $this->trans('Back to list', array(), 'Admin.Actions'), ) ); return $helper; } public function hookDisplayAdminProductsExtra($params) { $html = ''; $id_cproduct = (int)Tools::getValue('id_product'); if (Tools::isSubmit('savemkcproduct')) { if ($id_cproduct = Tools::getValue('id_cproduct')) { $cproduct = new CProduct((int)$id_cproduct); } else { $cproduct = new CProduct(); } if ($cproduct->validateFields(false) && $cproduct->validateFieldsLang(false)) { $cproduct->save(); if (isset($_FILES['image']) && isset($_FILES['image']['tmp_name']) && !empty($_FILES['image']['tmp_name'])) { if ($error = ImageManager::validateUpload($_FILES['image'])) { return false; } elseif (!($tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS')) || !move_uploaded_file($_FILES['image']['tmp_name'], $tmpName)) { return false; } elseif (!ImageManager::resize($tmpName, dirname(__FILE__).'/img/mkcproduct-'.(int)$cproduct->id_cproduct.'-'.(int)$cproduct->id_shop.'.jpg')) { return false; } unlink($tmpName); $cproduct->file_name = 'mkcproduct-'.(int)$cproduct->id_cproduct.'-'.(int)$cproduct->id_shop.'.jpg'; $cproduct->save(); } $this->_clearCache('*'); } else { $html .= '<div class="conf error">'.$this->trans('An error occurred while attempting to save.', array(), 'Admin.Notifications.Error').'</div>'; } } $helper = $this->initForm(); foreach (Language::getLanguages(false) as $lang) { if ($id_cproduct) { $cproduct = new CProduct((int)$id_cproduct); $helper->fields_value['text'][(int)$lang['id_lang']] = $cproduct->text[(int)$lang['id_lang']]; $image = dirname(__FILE__).DIRECTORY_SEPARATOR.'img'.DIRECTORY_SEPARATOR.$cproduct->file_name; $this->fields_form[0]['form']['input'][0]['image'] = '<img src="'.$this->getImageURL($cproduct->file_name).'" />'; } else { $helper->fields_value['text'][(int)$lang['id_lang']] = Tools::getValue('text_'.(int)$lang['id_lang'], ''); } } if ($id_cproduct = Tools::getValue('id_cproduct')) { $this->fields_form[0]['form']['input'][] = array('type' => 'hidden', 'name' => 'id_cproduct'); $helper->fields_value['id_cproduct'] = (int)$id_cproduct; } return $html.$helper->generateForm($this->fields_form); // $this->context->smarty->assign('listacomplementos', $listacomplementos); //return $this->display(__FILE__, 'views/admin/tab.tpl'); } What do you think that is the problem !? Thank you all. Ricardo Ferreira
-
Hello! Bonjour! Throught the product edit backend I would like to add a second checkbox like the « Use as cover image » checkbox named « use this image as special ». The usage would be to display the « special image » in a specific part of my product.tpl (keeping the original « use as cover image » action) but as a front end dev i’m stuck... could someone helps?! PS Version 1.7.4.4 thanks a lot!
-
Bonjour, Je suis actuellement entrain d'essayer de développer un module Prestashop. J'ai mon fichier que j'ai appeler accordeon.php, lui même dans le dossier accordeon lui même dans le dossier module. J'ai aussi un fichier accordeon.tpl dans le dossier view/templates/hook. Problème quand je vient faire une réinitialisation du module pour "mettre à jour" mon code il me met l'erreur suivante : Si quelqu'un sais pourquoi j'ai ce problème merci de bien vouloir m'aider. Fichier accordeon.php : <?php if (!defined('_PS_VERSION_')) { exit; } class Accordeon extends Module { public function __construct() { $this->name = 'Accordeon'; $this->tab = 'others'; $this->author = 'Maxime Lemoine'; $this->version = '1.0'; $this->need_instance = 0; $this->ps_versions_compliancy = [ 'min' => '1.7', 'max' => _PS_VERSION_ ]; $this->bootstrap = true; parent::__construct(); $this->displayName = $this->l('Module Accordeon'); $this->description = $this->l('Avec ce module, vous pouvez affichez des question avec une animation d\'accordeon sur vos pages'); $this->confirmUninstall = $this->l('Voulez vous désinstaller ce module ?'); if (!Configuration::get('MYMODULE_NAME')) { $this->warning = $this->l('Aucun nom fournis !'); } } public function install() { parent::install(); $this->registerHook('displayProductTabContent'); return true; } public function hookDisplayProductTabContent(array $params) { return '<b>Affichez-moi sur la fiche produit</b>'; } public function processConfiguration() { if(Tools::isSubmit('submit_mymodcomments_form')) { $enable_grades = Tools::getValue('enable_grades'); $enable_comments = Tools::getValue('enable_comments'); Configuration::updateValue('MYMOD_GRADES', $enable_grades); Configuration::updateValue('MYMOD_COMMENTS', $enable_comments); $this->context->smarty->assign('confirmation', 'ok'); } } public function assignConfiguration() { $enable_grades = Configuration::get('MYMOD_GRADES'); $enable_comments = Configuration::get('MYMOD_COMMENTS'); $this->context->smarty->assign('enable_grades', $enable_grades); $this->context->smarty->assign('enable_comments', $enable_comments); } public function getContent() { $this->processConfiguration(); $this->assignConfiguration(); return $this->display(__FILE__, 'Accordeon.tpl'); } } ?> fichier accordeon.tpl : {if isset($confirmation)} <div class="alert alert-success"> La configuration à bien été mise à jour </div> {/if} <form method="post" class="defalutForm form-horizontal"> <div class="panel"> <div class="panel-heading"> <i class="icon-cogs"></i> La configuration de mon module. </div> <div class="form-wrapper"> <div class="form-group"> <label class="control-label col-lg-3">Activer les notes :</label> <div class="col-lg-9"> <img src="../img/admin/enabled.gif" alt=""> <input type="radio" id="enable_grades_1" name="enable_grades" value="1" {if $enable_grades eq '1'}checked{/if}> <label for="enable_grades_1" class="t">Oui</label> <img src="../img/admin/disabled.gif" alt=""> <input type="radio" id="enable_grades_0" name="enable_grades" value="0" {if $enable_grades ne '1'}checked{/if}> <label for="enable_grades_0" class="t">Non</label> </div> </div> <div class="form-group"> <label class="control-label col-lg-3">Activer les commentaires :</label> <div class="col-lg-9"> <img src="../img/admin/enabled.gif" alt=""> <input type="radio" id="enable_comments_1" name="enable_comments" value="1"> <label for="enable_grades_1" class="t">Oui</label> <img src="../img/admin/disabled.gif" alt=""> <input type="radio" id="enable_comments_0" name="enable_comments" value="0" checked> <label for="enable_grades_0" class="t">Non</label> </div> </div> </div> <div class="panel-footer"> <button class="btn btn-default pull-right" name="submit_mymodcomments_form" value="1" type="submit"> <i class="process-icon-save"></i>Enregister </button> </div> </div> </form>
-
I'm trying to add custom field to the orders. It should only be filled when admin adds order manually from backend form. Output for this field is need only in the orders list. I have made next changes: 1) added int field order_source to database 2) admin/themes/default/template/controllers/orders/form.tpl <div class="form-group"> <label class="control-label col-lg-3">Order Source</label> <div class="col-lg-9"> <select name="order_source" id="order_source"> <option value="1" {if isset($smarty.post.order_source) && $smarty.post.order_source == 1}selected="selected"{/if}>Internal</option> <option value="2" {if isset($smarty.post.order_source) && $smarty.post.order_source == 2}selected="selected"{/if}>External</option> <option value="3" {if isset($smarty.post.order_source) && $smarty.post.order_source == 3}selected="selected"{/if}>Distribution</option> </select> </div> </div> 3) override/controllers/admin/AdminOrdersController.php class AdminOrdersController extends AdminOrdersControllerCore { public function __construct() { parent::__construct(); $pos = 3; $this->fields_list = array_slice($this->fields_list, 0, $pos, true) + array( 'order_source' => array( 'title' => $this->l('Order Source'), 'align' => 'text-center', 'callback' => 'orderSourceCallback', 'type' => 'select', 'list' => array(1 => 'Internal', 2 => 'External', 3 => 'Distribution'), 'filter_key' => 'order_source', 'filter_type' => 'int', 'orderby' => false ) ) + array_slice($this->fields_list, $pos, count($this->fields_list)-$pos, true); } } 4) override/classes/order/Order.php class Order extends OrderCore { /** @var integer Order Source */ public $order_source; public function __construct($id = null, $id_lang = null) { self::$definition['fields']['order_source'] = array('type' => self::TYPE_INT); parent::__construct($id, $id_lang); } } 5) I have deleted cache_index.php Everything works great, It shows in order list. But when I create new order it doesn't save new field. I have tried to find any suggestions and find some but nothing help. When I manually change field value in the database - it shows in the list and I even can filter this column. But still can't save field value. Please help me
- 9 replies
-
- development
- order
-
(and 1 more)
Tagged with:
-
Hello, I am reconsidering the development workflow of our prestashop store as well as the better management of all the aspects that impact with the store. For a while I have been looking for a way to try setting up memcache or / and vanish in order to find best optimazition techniques that can work with my setup. I was always afraid that things wouldnt work as expected on live website (as they didnt once) and a way to go back might not be that easy since the librarys would already been installed on server. Docker seems to provide a very good soltuion for this. I have been reading a lot about docker lately and the benefits that provides seems amazing. We can actually test anything and be sure that it will work exacly the same on live site. Still havent resolved how a few major things should be configured before start working on it, such as: - Do we include all the product images/attachments on the image? If so, this wouldnt make the image file size huge? - Is database saved & included in the docker? If so, lets say we install a new theme on the image we have from a week ago. We push this new version of the image with the new theme to live site, in such a case, wont database be as it was a week ago + with any changes the theme installation applied? What about the data that were created on live site within this time? If anyone is already using a docker for running prestashop, any workflow guidance would be more than welcome . Regards, C
- 10 replies
-
- docker container
- development
-
(and 2 more)
Tagged with:
-
For the love of god, I cannot figure out how to get prestashop to update the files when I edit them. Ive tried turning off cache, deleting cache folders, browser cache is turned off. Even direct URLs to the file don't reflect the changes I made. I'm trying to edit product.js file of my theme. Does anyone have any insight?
-
- js
- javascript
-
(and 1 more)
Tagged with:
-
Hi, i'm making a module that combines products in packs. I can't figure out how to make a cart rule or something that will change price when specific products are added to the cart. For example: Car costs 1000euro, Tires cost 500euro, Seat cover costs 100euro... when those three are aded to cart, the price of seat cover should be 1 euro instead of 100... As I see, the best way should be a cart rule with (as in our example) three cart rule product groups... so how should I do it? Can i do it with a Cart Rule Object, some function or should i manually insert values into sql tables? Some example code would be much appreciated Thanks in advance
- 1 reply
-
- prestashop 1.6
- development
-
(and 3 more)
Tagged with:
-
Hello, I am very new to prestashop development and I am trying to build a module that would display custom data (from an API) depending on the product info. I want this data to be displayed inside the product list block so that it is dependant on the product itself (see image). But I don't know how to proceed. I looked for hooks but I don't fully understand which one to use for this specific case.. Do I need to create a Module that will overide products.tpl or product-prices.tpl inside /themes/classic/templates/catalog/_partials ? Or is there simply a way to add a custom hook in a loop maybe ?
- 4 replies
-
- override
- price-block
-
(and 3 more)
Tagged with:
-
Hello, I have a few tasks to implement related to Prestashop 1.7 I am looking for a specialist who will take the challenge to start with the 3 tasks below: Pagination – optimize for SEO, everywhere where we have pagination (Category, Manufacturer): Change url adress: Now we have - https://page.com/category-name/?page=2, ?page=3, ?page=4 but we need https://page.com/category-name/2/,/3/, /4/ clear URL without "?page=" Change meta title. Now we have - Category name | Shop name, if page >=2 we need: Category name - Page (number) | Shop name. Change meta descripton. If page >2 add "Page (number)" to meta description Change H1/title. If page >=2 we need to add Page (number). For example in page 2 now we have: "Category name" but we need "Category name - page 2" Delete description. If page >=2 delete description under page title. Product tags – optimize for SEO. Change url adress. Now we have - https://page.com/search?tag=[name] but we need https://page.com/tag/[name] Category for tags – if it possible we need to group tags in category so correct URL will be https://page.com/tag-category/tag/[name] | Its optional but nice to have Meta title for tags: Tag name | Shop name. Meta description for tags Description: possible to add description under title like in page category or manufacturer H1 - page title must be tag name If pagination look at task number 1 Product filters – optimize for SEO. | Optional Change url adress. Now we have - https://page.com/category/?q=Manufacturer-Name but we need https://page.com/category/Manufacturer-Name Meta title for filters with category - Category + Manufacturer name | Shop name Place to add Meta description for combination category + Manufacturer Change title - h1 must be Category name + Manufacturer name Place to add description for this combination: Category + Manufacturer filter If pagination look at task number 1 Contact via: Email:[email protected] or Priv message Best regards, Krzysztof
-
- support
- development
-
(and 2 more)
Tagged with:
-
Hej, szukam osoby do stałej współpracy przy dedykowanych rozwiązaniach pod Prestashop 1.7 Zadania głównie związane z modyfikacjami pod SEO. Jeżeli chodzi o formę rozliczenia jestem elastyczny - FV/Umowa zlecenie/Umowa dzieło lub inna preferowana Proszę o kontakt tylko osoby z dużym doświadczeniem ponieważ to nie są proste zadania 😎 Pozdrawiam i czekam na kontakt, Krzysztof tel: 732 718 992 mail: [email protected]
-
- prestashop 1.7
- development
-
(and 1 more)
Tagged with:
-
User interfaces for mobile applications should stand out and be strikingly interesting. App interfaces also need to be simple or else users would not want to connect to your application. To leave a lasting impression on the mind of your users, mobile apps need to be visually appealing and stay updated with the changing design trends. Overlapping effects and gradient backgrounds are the two new design trends set forth by mobile app development developers as they spark up the entire visual aesthetic of an app and revitalize the overall look and feel of the user interface.
-
Hello, all I have a big problem with orders this month, falling sales more than 4 times, compared to the previous month or on average. I would like to hear the answer, why and how to improve the situation? Last year, in May this was not. I also have a delay in payments since May 4, money has not yet arrived. With such sales, it is impossible to work further on PrestaShop Addons or with PrestaShop.
-
Hi there, I have several problems that need to be solved. Currently using Prestashop 1.6.1.7. - Looking for a CDN working well with Prestashop. Any suggestions? - Need module to compress images of my webshop. Any suggestions? - Need someone to uninstall deactivated/unnecessary modules. Anyone?
-
- development
- add ons
-
(and 6 more)
Tagged with:
-
I would like to create a shop where I have different retailers adding their items to the shop. A retailer should only be able to view the products he added and the orders made for his/her product on the back end. Is it possible to achieve this kind of setup with Prestashop?
-
Hello everyone, I'm new with prestashop and I'm trying to create a new module following the developers tutorial http://doc.prestashop.com/display/PS17/Creating+a+PrestaShop+1.7+Module practically the same as the prestashop 1.6 tutorial. All is fine until this section http://doc.prestashop.com/display/PS17/Displaying+content+on+the+front+office#Displayingcontentonthefrontoffice-Embeddingatemplateinthetheme where I can't make the "click me" link work. I know there are more topics with similar questions but still doesn't works. Front office view and css works rigth but the link doesn't. - This is my file structure - Function hookDisplayLeftColumn in the main php file mimodulo.php public function hookDisplayLeftColumn($params) { $this->context->smarty->assign( array( 'my_module_name' => Configuration::get('MYMODULE_NAME'), 'my_module_link' => $this->context->link->getModuleLink('mimodulo', 'display') ) ); return $this->display(__FILE__, 'mimodulo.tpl'); } - display.php <?php class mymoduledisplayModuleFrontController extends ModuleFrontController { public function initContent() { parent::initContent(); $this->setTemplate('module:mimodulo/views/templates/front/display.tpl'); } } - mimodulo.tpl <div id="mymodule_block_home" class="block"> <h4>Welcome!</h4> <div class="block_content"> <p>Hello, {if isset($my_module_name) && $my_module_name} {$my_module_name} {else} World {/if} ! </p> <ul> <li><a href="{$my_module_link}" title="Click this link">Click me!</a></li> </ul> </div> </div> - display.tpl only contains a h4 tag somebody could help me to see what I'm doing wrong? Thanks
- 2 replies
-
- module
- development
-
(and 2 more)
Tagged with:
-
favorite I tried to create override for classOrderCore, located in /classes/order/Order.php. The result I put in /override/classes/order/Order.php with following content: class Order extends OrderCore { /** * Generates reference number. * * Overriten to have reference numbers numeric only. */ public static function generateReference() { return strtoupper(Tools::passwdGen(9, 'NUMERIC')); } } After doing this nothing happened. Additionally I tried following (with the same unsuccesful result): Delete cache using backoffice Delete manually cache/cache_index.php Disable overrides, delete cache in the BO and cache/cache_index.php and enable overrides afterwards Can you tell me, where could be the catch? I'm using Prestashop v. 1.6.1.18. Thanks
- 1 reply
-
- override
- prestashop-1.6
-
(and 2 more)
Tagged with:
-
Hello, I'm overriding one module but smarty is not receiving the variables sent from renderWidget of the parent class, this code shows an example on one the Ps_Languageselector module: path: override\modules\ps_languageselector\ps_languageselector.php <?php use PrestaShop\PrestaShop\Core\Module\WidgetInterface; class Ps_LanguageselectorOverride extends Ps_Languageselector implements WidgetInterface { // is this necessary? public function install() { // testing a module override on 'custom?' hook: return (parent::install() && $this->registerHook('displayFooterAfter')); } public function hookDisplayFooterAfter($params) { // return parent::renderWidget(); return $this->display(__FILE__, 'ps_languageselector.tpl'); } } And this is my module.tpl: path: themes\mytheme\modules\ps_languageselector\ps_languageselector.tpl {* variable not passed is $languages *} <div id="mod-ps-languageselector"> <h4>{l s='Language:' d='Shop.Theme.Global'}</h4> {if isset($languages)} {foreach from=$languages item=language} {assign isActive $language.id_lang == $current_language.id_lang} <a href="{url entity='language' id=$language.id_lang}"> <img src="/img/l/{$language.id_lang}.jpg" class="{if isActive}active{/if}" alt="{$language.iso_code}" /> </a> {/foreach} {/if} </div> help will be appreciate, I'll be posting any solution found. If helps this is the parent class: https://github.com/PrestaShop/ps_languageselector/blob/1fa02ff042034e1322b3eef2e923eaea8c58f3d6/ps_languageselector.php
- 4 replies
-
- development
- smarty
-
(and 4 more)
Tagged with:
-
Hi everyone, is there a way to turn off debug-mode programmatically? Just temporary. The debug mode helps a lot and I like to use it in my development, but in a most recent case it drives me realy crazy. I just want to (and I have to) handle an easy try catch scenario, wich cannot work due to exceptionHandler of Prestashop (at least in debug mode). Each throw gets caught by the exceptionHandler but not by MY catch block. I think the debug mode cause this behavior. I need to work with Transaction/Commit/Rollback and therefor I need my own exception handling in this case. I don't wand to disable the debug mode by hand. May be there is a way to set the exceptionHandler to NULL, just for the special run, or may be there is another alternative. Any suggestions? Some further information about my situation: I am devolping a module for Prestashop 1.7 and currently stucking in an AdminController Class.
-
- debug-mode
- programmatically
- (and 7 more)