PrestaShop

How to move a PrestaShop 1.6 from one domain to another (resolving redirect problems)

There are several descriptions online on how to do this but in one occasion, even though I followed the instructions carefully it kept redirecting me to the old domain name. In my particular case the culprit was that the site used file system cache which was active before the move.

The following procedure fixed my problem. The base of the instructions come from the PrestaShop site with my additions below.

  1. Put the site in Maintenance mode.
  2. Copy all files from the old site (domain) to the new using for example a FTP program.
  3. Dump the old site database to a file and import the database on the new server.
  4. Edit config/settings.inc.php and update the values for _DB_SERVER, _DB_NAME, _DB_USER, _DB_PASSWD and you might need to adjust _PS_DIRECTORY value.
  5. Using phpMyAdmin, go to the table ps_store_url and update the record regarding domain name and physical uri.
  6. Using phpMyAdmin, go to the table ps_configuration and find the records for column name with the records for PS_SHOP_DOMAIN, PS_SHOP_DOMAIN_SSL and __PS_BASE_URI__ and update the values corresponding to the new domain name and base uri.
  7. Using FTP (or other preferred method) clear all content except index.php of the ‘/cache/smarty/compile’ and ‘/cache/smarty/cache’ directories.
  8. Using FTP (or other preferred method) clear all content of the ‘/cache/cachefs’ directory.
  9. Log in to the backend and disable Maintenance mode.

How to convert a certificate PFX file to CRT/KEY using openssl

Your PFX certificate file is protected with a password. It can be converted to CRT and KEY files using SSL:

openssl pkcs12 -in certfile.pfx -nocerts -out keyfile-encrypted.key

When you enter this command you will be asked to type in the pfx file password in order to extract the key. You will be asked to enter a passphrase for the encrypted key. The key will be stored in keyfile-encrypted.key.

The exported keyfile is encrypted but you might need it in unencrypted format. To unencrypt the key, do:

openssl rsa -in keyfile-encrypted.key -out keyfile.key

You will be asked for the passphrase that you entered in the previous step. The unencrypted key will be stored in keyfile.key.

Then it is time to extract the certificate:

openssl pkcs12 -in certfile.pfx -clcerts -nokeys -out certfile.crt

Again, you will need to enter the pfx file password in order to extract the certificate. The certificate will be stored in certfile.crt.

Anchor links does not scroll to the correct position

There are several issues that can cause local anchor links to not scroll to the right position. The first thing to check is if you have an id-tag that has the same name as the anchor. In this case the browser will scroll to the id position instead. The solution is to name the anchor and id with different names.

Example:

<div name="myanchor">
<p>Some random text</p>
</div>
<a href="#myanchor">Go to some random text</a>

The above example will behave as expected.

But in this example the link will scroll to the h1 instead of the div:

<h1 id="myanchor">
<div>
<p>Some other random text</p>
</div>
<div name="myanchor">
<p>Some random text</p>
</div>
<a href="#myanchor">Go to some random text</a>

To avoid this, make sure the anchors (name) and id have different names.

There are also other sitiuations where the local anchor does not scroll correctly covered in this article.

Gogodigital Cookie Consent for Joomla! plugin

Gogodigital Cookie Consent plugin for Joomla! doesn’t display custom message [solution]

Using Gogodigital Cookie Consent plugin for Joomla! version 3.0.2. In the plugin configuration a custom message and submit label was entered and saved but on the frontend the popup only displays the built in message and button label.

Solution: It turns out there is a bug when the message entered has a newline (return). If you write the text in one row without any line breaks the problem will not occur.

MySQL not sorting swedish characters ÅÄÖ correct [solved]

Problem: When using ORDER BY or GROUP BY, the swedish characters Å,Ä and Ö is sorted as A and O.

Solution: add COLLATE utf8_swedish_ci to your ORDER BY or GROUP BY, for example:

SELECT field1,field2 FROM table1 ORDER BY field1 ASC

should be changed to:

SELECT field1,field2 FROM table1 ORDER BY field1 COLLATE utf8_swedish_ci ASC

RSForm! Pro and reCaptcha plugin not working [solved]

Using RSForm! Pro together with the RS!Form Pro reCaptcha plugin stopped working, the reCaptcha does not show up in the form anymore.

Inspecting the page shows errors like “Unexpected token <” on line 2 and further down complains that RSFormProReCAPTCHAv2 is not defined.

The Unexpected token error is probably caused by a line in the <head> section calling a non-existing javascript (i.e. just links to the site root), like: <script src=”/?cc86e17febb09de1768c47283dc17a9b” type=”text/javascript”></script>. This line is originating from a plugin.

