Search the Community
Showing results for tags 'Shop Save N Earn'.
-
Make Checkboxes in Prestashop Using helpers I was working on a module and I noticed that there is a barrier to doing checkboxes in Prestashop using the helpers they provide. I did however, find some help through the watermark module created by Prestashop that uses checkboxes as directed by some on the Prestashop forum see it by clicking here -> https://www.prestashop.com/forums/topic/3516[spam-filter]show-helper-form-checkbox-checked/. Now it seemed quite complex and I believe this may become over cumbersome for those who do not develop regularly. so I decided to create this tutorial to help others in their developing endeavors. ***This tutorial assumes you already know how to create a form using the helpers and can add all the required information to build around the input array you see below. You can start by adding the check box input array below array( 'type' => 'checkbox', 'label' => $this->l('Options'), 'desc' => $this->l('Choose options to use during regeneration or generation of product references. The module processes like this-> (Reference will equal or be generated to be as follows with | separating each section of the custom inputs and the product based information.) Reference -> customidentifier|customsymbolpos1|(random number from 1-999)|customsymbolpos2|itemid|itemcategoryid|customsymbolpos3|itemsupplierid|customsymbolpos4|current reference only **NOT Supplier reference <---. Please leave custom fields blank if you want to not provide any custom identifiers or characters.'), 'name' => 'options', 'values' => array( 'query' => $this->getOptions(), 'id' => 'id_checkbox_options', 'name' => 'checkbox_options_name', 'expand' => array( 'print_total' => count($this->getOptions()), 'default' => 'show', 'show' => array('text' => $this->l('show'), 'icon' => 'plus-sign-alt'), 'hide' => array('text' => $this->l('hide'), 'icon' => 'minus-sign-alt') ), ), ), After that we need to create the query for the checkboxes available. public function getOptions() { $options = array ( array ( 'id_checkbox_options' => 0, 'checkbox_options_name' => 'Option 0'), array ( 'id_checkbox_options' => 1, 'checkbox_options_name' => 'Option 1'), array ( 'checkbox_options_options' => 2, 'checkbox_options_name' => 'Option 2'), array ( 'checkbox_options_options' => 3, 'checkbox_options_name' => 'Option 3'), array ( 'id_checkbox_options' => 4, 'checkbox_options_name' => 'option 4') ); return $options; } Now we get and save the information from checkboxes after posting or saving the form. private function _postProcess() { $output = ''; if (Tools::isSubmit('submitBtn')) { Configuration::updateValue('checkbox_text_demo', Tools::getValue('checkbox_text_demo')); $all_opts = $this->getOptions(); $checkbox_options = array(); foreach ($all_opts as $chbx_options) if (Tools::getValue('options_'.(int)$chbx_options['id_checkbox_options'])) $checkbox_options[] = $chbx_options['id_checkbox_options']; Configuration::updateValue('options', implode(',', $checkbox_options)); $output .= $this->displayConfirmation($this->l('Settings updated')); } } Lastly, we load the submitted information into checkboxes as we load the form along with other field variables. protected function getConfigFormValues() { $config_fields = array ( 'checkbox_text_demo' => Configuration::get('checkbox_text_demo'), // if you have other fields to fill this would fill text input field. ); //get all checkbox stuff all available $opts = $this->getOptions(); $id_checkbox_options = array(); foreach ($opts as $options) $id_checkbox_options[] = $options['id_checkbox_options']; //get checkbox stuff from $_POST $id_checkbox_options_post = array(); foreach ($id_checkbox_options as $opt_id) if (Tools::getValue('options_'.(int)$opt_id)) $id_checkbox_options_post['options_'.(int)$opt_id] = true; //get checkbox stuff from Configuration $id_checkbox_options_config = array(); if ($confs = Configuration::get('options')) $confs = explode(',', Configuration::get('options')); else $confs = array(); foreach ($confs as $conf) $id_checkbox_options_config['options_'.(int)$conf] = true; //return only common values and value from post if (Tools::isSubmit('submit_Btn')) $config_fields = array_merge($config_fields, array_intersect($id_checkbox_options_post, $id_checkbox_options_config)); else $config_fields = array_merge($config_fields, $id_checkbox_options_config); return $config_fields; } That's it!
- 6 replies
-
- 3
-
- ecommerce
- ecommerce tutorial
- (and 6 more)
-
Boost your Prestashop website speed to extreme speeds... See how! author: William Williamson Date: 12/09/2015 A few months ago we realized that our site was extremely slow and the website speed was affecting our ability to sell products, provide a great user experience, and effectively convert sales. Admittedly, the speed has only a partial affect on these aspects of ecommerce and a stores ability to sell products, provide a great user experience, and effectively convert sales; however the speed does matter as many websites like kinsta.com - A Beginner’s Guide to Website Speed Optimization, marketingland.com - Page Speed Matters! Why You Need to Improve Yours Today, linkedin.com - The Importance of Website Loading Speed & Top 3 Factors That Limit Website Speed, and many others like them. After reading many, many articles about speed and using two speed test tools the Google Page Speed Insight and GTmetrix, which did give many insights into my issues in which ranged from images to minifying css and js files to load times. Both testers checked for many aspects in which gave specific information related to the loading of the page. GTmetrix was a bit more in-depth than google, but google gave other insight in which was a great asset to the testing process. You can see by the images above and below this paragraph that the reduction was real and as you can see the decrease was steady as improvements were made. However, at some point we hit a dead-end in which I assume many of you do as well. Read below to find out more about how we significantly increased our website speed to sell more products/get more conversions, boost performance and user experience. I bet you really want to know how all of a sudden we had a huge drop in loading time, requests, and page speed... Well, I will tell you... First we searched for hours trying to find out why we were at this dead-end in which our page speed was stuck at or around 8 seconds as the images above also show. After many tedious hours of reading we began to notice that we were loading many things and had many modules installed and some were not even used, but rather disabled, yet still requesting data was ready to show, but still not showing... So very needless in deed and now we are getting to the juicy stuff. So as we have our eureka moment, we begin to run through and uninstall most all disabled modules and we began to get better and even better speeds, but still was not fast enough at maybe 5 to 6 seconds loading time. So we set out to see where else we could shave off more things we did not need. And then we noticed that we had both statistics in Prestashop activated and tracking everything possible in which we had all statistics enabled and also used the handy Google Analytics modules. Now, this is were the magic happened in which we disabled all statistics except some small tracking modules like best category dashboard statistics and removed much of the larger labor intensive statistics modules. We decided to do this because the Google Analytics is more efficient, less server intensive, and flat out a better analytics tool... No offense Prestashop because your modules and ecommerce cart is very well built and maintained. After Making the change we noticed the resulting speeds of around 1 second loading times in which for us was an extremely significant change in which was extremely beneficial to our store and as we are moving into our first week we are seeing very significant progress such as traffic, lower bounce rates, and drop-offs, and a better experience overall. To recap and sum up the article: You can speed up your Prestashop Ecommerce website simply by removing unused modules, many statistics modules and use tools like Google Analytics to perform statistical analysts on your website as it is extremely faster and more efficient. We experienced a 90% decrease in the loading times within the time-frame of this article and its images, but it may differ with each website and the requirements of the website. Hope this helps.
- 14 replies
-
- 2
-
- prestashop performance
- Shop Save N Earn
- (and 8 more)
-
Shop Save N Earn is having a new contest in which you the customers have a chance to design the stores theme and win $100 and a dedicated page to your designs in our stores website. It's truly the best prize ever! The store will be based off of Prestashop 1.6 and the winners will be announced no later than; May 22, 2014. All entries must be submitted to [email protected] by May 21, 2014 12:00 am EST Rules There must be no inappropriate content as we are a family oriented establishment There must be no types of malicious code or vulnerable coding and must meet Prestashop standards found at doc.prestashop.com Default bootstrap should be the base to the theme to ensure compatibility found by downloading Prestashop from prestashop.com There must be no errors or misalignment, nor shall there be poor quality images and organization All themes submitted are property of Shop Save N Earn and by emailing your theme to [email protected] you are acknowledging that you accept these terms. All submissions that violate any rule will be disqualified! Shop Save N Earn http:www.shopsavenearn.com
-
PrestaShop 1.5.2 Tutorial: Call for Price Modifications A gift to PrestaShop user from Shop Save N Earn 12/15/2012 Shop Save N Earn William R. Williamson PrestaShop 1.5.2 Tutorial: Call for Price Modifications Hi everyone it's me again, William Williamsons at Shop Save N Earn; with another great tutorial for PrestaShop in which many of my fellow PrestaShop users can definitely use. Firstly I want to say that if anyone knows how I would be able to turn this into a module to release for free as a community project please do at [email protected]. I personally, believe this is a necessity for all shops as many suppliers invoke restrictions that you must follow, which happen to be the most largest suppliers or manufacturers. Summary Okay to summarize this tutorial we will edit three files in two different directories product_list.tpl, product.tpl, and products-comparision.tpl in themes/default/ directory of their store and one file in the modules/homefeatured/homefeatured.tpl file. The edits are small and simple so it should be an easy job. A. Find in themes/default/ Find and open the file product_list.tpl ------------------------------------------------------------------------------------------------------- Find the line below ------------------------------------------------------------------------------------------------------- <div class="content_price"> ------------------------------------------------------------------------------------------------------- after this line after ------------------------------------------------------------------------------------------------------- {if $product.price < '1.00'}<span [b]class="callforprice">[/b]Call For Price!!!</span>{/if} ------------------------------------------------------------------------------------------------------- Make sure to create a class in global.css an example is below ------------------------------------------------------------------------------------------------------- .callforprice { font-family: Verdana, Geneva, sans-serif; font-size: 14px; font-style: italic; line-height: normal; font-weight: bolder; font-variant: normal; color: #F00; text-decoration: blink; } ------------------------------------------------------------------------------------------------------- Find the line below ------------------------------------------------------------------------------------------------------- {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price" style="display: inline;"> ------------------------------------------------------------------------------------------------------- replace it with the line below ------------------------------------------------------------------------------------------------------- {if isset($product.show_price) && $product.price > '1.00' && $product.show_price && !isset($restricted_country_mode)}<span class="price" style="display: inline;"> ------------------------------------------------------------------------------------------------------- Find and open the file product.tpl ------------------------------------------------------------------------------------------------------- Find the line beow ------------------------------------------------------------------------------------------------------- <div class="price"> ------------------------------------------------------------------------------------------------------- After this add the code above ------------------------------------------------------------------------------------------------------- {if $product->getPrice(true, $smarty.const.NULL, $priceDisplayPrecision) < '1.00'}<p class="callforprice">Call For Price!!!</p>{/if} {else} --------------------------------------------------------------------------------------------------------- and make sure it is inserted before the code below ------------------------------------------------------------------------------------------------------- {if !$priceDisplay || $priceDisplay == 2} {assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, $priceDisplayPrecision)} {assign var='productPriceWithoutRedution' value=$product->getPriceWithoutReduct(false, $smarty.const.NULL)} {elseif $priceDisplay == 1} {assign var='productPrice' value=$product->getPrice(false, $smarty.const.NULL, $priceDisplayPrecision)} ------------------------------------------------------------------------------------------------------- Find and open the file---products-comparison.tpl ------------------------------------------------------------------------------------------------------- Find the line below ------------------------------------------------------------------------------------------------------- <p class="price_container"> ------------------------------------------------------------------------------------------------------- After the line above add ------------------------------------------------------------------------------------------------------- {if $product->getPrice($taxes_behavior) < '1.00'}<span class="callforprice">Call For Price!!!</span> {else} ------------------------------------------------------------------------------------------------------- Make sure it is above the line below ------------------------------------------------------------------------------------------------------- <span class="price">{convertPrice price=$product->getPrice($taxes_behavior)}</span></p> ------------------------------------------------------------------------------------------------------- After the line above add the line below ------------------------------------------------------------------------------------------------------- {/if} ------------------------------------------------------------------------------------------------------- B. Find in modules/homefeatured/ Find and open the file homefeatured.tpl ------------------------------------------------------------------------------------------------------- Find the line below ------------------------------------------------------------------------------------------------------- <a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> ------------------------------------------------------------------------------------------------------- After the line above add ------------------------------------------------------------------------------------------------------- {if $product.price < '1.00'}<span class="callforprice"><br/>Call For Price!!!</span> {else} ------------------------------------------------------------------------------------------------------- But make sure it is above the line below ------------------------------------------------------------------------------------------------------- {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if} ------------------------------------------------------------------------------------------------------- After the above lines add the line below ------------------------------------------------------------------------------------------------------- {/if} ------------------------------------------------------------------------------------------------------- That's it folks, hope it has helped. Conclusion Well that concludes our tutorial, however there may be more edits that could result in the pricing showing, which must also be modified. Although, doing the modifications this way ensures it still does not show a real price just 0.00, thus saving the business owner from losing their partnership and supplier contact. I like to play it safe personally. As always please be kind, if there are any issues errors or typo's please email me the corrections in a positive manner. Also if this tutorial helps you and you use it please shoot some back links to me at http://www.shopsavenearn.com thanks. Here is a pdf version PrestaShop 1.5.2 Tutorial- Call for Price Modifications.pdf
- 18 replies
-
- Shop Save N Earn
- www.shopsavenearn.com
- (and 5 more)