It turns out this is problem occured after upgrading to RSForm! Pro 2.0.12 and using the reCaptcha plugin.

The simple solution was to download and reinstall the current “Google No Captcha ReCAPTCHA 1.52.1” from the downloads section at RSJoomla (you might need to login to get to your memberships downloads section).

Note! Just using the Joomla Extensions Update to try to update the plugin will solve the problem. You need to download the plugin and install it.

PrestaShop

Error 500 after PrestaShop upgrade from 1.5 to 1.6

Upgrading a PrestaShop 1.5 to 1.6 resulted in Error 500 when visiting the shop frontend. During the upgrade I had selected to disable all non native modules, replace theme with default theme and updating all emails.

I tried every trick in  the book, like cleaning the cache, disable all caching and compression, etc but it didn’t help.

The problem was solved like this:

  • Go to Preferences -> Themes
  • Make sure the default-bootstrap theme is selected
  • Click on the Advanced options button for the theme
  • It turned out the setting for Folder was not set to any folder (no radio button selected). Select default-bootstrap folder and Save

This solved the problem for me.

Mac OSX installing software update

Mac OSX “El Capitan” software update stuck on “11 minutes remaining”

When installing a software update for Mac OSX “El Capitan” that required a system reboot to install, it seemed stuck on the white screen displaying a text “Installing software update: About 11 minutes”.

Mac OSX installing software update

Mac OSX installing software update

The solution was quite simple – just wait. It seems the time calculation is really off. After about an hour it stepped down to 10 minutes, so it’s not stuck. It just takes a lot longer than the system calculates.

Automatic SMS / text message to email forward

Sometimes my clients send me messages as SMS or “texts” on my mobile phone. That might be relevant for an urgent matter but often is being used instead of mail. From my clients view, they just see it as another, non-intrusive, way of sending me a message instead of calling which is polite as a phone call can be more interrupting than a text message.

A problem with SMS or text messages is that when they arrive I must read it to be able to decide if it is urgent and need immediate attention or if it can be responded to later. Once read, the “new message” notification on my phone is gone and I must remember to handle it later. There is a risk that I might forget.

My clients are also the reason I’m in business so I’m not complaining about my clients contacting my in any way (well ok, I might complain if they call me at 3 in the night wanting to discuss some non critical issue 🙂 ). Instead I find solutions and make things work better.

So one way of handling the problem of forgetting matters sent to me via SMS or text was that I installed an app in my phone that automatically forwards any incoming SMS as an email to my inbox. That way I can sort it into my normal work handling queues or even my ticket system.

There are many apps available for this, some free, some paid, with different amount of features in it. Some has advanced filtering and some can forward only messages from specific senders (or vice versa, forward all messages except from specfic senders).

In my case the best solution was just a simple app that forwards all incoming SMS as email so I use Relay Me (yes, I use Android) which works for me. There are probably similar solutions on other, non Android, platforms.

The best solution is to set up a specfic email account for the app (like yourphonenumber@somedomain.com for example), not using your normal email account, because the app works both ways. If you reply to an email on your inbox that originated as a SMS via Relay Me, the reply will be picked up by the app and sent back as SMS to the sender.

For obvoius reasons the app will need data connection to the Internet to be able to send emails, so having a data plan on your mobile subscription is a good idea. The reason I liked Relay Me was, apart from other things, that it works directly with my own email servers, so there are no intermediate servers handling my messages.

How to add GDPR consent checkbox to Joomla! contact form

It is quite simple to add a GDRP consent checkbox to the Joomla! contact form by using the custom fields feature in Joomla 3.

    1. Go to Components -> Contacts
    2. Click on Fields in the left hand menu
    3. Select Mail in the drop down above the fields list
      Joomla! Contact form GDPR consent checkbox

      Joomla! Contact form GDPR consent checkbox

       

    4. Click on New to create a new field
    5. Select Type = Checkboxes, Required = Yes
      Joomla! Contact form GDPR consent checkbox

      Joomla! Contact form GDPR consent checkbox

       

    6. Click on the “+” sign at Checkbox Values and enter your consent text in the Text field, like for example “I consent to thesite.xxx collecting and storing my data from this form“ (replacing “thesite.xxx” with your site name and please note). Enter “Consent” in the Value field.
    7. Click on the Permissions tab and set Edit Custom Field value to Allowed for the user group Public.

      Joomla! Contact form GDPR consent checkbox

      Joomla! Contact form GDPR consent checkbox

    8. Click Save.
    9. Now you a required consent checkbox should appear on your contact form.